30
30
31
31
Version
32
32
33
- Last Modified Date: May 1, 2015
34
- Author Revision: 3
33
+ Last Modified Date: March 26, 2025
34
+ Author Revision: 4
35
35
36
36
Number
37
37
@@ -44,9 +44,6 @@ Dependencies
44
44
This extension is written against the OpenGL ES 3.1 (June 4, 2014)
45
45
Specification.
46
46
47
- The definition of this extension is affected by the presence of
48
- GL_EXT_direct_state_access.
49
-
50
47
Overview
51
48
52
49
OpenGL ES has long supported buffer objects as a means of storing data
@@ -76,17 +73,9 @@ New Procedures and Functions
76
73
const void * data,
77
74
bitfield flags);
78
75
79
- When EXT_direct_state_access is present:
80
-
81
- void NamedBufferStorageEXT(uint buffer,
82
- sizeiptr size,
83
- const void * data,
84
- bitfield flags);
85
-
86
76
New Tokens
87
77
88
- Accepted in the <flags> parameter of BufferStorageEXT and
89
- NamedBufferStorageEXT:
78
+ Accepted in the <flags> parameter of BufferStorageEXT:
90
79
91
80
MAP_READ_BIT 0x0001 (existing)
92
81
MAP_WRITE_BIT 0x0002 (existing)
@@ -245,8 +234,8 @@ Additions to Chapter 6 of the OpenGL ES 3.1 Specification (Buffer Objects)
245
234
BUFFER_STORAGE_FLAGS_EXT | MAP_READ_BIT | | <flags>
246
235
| MAP_WRITE_BIT | |
247
236
| DYNAMIC_STORAGE_BIT_EXT |
248
- Table 6.3: Buffer object state after calling BufferData,
249
- BufferStorageEXT, or NamedBufferStorageEXT .
237
+ Table 6.3: Buffer object state after calling BufferData
238
+ or BufferStorageEXT .
250
239
251
240
A mutable data store may be allocated for a buffer object by calling
252
241
@@ -274,23 +263,6 @@ Additions to Chapter 6 of the OpenGL ES 3.1 Specification (Buffer Objects)
274
263
and the value of BUFFER_STORAGE_FLAGS_EXT for the buffer does not have
275
264
the DYNAMIC_STORAGE_BIT_EXT set.
276
265
277
- The command:
278
-
279
- void NamedBufferStorageEXT(uint buffer,
280
- sizeiptr size,
281
- const void * data,
282
- bitfield flags);
283
-
284
- behaves similarly to BufferStorageEXT, except that the buffer whose storage
285
- is to be defined is specified by <buffer> rather than by the current
286
- binding to <target>.
287
-
288
- Add the following error:
289
-
290
- An INVALID_OPERATION error is generated by NamedBufferStorageEXT if
291
- the BUFFER_IMMUTABLE_STORAGE_EXT flag of <buffer> is set to TRUE.
292
-
293
-
294
266
Modify Section 6.3, (Mapping and Unmapping Buffer Data)
295
267
296
268
Add to the bulleted list describing flags that modify buffer mappings,
@@ -372,22 +344,22 @@ Errors
372
344
INVALID_OPERATION is generated by BufferStorageEXT if zero is bound to
373
345
<target>.
374
346
375
- INVALID_OPERATION is generated by BufferStorageEXT, NamedBufferStorageEXT
347
+ INVALID_OPERATION is generated by BufferStorageEXT
376
348
and BufferData if the BUFFER_IMMUTABLE_STORAGE flag of the buffer bound to
377
349
<target> is TRUE.
378
350
379
- INVALID_VALUE is generated by BufferStorageEXT and NamedBufferStorageEXT
351
+ INVALID_VALUE is generated by BufferStorageEXT
380
352
if <size> is less than or equal to zero.
381
353
382
- INVALID_VALUE is generated by BufferStorageEXT and NamedBufferStorageEXT
354
+ INVALID_VALUE is generated by BufferStorageEXT
383
355
if <flags> has any bits set other than those defined above.
384
356
385
- INVALID_VALUE is generated by BufferStorageEXT and NamedBufferStorageEXT if
357
+ INVALID_VALUE is generated by BufferStorageEXT if
386
358
<flags> contains MAP_PERSISTENT_BIT_EXT but does not contain
387
359
at least one of MAP_READ_BIT or
388
360
MAP_WRITE_BIT.
389
361
390
- INVALID_VALUE is generated by BufferStorageEXT and NamedBufferStorageEXT if
362
+ INVALID_VALUE is generated by BufferStorageEXT if
391
363
<flags> contains MAP_COHERENT_BIT_EXT, but does not also
392
364
contain MAP_PERSISTENT_BIT_EXT.
393
365
@@ -396,7 +368,7 @@ Errors
396
368
<access>, but the same bit is not included in the buffer's storage
397
369
flags.
398
370
399
- OUT_OF_MEMORY is generated by BufferStorageEXT and NamedBufferStorageEXT if
371
+ OUT_OF_MEMORY is generated by BufferStorageEXT if
400
372
the GL is not able to allocate a data store with the properties requested
401
373
in <flags>.
402
374
@@ -408,11 +380,6 @@ Errors
408
380
MAP_PERSISTENT_BIT_EXT included in <access>.
409
381
410
382
411
- Dependencies on GL_EXT_direct_state_access
412
-
413
- If GL_EXT_direct_state_access is not supported, remove all references to
414
- NamedBufferStorageEXT.
415
-
416
383
Conformance Tests
417
384
418
385
TBD
@@ -505,6 +472,11 @@ Issues
505
472
506
473
UNRESOLVED. TBD if there is interest in a DSA extension
507
474
based on ARB_direct_state_access.
475
+
476
+ (4) There is still no EXT_direct_state_access available in ES.
477
+ Should interactions to a non-existent extension be kept?
478
+
479
+ RESOLVED: No, they should be deleted.
508
480
509
481
510
482
Revision History
@@ -521,3 +493,4 @@ Revision History
521
493
to make CPU writes visible to the GPU in
522
494
this case without an explicit flush (Bug
523
495
13578, sync w/ ARB_buffer_storage v.25).
496
+ 4 03/26/25 zmike Delete references to GL_EXT_direct_state_access.
0 commit comments