Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/angle
Path: blob/main_old/extensions/ANGLE_request_extension.txt
1693 views
1
Name
2
3
ANGLE_request_extension
4
5
Name Strings
6
7
GL_ANGLE_request_extension
8
9
Contributors
10
11
Geoff Lang
12
James Darpinian
13
14
Contact
15
16
Geoff Lang (geofflang 'at' google.com)
17
18
Notice
19
20
Copyright (c) 2016 The Khronos Group Inc. Copyright terms at
21
http://www.khronos.org/registry/speccopyright.html
22
23
Status
24
25
Draft
26
27
Version
28
29
Version 2, October 4, 2019
30
31
Number
32
33
OpenGL ES Extension #??
34
35
Dependencies
36
37
Requires OpenGL ES 2.0
38
39
Written against the OpenGL ES 3.0 specification.
40
41
Overview
42
43
This extension allows the client to query extensions that can be enabled and
44
explicitly request that an extension be enabled or disabled.
45
46
New Procedures and Functions
47
48
void RequestExtension(const char *name)
49
50
void DisableExtension(const char *name)
51
52
New Tokens
53
54
Accepted by the <name> parameter of GetString and GetStringi:
55
56
REQUESTABLE_EXTENSIONS_ANGLE 0x93A8
57
58
Accepted by the <value> parameter of the GetInteger* functions:
59
60
NUM_REQUESTABLE_EXTENSIONS_ANGLE 0x93A9
61
62
Additions to the OpenGL ES 3.0 Specification
63
64
Add the following paragraph to the end paragraph 4 of section 6.1.6, String
65
Queries:
66
67
"REQUESTABLE_EXTENSIONS_ANGLE returns a list of extensions that can be
68
enabled at runtime by calling RequestExtension."
69
70
Change the following section of paragraph 6 of section 6.1.6, String Queries:
71
72
- "name may only be EXTENSIONS, indicating that the extension name
73
- corresponding to the indexth supported extension should be returned.
74
- <index> may range from zero to the value of NUM_EXTENSIONS minus one"
75
+ "name may be EXTENSIONS or REQUESTABLE_EXTENSIONS_ANGLE, indicating that
76
+ the extension name corresponding to the indexth supported or requestable
77
+ extension should be returned. <index> may range from zero to the value of
78
+ NUM_EXTENSIONS and NUM_REQUESTABLE_EXTENSIONS_ANGLE minus one"
79
80
The commands
81
82
void RequestExtension(const char *name)
83
void DisableExtension(const char *name)
84
85
enable or disable the requestable OpenGL ES extension named <name>. If the
86
requested extension was not requestable or disablable, INVALID_OPERATION is
87
generated. Not all requestable extensions can be disabled. There is
88
currently no query for disablable extensions.
89
90
New State
91
92
Add to Table 6.30 (Implementation Dependent Version and Extension Support)
93
94
Get value Type Get Cmd Min Value Description Sec.
95
-------------------------------- ---- ----------- --------- -------------------------------- -----
96
NUM_REQUESTABLE_EXTENSIONS_ANGLE Z+ GetIntegerv - Number of individual requestable 6.1.6
97
extension names
98
99
Interactions with the OpenGL ES 2.0 specification:
100
101
Remove all references to GetStringi and NUM_REQUESTABLE_EXTENSIONS_ANGLE.
102
103
Issues
104
105
(1) How can the user determine which extensions can be enabled without
106
potentially generating errors?
107
108
This can be solved by:
109
a) Never generate an error in EnableExtensions, simply return false when
110
the extension is not recognized or cannot be enabled.
111
b) Add another query for the extensions that the context supports
112
enabling.
113
114
RESOLVED: Use (b) because it allows the context to explicity advertise
115
which extensions support enabling and doesn't generate errors in the
116
normal use case.
117
118
Revision History
119
120
Rev. Date Author Changes
121
---- ------------- --------- ----------------------------------------
122
1 Nov 28, 2016 geofflang Initial version
123
2 Oct 4, 2019 jdarpinian Add DisableExtension
124
125