-
Notifications
You must be signed in to change notification settings - Fork 107
Expand file tree
/
Copy pathGLSL_EXT_buffer_reference_uvec2.txt
More file actions
executable file
·96 lines (58 loc) · 2.37 KB
/
GLSL_EXT_buffer_reference_uvec2.txt
File metadata and controls
executable file
·96 lines (58 loc) · 2.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
Name
EXT_buffer_reference_uvec2
Name Strings
GL_EXT_buffer_reference_uvec2
Contact
John Kessenich, Google Inc. (johnkessenich 'at' google.com)
Status
Draft
Version
Last Modified Date: September 1, 2019
Revision: 1
Number
TBD
Dependencies
This extension can be applied to OpenGL GLSL versions 4.50
(#version 450) and higher.
This extension can be applied to OpenGL ES ESSL versions 3.20
(#version 320) and higher.
This extension is written against the OpenGL Shading Language
Specification, version 4.60, dated July 23, 2017.
This extension requires GL_EXT_buffer_reference.
Overview
This extension adds additional constructor support to
GL_EXT_buffer_reference to enable conversion of references to and from a
*uvec2*. That is, the 64 bits of address from the reference are constructed
to and from two 32-bit unsigned integers, represented as a vector of two
uints.
The intent is to not require 64-bit integer support to manipulate the
64-bits of address in a reference. E.g., a shader can use uaddCarry() to
add an offset to a reference address via *uvec2* objects, or compare an
address to 0, using a 'uvec2(0)' value.
New Procedures and Functions
None.
New Tokens
None.
Modifications to the OpenGL Shading Language Specification, Version 4.60
Including the following line in a shader can be used to control the
language features described in this extension:
#extension GL_EXT_buffer_reference_uvec2 : <behavior>
where <behavior> is as specified in section 3.3. If
GL_EXT_buffer_reference_uvec2 is enabled, the
GL_EXT_buffer_reference extension is also implicitly enabled.
New preprocessor #defines are added to the OpenGL Shading Language:
#define GL_EXT_buffer_reference_uvec2 1
Modify section 5.4.1 (Conversion and Scalar Constructors)
Add to the end of the section, right after the EXT_buffer_reference addition
for constructing to and from a uint64_t():
Buffer reference types can also be constructed from a *uvec2* value, and
a *uvec2* value can be constructed from a buffer reference type value.
The low-order 32 bits of the reference map to and from the 'x' component
of the *uvec2*.
Errors
None.
Issues
None.
Revision History
Revision 1
- Internal revisions.