-
Notifications
You must be signed in to change notification settings - Fork 1
/
EGL_ANGLE_feature_control.txt
172 lines (121 loc) · 5.26 KB
/
EGL_ANGLE_feature_control.txt
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
Name
EGL_ANGLE_feature_control
Name Strings
EGL_ANGLE_feature_control
Contributors
Jonah Ryan-Davis (jonahr 'at' google.com)
Contact
Jonah Ryan-Davis (jonahr 'at' google.com)
Status
Draft
Version
Version 1, May 23, 2019
Number
EGL Extension #XXX
Extension Type
EGL client extension
Dependencies
This extension is written against the wording of the EGL 1.5
Specification.
EGL_EXT_device_query affects the definition of this extension.
Overview
This extension adds two methods to query arrays holding
information about the available features for a given device.
One method is used to query the total count of available
features. Another method is used to query a string property
of an individual feature given the feature's index.
IP Status
No known claims.
New Types
None.
New Procedures and Functions
const char *eglQueryStringiANGLE(
EGLDisplay dpy,
EGLint name,
EGLint index);
EGLBoolean eglQueryDisplayAttribANGLE(
EGLDisplay dpy,
EGLint attribute,
EGLAttrib *value);
New Tokens
Accepted as a queried <name> in eglQueryStringiANGLE:
EGL_FEATURE_NAME_ANGLE 0x3460
EGL_FEATURE_CATEGORY_ANGLE 0x3461
EGL_FEATURE_DESCRIPTION_ANGLE 0x3462
EGL_FEATURE_BUG_ANGLE 0x3463
EGL_FEATURE_STATUS_ANGLE 0x3464
EGL_FEATURE_CONDITION_ANGLE 0x3468
Accepted as a queried <attribute> in eglQueryDisplayAttribANGLE
EGL_FEATURE_COUNT_ANGLE 0x3465
Accepted as an attribute name in the <attrib_list> argument of
eglGetPlatformDisplay
EGL_FEATURE_OVERRIDES_ENABLED_ANGLE 0x3466
EGL_FEATURE_OVERRIDES_DISABLED_ANGLE 0x3467
EGL_FEATURE_ALL_DISABLED_ANGLE 0x3469
New Behavior
EGLDisplay eglGetPlatformDisplay(EGLenum platform, void
*native_display, const EGLAttrib *attrib_list);
The attribute following EGL_FEATURE_OVERRIDES_ENABLED_ANGLE or
EGL_FEATURE_OVERRIDES_DISABLED_ANGLE should be of type char**,
which should contain a null-terminated array of C strings naming
the features to be enabled or disabled upon display creation.
Any features unspecified in one of these arrays will be
initialized with an internal heuristic.
The attribute following EGL_FEATURE_ALL_DISABLED_ANGLE should be
either EGL_TRUE to disable all features that are not overridden,
or EGL_FALSE to let ANGLE determine which features to enable.
Add the following to the end of section 3.3 "EGL Queries":
const char *eglQueryStringiANGLE(EGLDisplay dpy,
EGLint name, EGLint index);
eGLQueryStringiANGLE returns a pointer to a static, null-
terminated string describing some aspect of the EGL
implementation running on the specified display, from an array of
strings. name may be one of EGL_FEATURE_NAME_ANGLE,
EGL_FEATURE_CATEGORY_ANGLE, EGL_FEATURE_DESCRIPTION_ANGLE,
EGL_FEATURE_BUG_ANGLE, or EGL_FEATURE_STATUS_ANGLE. Index
must be a valid index to access into the array of strings.
The EGL_FEATURE_NAME_ANGLE array contains strings that
describe the name of each feature available in the display.
The EGL_FEATURE_CATEGORY_ANGLE array contains strings
with corresponding indices to the array of names. Each string
describes the category of the feature at the specified index.
The EGL_FEATURE_DESCRIPTION_ANGLE array contains strings
with corresponding indices to the array of names. Each string
describes the feature at the specified index.
The EGL_FEATURE_BUG_ANGLE array contains strings
with corresponding indices to the array of names. Each string
describes the bug related to the feature at the specified
index.
The EGL_FEATURE_STATUS_ANGLE array contains strings
with corresponding indices to the array of names. Each string has
the value "enabled" if the feature is currently enabled, or
"disabled" if the feature is currently disabled.
The EGL_FEATURE_CONDITION_ANGLE array contains strings that
describe to the condition that sets the corresponding value in
the EGL_FEATURE_STATUS_ANGLE array.
Errors
On failure, NULL is returned.
An EGL_BAD_DISPLAY error is generated if dpy is not a valid
display.
An EGL_BAD_PARAMETER error is generated if name is not one of the
values described above.
An EGL_BAD_PARAMETER error is generated if index is not within
the valid range of indices for the array.
Add a section "3.4 Display Attributes" after "3.3 EGL Versioning"
To query attributes of an initialized display, use:
EGLBoolean eglQueryDisplayAttribANGLE(EGLDisplay dpy,
EGLint attribute,
EGLAttrib *value);
On success, EGL_TRUE is returned.
If <attribute> is EGL_FEATURE_COUNT_ANGLE, the total count of
available features is returned in <value>.
On failure, EGL_FALSE is returned.
An EGL_BAD_DISPLAY error is generated if dpy is not a valid
display.
An EGL_BAD_ATTRIBUTE error is generated if <attribute> is not a
valid value.
Issues
None
Revision History
Version 1, May 23, 2019 (Jonah Ryan-Davis)
- Initial Draft