Initial implementation of WebGLSync

This patch adds initial support for WebGLSync.

Note:
There is no test for the isSync, deleteSync and waitSync functions in the `conformance2/sync/sync-webgl-specific.html`.
This commit is contained in:
Istvan Miklos 2019-09-16 10:21:50 +02:00
parent 9706cd497d
commit 248545ddda
11 changed files with 378 additions and 83 deletions

View file

@ -15,9 +15,6 @@ typedef unsigned long long GLuint64;
// interface WebGLSampler : WebGLObject {
// };
// interface WebGLSync : WebGLObject {
// };
// interface WebGLTransformFeedback : WebGLObject {
// };
@ -542,12 +539,12 @@ interface mixin WebGL2RenderingContextBase
any getSamplerParameter(WebGLSampler sampler, GLenum pname);*/
/* Sync objects */
/*WebGLSync? fenceSync(GLenum condition, GLbitfield flags);
WebGLSync? fenceSync(GLenum condition, GLbitfield flags);
[WebGLHandlesContextLoss] GLboolean isSync(WebGLSync? sync);
void deleteSync(WebGLSync? sync);
GLenum clientWaitSync(WebGLSync sync, GLbitfield flags, GLuint64 timeout);
void waitSync(WebGLSync sync, GLbitfield flags, GLint64 timeout);
any getSyncParameter(WebGLSync sync, GLenum pname);*/
any getSyncParameter(WebGLSync sync, GLenum pname);
/* Transform Feedback */
/*WebGLTransformFeedback? createTransformFeedback();

View file

@ -0,0 +1,11 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
//
// WebGL IDL definitions scraped from the Khronos specification:
// https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.14
//
[Pref="dom.webgl2.enabled"]
interface WebGLSync : WebGLObject {
};