• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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