Bug 1848619 [wpt PR 41441] - [@scope] Add WPT for name-defining at rules, a=testonly
[gecko.git] / dom / canvas / WebGLSync.h
blob22c77941e267228cf3cf16281096457f5efcbde7
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/. */
6 #ifndef WEBGL_SYNC_H_
7 #define WEBGL_SYNC_H_
9 #include "WebGLObjectModel.h"
11 namespace mozilla {
12 namespace webgl {
13 class AvailabilityRunnable;
14 } // namespace webgl
16 class WebGLSync final : public WebGLContextBoundObject {
17 friend class WebGL2Context;
18 friend class webgl::AvailabilityRunnable;
20 MOZ_DECLARE_REFCOUNTED_VIRTUAL_TYPENAME(WebGLSync, override)
22 const GLsync mGLName;
23 const uint64_t mFenceId;
24 bool mCanBeAvailable = false;
26 public:
27 WebGLSync(WebGLContext* webgl, GLenum condition, GLbitfield flags);
29 void MarkSignaled() const;
31 private:
32 ~WebGLSync() override;
35 } // namespace mozilla
37 #endif // WEBGL_SYNC_H_