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