xref: /aosp_15_r20/external/angle/extensions/CHROMIUM_bind_generates_resource.txt (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
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