From 6d6e472f13b37ebc579b961007563fe7b79c6cb2 Mon Sep 17 00:00:00 2001
From: Kenneth Russell WebGLTimerQueryEXT
is a WebGL resource object.
+ Each WebGLTimerQueryEXT
has an invalidated
+ flag, which is initially unset.
+ WebGLTimerQueryEXT
is valid and false otherwise. Returns false if
the query's invalidated
+ href="#webgl-timerqueryext-invalidated-flag">invalidated
flag is set or if the query was generated by a different
WebGLRenderingContext
than this one.
diff --git a/extensions/OES_vertex_array_object/extension.xml b/extensions/OES_vertex_array_object/extension.xml
index 224be15839..9bb0367683 100644
--- a/extensions/OES_vertex_array_object/extension.xml
+++ b/extensions/OES_vertex_array_object/extension.xml
@@ -15,10 +15,18 @@
WebGLVertexArrayObjectOES
is a WebGL resource object.
+ Each WebGLVertexArrayObjectOES
has an invalidated
+ flag, which is initially unset.
+ WebGLRenderingContext
than this one.
Returns false if the vertex array's - invalidated + invalidated flag is set.
diff --git a/extensions/proposals/WEBGL_debug/extension.xml b/extensions/proposals/WEBGL_debug/extension.xml index be23bc2564..b65a1eab68 100644 --- a/extensions/proposals/WEBGL_debug/extension.xml +++ b/extensions/proposals/WEBGL_debug/extension.xml @@ -55,7 +55,8 @@identifier
and name
arguments of
ObjectLabel
and GetObjectLabel
are replaced
- with a WebGLObject object
argument.
+ with a union type argument representing all possible WebGL resource
+ types.
objectLabelKHR
and getObjectLabelKHR
are
- exposed, to assign a label to a WebGLObject
and retrieve
+ exposed, to assign a label to a WebGL resource object and retrieve
it.
OpenGL manages several types of resources as part of its state. These are identified
- by integer object names and are obtained from OpenGL by various creation calls.
- In contrast WebGL represents these resources as DOM objects. Each object is derived
- from the WebGLObject interface. Currently supported resources are:
- textures, buffers (i.e., VBOs), framebuffers, renderbuffers, shaders and
- programs. The WebGLRenderingContext interface has a method to create a
- WebGLObject subclass for each type. Data from the underlying graphics library are
- stored in these objects and are fully managed by them.
- The DOM object will stay alive not only as long as the author retains an explicit reference
- to it, but also as long as it is in use by the underlying graphics library.
- When the DOM object is destroyed, it marks its resources for deletion.
- If authors wish to mark an object for deletion prior to the DOM object being destroyed,
- they may explicitly call the respective delete function. (e.g. deleteTexture)
+ by integer object names and are obtained from OpenGL by various creation calls. In
+ contrast, WebGL represents these resources as opaque, typed objects. Each resource
+ type has an associated Web IDL interface type. Currently supported resources are:
+ textures, buffers (i.e., vertex buffer objects, or VBOs), framebuffers,
+ renderbuffers, shaders and programs. The WebGLRenderingContext interface contains
+ methods to create objects of each type. Data from the underlying graphics library
+ are stored in these objects and are fully managed by them. The object will stay
+ alive not only as long as the author retains an explicit reference to it, but also as
+ long as it is in use by the underlying graphics library. When the ECMAScript object
+ is destroyed, it marks its resources for deletion. If authors wish to mark a
+ resource for deletion prior to the ECMAScript object being destroyed, they may
+ explicitly call the respective delete function: for
+ example, deleteTexture
.
- The WebGLObject
interface is the parent interface for all GL objects.
-
- Each WebGLObject
has
- an invalidated flag, which is initially unset.
-
[Exposed=(Window,Worker)] -interface WebGLObject { -};-
+ Each WebGLBuffer
has
+ an invalidated flag, which is
+ initially unset.
+
[Exposed=(Window,Worker)] -interface WebGLBuffer : WebGLObject { +interface WebGLBuffer { };@@ -1030,8 +1021,13 @@
+ Each WebGLFramebuffer
has
+ an invalidated flag, which is
+ initially unset.
+
[Exposed=(Window,Worker)] -interface WebGLFramebuffer : WebGLObject { +interface WebGLFramebuffer { };@@ -1048,8 +1044,13 @@
+ Each WebGLProgram
has
+ an invalidated flag, which is
+ initially unset.
+
[Exposed=(Window,Worker)] -interface WebGLProgram : WebGLObject { +interface WebGLProgram { };@@ -1066,8 +1067,13 @@
+ Each WebGLRenderbuffer
has
+ an invalidated flag, which
+ is initially unset.
+
[Exposed=(Window,Worker)] -interface WebGLRenderbuffer : WebGLObject { +interface WebGLRenderbuffer { };@@ -1084,8 +1090,13 @@
+ Each WebGLShader
has
+ an invalidated flag, which is
+ initially unset.
+
[Exposed=(Window,Worker)] -interface WebGLShader : WebGLObject { +interface WebGLShader { };@@ -1102,8 +1113,13 @@
+ Each WebGLTexture
has
+ an invalidated flag, which is
+ initially unset.
+
[Exposed=(Window,Worker)] -interface WebGLTexture : WebGLObject { +interface WebGLTexture { };@@ -1306,10 +1322,10 @@
WebGLObject
with
- its invalidated flag set, generate
- an INVALID_OPERATION
error and let use default return value be
- true. WebGLBuffer
, WebGLFramebuffer
, etc.) with
+ its invalidated flag set, generate an INVALID_OPERATION
error
+ and let use default return value be true. WebGLRenderingContext
than this one. WebGLRenderingContext
than this one. WebGLRenderingContext
than this one. WebGLRenderingContext
than this one. WebGLRenderingContext
than this one. WebGLRenderingContext
than this one. INVALID_OPERATION
error and returns
-1.
Once an extension is enabled, it is only disabled if the WebGL rendering context is lost (see
- below), with the exception of the "WEBGL_lose_context" extension which remains active through
- any loss of context. Any objects referenced by a disabled extension, such as the object returned
+ below), with the exception of the "WEBGL_lose_context" extension which remains active through any
+ loss of context. Any objects referenced by a disabled extension, such as the object returned
by getExtension
, are no longer associated with the WebGL rendering context. Any
- extension objects that derive from WebGLObject
have their
- invalidated flag set to true. Behavior of
- extensions' methods after context loss is defined by the steps in the
- section "The WebGL context".
+ extension objects representing graphics resources have their
+ invalidated flag set to true. Behavior of extensions' methods after context
+ loss is defined by the steps in the section "The
+ WebGL context".
There are no other mechanisms to disable an extension.
@@ -3677,8 +3693,8 @@WebGLObject
instance created by this context.
+ Each WebGLQuery
has
+ an invalidated flag, which is initially
+ unset.
+
[Exposed=(Window,Worker)] -interface WebGLQuery : WebGLObject { +interface WebGLQuery { };@@ -325,8 +330,13 @@
+ Each WebGLSampler
has
+ an invalidated flag, which is initially
+ unset.
+
[Exposed=(Window,Worker)] -interface WebGLSampler : WebGLObject { +interface WebGLSampler { };@@ -362,9 +372,12 @@
+ Each WebGLSync
has
+ an invalidated flag, which is initially
+ unset.
[Exposed=(Window,Worker)] -interface WebGLSync : WebGLObject { +interface WebGLSync { };@@ -389,8 +402,13 @@
+ Each WebGLTransformFeedback
has
+ an invalidated flag, which is initially
+ unset.
+
[Exposed=(Window,Worker)] -interface WebGLTransformFeedback : WebGLObject { +interface WebGLTransformFeedback { };@@ -415,8 +433,13 @@
+ Each WebGLVertexArrayObject
has
+ an invalidated flag, which is initially
+ unset.
+
[Exposed=(Window,Worker)] -interface WebGLVertexArrayObject : WebGLObject { +interface WebGLVertexArrayObject { };@@ -2681,7 +2704,7 @@
WebGL2RenderingContext
than this one. WebGL2RenderingContext
than this one. WebGL2RenderingContext
than this one. WebGL2RenderingContext
than this one. WebGL2RenderingContext
than this one.