3
EGL_ANGLE_feature_control
7
EGL_ANGLE_feature_control
11
Jonah Ryan-Davis (jonahr 'at' google.com)
15
Jonah Ryan-Davis (jonahr 'at' google.com)
23
Version 1, May 23, 2019
35
This extension is written against the wording of the EGL 1.5
38
EGL_EXT_device_query affects the definition of this extension.
42
This extension adds two methods to query arrays holding
43
information about the available features for a given device.
44
One method is used to query the total count of available
45
features. Another method is used to query a string property
46
of an individual feature given the feature's index.
56
New Procedures and Functions
58
const char *eglQueryStringiANGLE(
63
EGLBoolean eglQueryDisplayAttribANGLE(
70
Accepted as a queried <name> in eglQueryStringiANGLE:
72
EGL_FEATURE_NAME_ANGLE 0x3460
73
EGL_FEATURE_CATEGORY_ANGLE 0x3461
74
EGL_FEATURE_DESCRIPTION_ANGLE 0x3462
75
EGL_FEATURE_BUG_ANGLE 0x3463
76
EGL_FEATURE_STATUS_ANGLE 0x3464
77
EGL_FEATURE_CONDITION_ANGLE 0x3468
79
Accepted as a queried <attribute> in eglQueryDisplayAttribANGLE
81
EGL_FEATURE_COUNT_ANGLE 0x3465
83
Accepted as an attribute name in the <attrib_list> argument of
86
EGL_FEATURE_OVERRIDES_ENABLED_ANGLE 0x3466
87
EGL_FEATURE_OVERRIDES_DISABLED_ANGLE 0x3467
88
EGL_FEATURE_ALL_DISABLED_ANGLE 0x3469
92
EGLDisplay eglGetPlatformDisplay(EGLenum platform, void
93
*native_display, const EGLAttrib *attrib_list);
95
The attribute following EGL_FEATURE_OVERRIDES_ENABLED_ANGLE or
96
EGL_FEATURE_OVERRIDES_DISABLED_ANGLE should be of type char**,
97
which should contain a null-terminated array of C strings naming
98
the features to be enabled or disabled upon display creation.
99
Any features unspecified in one of these arrays will be
100
initialized with an internal heuristic.
101
The attribute following EGL_FEATURE_ALL_DISABLED_ANGLE should be
102
either EGL_TRUE to disable all features that are not overridden,
103
or EGL_FALSE to let ANGLE determine which features to enable.
105
Add the following to the end of section 3.3 "EGL Queries":
107
const char *eglQueryStringiANGLE(EGLDisplay dpy,
108
EGLint name, EGLint index);
110
eGLQueryStringiANGLE returns a pointer to a static, null-
111
terminated string describing some aspect of the EGL
112
implementation running on the specified display, from an array of
113
strings. name may be one of EGL_FEATURE_NAME_ANGLE,
114
EGL_FEATURE_CATEGORY_ANGLE, EGL_FEATURE_DESCRIPTION_ANGLE,
115
EGL_FEATURE_BUG_ANGLE, or EGL_FEATURE_STATUS_ANGLE. Index
116
must be a valid index to access into the array of strings.
117
The EGL_FEATURE_NAME_ANGLE array contains strings that
118
describe the name of each feature available in the display.
119
The EGL_FEATURE_CATEGORY_ANGLE array contains strings
120
with corresponding indices to the array of names. Each string
121
describes the category of the feature at the specified index.
122
The EGL_FEATURE_DESCRIPTION_ANGLE array contains strings
123
with corresponding indices to the array of names. Each string
124
describes the feature at the specified index.
125
The EGL_FEATURE_BUG_ANGLE array contains strings
126
with corresponding indices to the array of names. Each string
127
describes the bug related to the feature at the specified
129
The EGL_FEATURE_STATUS_ANGLE array contains strings
130
with corresponding indices to the array of names. Each string has
131
the value "enabled" if the feature is currently enabled, or
132
"disabled" if the feature is currently disabled.
133
The EGL_FEATURE_CONDITION_ANGLE array contains strings that
134
describe to the condition that sets the corresponding value in
135
the EGL_FEATURE_STATUS_ANGLE array.
139
On failure, NULL is returned.
140
An EGL_BAD_DISPLAY error is generated if dpy is not a valid
142
An EGL_BAD_PARAMETER error is generated if name is not one of the
143
values described above.
144
An EGL_BAD_PARAMETER error is generated if index is not within
145
the valid range of indices for the array.
147
Add a section "3.4 Display Attributes" after "3.3 EGL Versioning"
149
To query attributes of an initialized display, use:
151
EGLBoolean eglQueryDisplayAttribANGLE(EGLDisplay dpy,
155
On success, EGL_TRUE is returned.
156
If <attribute> is EGL_FEATURE_COUNT_ANGLE, the total count of
157
available features is returned in <value>.
159
On failure, EGL_FALSE is returned.
160
An EGL_BAD_DISPLAY error is generated if dpy is not a valid
162
An EGL_BAD_ATTRIBUTE error is generated if <attribute> is not a
171
Version 1, May 23, 2019 (Jonah Ryan-Davis)