1Name 2 3 CHROMIUM_bind_generates_resource 4 5Name Strings 6 7 GL_CHROMIUM_bind_generates_resource 8 9Contributors 10 11 Geoff Lang 12 13Contact 14 15 Geoff Lang (geofflang 'at' google.com) 16 17Notice 18 19 Copyright (c) 2016 The Khronos Group Inc. Copyright terms at 20 http://www.khronos.org/registry/speccopyright.html 21 22Status 23 24 Draft 25 26Version 27 28 Version 1, September 19, 2016 29 30Number 31 32 OpenGL ES Extension #?? 33 34Dependencies 35 36 Requires OpenGL ES 2.0 37 38 Written against the OpenGL ES 2.0 specification. 39 40Overview 41 42 This extension allows the user to control the behaviour when binding an 43 object that has not been generated. This functionality is useful to 44 notify the user of potential use-after-free errors or support other APIs 45 such as WebGL on top of an OpenGL ES context. 46 47New Procedures and Functions 48 49 None 50 51New Tokens 52 53 Accepted by the <cap> parameter to IsEnabled and the <pname> parameter to 54 GetBooleanv, GetIntegerv, GetFloatv, and GetInteger64v: 55 56 BIND_GENERATES_RESOURCE_CHROMIUM 0x9244 57 58Additions to the OpenGL ES Specification 59 60 Add to the end of Section 2.9 "Buffer Objects": 61 62 If BIND_GENERATES_RESOURCE_CHROMIUM is false, BindBuffer fails and an 63 INVALID_OPERATION error is generated if buffer is not zero or a name 64 returned from a previous call to GenBuffers, or if such a name has since 65 been deleted with DeleteBuffers. 66 67 Add to the end of Section 3.7.13 "Texture Objects": 68 69 If BIND_GENERATES_RESOURCE_CHROMIUM is false, BindTexture fails and an 70 INVALID_OPERATION error is generated if texture is not zero or a name 71 returned from a previous call to GenTextures, or if such a name has since 72 been deleted with DeleteTextures. 73 74 Add to the end of Section 4.4.1 "Binding and Managing Framebuffer Objects": 75 76 If BIND_GENERATES_RESOURCE_CHROMIUM is false, BindFramebuffer fails and an 77 INVALID_OPERATION error is generated if framebuffer is not zero or a name 78 returned from a previous call to GenFramebuffers, or if such a name has 79 since been deleted with DeleteFramebuffers. 80 81 Add to the end of Section 4.4.3 "Renderbuffer Objects": 82 83 If BIND_GENERATES_RESOURCE_CHROMIUM is false, BindRenderbuffer fails and an 84 INVALID_OPERATION error is generated if renderbuffer is not zero or a name 85 returned from a previous call to GenRenderbuffers, or if such a name has 86 since been deleted with DeleteRenderbuffers. 87 88New State 89 90 Modify Table 6.22, Miscellaneous 91 92 Add: 93 94 Initial 95 Get Value Type Get Command Value Description 96 ----------------------- ---- ----------- ------- -------------- 97 BIND_GENERATES_RESOURCE_CHROMIUM B IsEnabled TRUE Bind generates 98 new resources 99 100Conformance Tests 101 102 TBD 103 104Issues 105 106 (1) Should the BIND_GENERATES_RESOURCE_CHROMIUM state be enabled at context 107 creation time or dynamically through the Enable and Disable functions? 108 109 RESOLOVED: BIND_GENERATES_RESOURCE_CHROMIUM is initialized by a context 110 creation attribute and cannot be modified. One of the major use cases of 111 this extension is to back WebGL contexts and the end user should not be 112 allowed to modify this state. 113 114Revision History 115 116 Rev. Date Author Changes 117 ---- ------------- --------- ---------------------------------------- 118 1 Sept 19, 2016 geofflang Initial version 119