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 parameter to IsEnabled and the 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