| Name |
| |
| CHROMIUM_bind_generates_resource |
| |
| Name Strings |
| |
| GL_CHROMIUM_bind_generates_resource |
| |
| Contributors |
| |
| Geoff Lang |
| |
| Contact |
| |
| Geoff Lang (geofflang 'at' google.com) |
| |
| Notice |
| |
| Copyright (c) 2016 The Khronos Group Inc. Copyright terms at |
| http://www.khronos.org/registry/speccopyright.html |
| |
| Status |
| |
| Draft |
| |
| Version |
| |
| Version 1, September 19, 2016 |
| |
| Number |
| |
| OpenGL ES Extension #?? |
| |
| Dependencies |
| |
| Requires OpenGL ES 2.0 |
| |
| Written against the OpenGL ES 2.0 specification. |
| |
| Overview |
| |
| This extension allows the user to control the behaviour when binding an |
| object that has not been generated. This functionality is useful to |
| notify the user of potential use-after-free errors or support other APIs |
| such as WebGL on top of an OpenGL ES context. |
| |
| New Procedures and Functions |
| |
| None |
| |
| New Tokens |
| |
| Accepted by the <cap> parameter to IsEnabled and the <pname> parameter to |
| GetBooleanv, GetIntegerv, GetFloatv, and GetInteger64v: |
| |
| BIND_GENERATES_RESOURCE_CHROMIUM 0x9244 |
| |
| Additions to the OpenGL ES Specification |
| |
| Add to the end of Section 2.9 "Buffer Objects": |
| |
| If BIND_GENERATES_RESOURCE_CHROMIUM is false, BindBuffer fails and an |
| INVALID_OPERATION error is generated if buffer is not zero or a name |
| returned from a previous call to GenBuffers, or if such a name has since |
| been deleted with DeleteBuffers. |
| |
| Add to the end of Section 3.7.13 "Texture Objects": |
| |
| If BIND_GENERATES_RESOURCE_CHROMIUM is false, BindTexture fails and an |
| INVALID_OPERATION error is generated if texture is not zero or a name |
| returned from a previous call to GenTextures, or if such a name has since |
| been deleted with DeleteTextures. |
| |
| Add to the end of Section 4.4.1 "Binding and Managing Framebuffer Objects": |
| |
| If BIND_GENERATES_RESOURCE_CHROMIUM is false, BindFramebuffer fails and an |
| INVALID_OPERATION error is generated if framebuffer is not zero or a name |
| returned from a previous call to GenFramebuffers, or if such a name has |
| since been deleted with DeleteFramebuffers. |
| |
| Add to the end of Section 4.4.3 "Renderbuffer Objects": |
| |
| If BIND_GENERATES_RESOURCE_CHROMIUM is false, BindRenderbuffer fails and an |
| INVALID_OPERATION error is generated if renderbuffer is not zero or a name |
| returned from a previous call to GenRenderbuffers, or if such a name has |
| since been deleted with DeleteRenderbuffers. |
| |
| New State |
| |
| Modify Table 6.22, Miscellaneous |
| |
| Add: |
| |
| Initial |
| Get Value Type Get Command Value Description |
| ----------------------- ---- ----------- ------- -------------- |
| BIND_GENERATES_RESOURCE_CHROMIUM B IsEnabled TRUE Bind generates |
| new resources |
| |
| Conformance Tests |
| |
| TBD |
| |
| Issues |
| |
| (1) Should the BIND_GENERATES_RESOURCE_CHROMIUM state be enabled at context |
| creation time or dynamically through the Enable and Disable functions? |
| |
| RESOLOVED: BIND_GENERATES_RESOURCE_CHROMIUM is initialized by a context |
| creation attribute and cannot be modified. One of the major use cases of |
| this extension is to back WebGL contexts and the end user should not be |
| allowed to modify this state. |
| |
| Revision History |
| |
| Rev. Date Author Changes |
| ---- ------------- --------- ---------------------------------------- |
| 1 Sept 19, 2016 geofflang Initial version |