xref: /aosp_15_r20/external/angle/extensions/ANGLE_client_arrays.txt (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard WorkerName
2*8975f5c5SAndroid Build Coastguard Worker
3*8975f5c5SAndroid Build Coastguard Worker    ANGLE_client_arrays
4*8975f5c5SAndroid Build Coastguard Worker
5*8975f5c5SAndroid Build Coastguard WorkerName Strings
6*8975f5c5SAndroid Build Coastguard Worker
7*8975f5c5SAndroid Build Coastguard Worker    GL_ANGLE_client_arrays
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, February 13, 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 OpenGL context to indicate if it supports drawing
43*8975f5c5SAndroid Build Coastguard Worker    with client-side vertex or index data.  Client-side can be very inefficient
44*8975f5c5SAndroid Build Coastguard Worker    and unsafe, it is convenient for some users to completely disable its usage.
45*8975f5c5SAndroid Build Coastguard Worker
46*8975f5c5SAndroid Build Coastguard WorkerNew Procedures and Functions
47*8975f5c5SAndroid Build Coastguard Worker
48*8975f5c5SAndroid Build Coastguard Worker    None
49*8975f5c5SAndroid Build Coastguard Worker
50*8975f5c5SAndroid Build Coastguard WorkerNew Tokens
51*8975f5c5SAndroid Build Coastguard Worker
52*8975f5c5SAndroid Build Coastguard Worker    Accepted by the <cap> parameter to IsEnabled and the <pname> parameter to
53*8975f5c5SAndroid Build Coastguard Worker    GetBooleanv, GetIntegerv, GetFloatv, and GetInteger64v:
54*8975f5c5SAndroid Build Coastguard Worker
55*8975f5c5SAndroid Build Coastguard Worker    CLIENT_ARRAYS_ANGLE                 0x93AA
56*8975f5c5SAndroid Build Coastguard Worker
57*8975f5c5SAndroid Build Coastguard WorkerAdditions to the OpenGL ES Specification
58*8975f5c5SAndroid Build Coastguard Worker
59*8975f5c5SAndroid Build Coastguard Worker    Add after paragraph 3 of section 2.8 "Vertex Arrays":
60*8975f5c5SAndroid Build Coastguard Worker
61*8975f5c5SAndroid Build Coastguard Worker    If VertexAttribPointer is called while zero is bound to the ARRAY_BUFFER
62*8975f5c5SAndroid Build Coastguard Worker    buffer object binding point, the pointer argument is not NULL, and
63*8975f5c5SAndroid Build Coastguard Worker    CLIENT_ARRAYS_ANGLE is TRUE, an INVALID_OPERATION error is generated.
64*8975f5c5SAndroid Build Coastguard Worker
65*8975f5c5SAndroid Build Coastguard Worker    Add to the end of section 2.9.1 "Vertex Arrays in Buffer Objects":
66*8975f5c5SAndroid Build Coastguard Worker
67*8975f5c5SAndroid Build Coastguard Worker    Rendering commands that draw more than 0 primitives using enabled vertex
68*8975f5c5SAndroid Build Coastguard Worker    attributes with no buffer bound when CLIENT_ARRAYS_ANGLE is TRUE generate
69*8975f5c5SAndroid Build Coastguard Worker    an INVALID_OPERATION error.
70*8975f5c5SAndroid Build Coastguard Worker
71*8975f5c5SAndroid Build Coastguard Worker    Add to the end of section 2.9.2 "Array Indices in Buffer Objects":
72*8975f5c5SAndroid Build Coastguard Worker
73*8975f5c5SAndroid Build Coastguard Worker    Rendering commands that draw using index data when no buffer is bound to
74*8975f5c5SAndroid Build Coastguard Worker    the ELEMENT_ARRAY_BUFFER binding point when CLIENT_ARRAYS_ANGLE is TRUE
75*8975f5c5SAndroid Build Coastguard Worker    generate an INVALID_OPERATION error.
76*8975f5c5SAndroid Build Coastguard Worker
77*8975f5c5SAndroid Build Coastguard WorkerNew State
78*8975f5c5SAndroid Build Coastguard Worker
79*8975f5c5SAndroid Build Coastguard Worker    Modify Table 6.22, Miscellaneous
80*8975f5c5SAndroid Build Coastguard Worker
81*8975f5c5SAndroid Build Coastguard Worker    Add:
82*8975f5c5SAndroid Build Coastguard Worker
83*8975f5c5SAndroid Build Coastguard Worker                                          Initial
84*8975f5c5SAndroid Build Coastguard Worker    Get Value            Type Get Command Value   Description
85*8975f5c5SAndroid Build Coastguard Worker    -------------------- ---- ----------- ------- ---------------------
86*8975f5c5SAndroid Build Coastguard Worker    CLIENT_ARRAYS_ANGLE  B    IsEnabled   TRUE    Client arrays enabled
87*8975f5c5SAndroid Build Coastguard Worker
88*8975f5c5SAndroid Build Coastguard WorkerConformance Tests
89*8975f5c5SAndroid Build Coastguard Worker
90*8975f5c5SAndroid Build Coastguard Worker    TBD
91*8975f5c5SAndroid Build Coastguard Worker
92*8975f5c5SAndroid Build Coastguard WorkerIssues
93*8975f5c5SAndroid Build Coastguard Worker
94*8975f5c5SAndroid Build Coastguard Worker    None
95*8975f5c5SAndroid Build Coastguard Worker
96*8975f5c5SAndroid Build Coastguard WorkerRevision History
97*8975f5c5SAndroid Build Coastguard Worker
98*8975f5c5SAndroid Build Coastguard Worker    Rev.    Date         Author                 Changes
99*8975f5c5SAndroid Build Coastguard Worker    ----  -------------  ---------              ----------------------------------------
100*8975f5c5SAndroid Build Coastguard Worker      2   Jun 12, 2018   Brandon Jones (Intel)  Remove primitives > 0 requirement to error
101*8975f5c5SAndroid Build Coastguard Worker                                                when doing an indexed draw with no bound
102*8975f5c5SAndroid Build Coastguard Worker                                                ELEMENT_ARRAY_BUFFER
103*8975f5c5SAndroid Build Coastguard Worker      1   Feb 13, 2016   geofflang              Initial version
104