1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
9 #include "WebGLObjectModel.h"
13 class AvailabilityRunnable
;
16 class WebGLSync final
: public WebGLContextBoundObject
{
17 friend class WebGL2Context
;
18 friend class webgl::AvailabilityRunnable
;
20 MOZ_DECLARE_REFCOUNTED_VIRTUAL_TYPENAME(WebGLSync
, override
)
23 const uint64_t mFenceId
;
24 bool mCanBeAvailable
= false;
27 WebGLSync(WebGLContext
* webgl
, GLenum condition
, GLbitfield flags
);
29 void MarkSignaled() const;
32 ~WebGLSync() override
;
35 } // namespace mozilla
37 #endif // WEBGL_SYNC_H_