blob: 498acad1fdba94acb23dfa34a5de18fd4b495bcd [file] [log] [blame]
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