Path: blob/main_old/extensions/ANGLE_request_extension.txt
1693 views
Name12ANGLE_request_extension34Name Strings56GL_ANGLE_request_extension78Contributors910Geoff Lang11James Darpinian1213Contact1415Geoff Lang (geofflang 'at' google.com)1617Notice1819Copyright (c) 2016 The Khronos Group Inc. Copyright terms at20http://www.khronos.org/registry/speccopyright.html2122Status2324Draft2526Version2728Version 2, October 4, 20192930Number3132OpenGL ES Extension #??3334Dependencies3536Requires OpenGL ES 2.03738Written against the OpenGL ES 3.0 specification.3940Overview4142This extension allows the client to query extensions that can be enabled and43explicitly request that an extension be enabled or disabled.4445New Procedures and Functions4647void RequestExtension(const char *name)4849void DisableExtension(const char *name)5051New Tokens5253Accepted by the <name> parameter of GetString and GetStringi:5455REQUESTABLE_EXTENSIONS_ANGLE 0x93A85657Accepted by the <value> parameter of the GetInteger* functions:5859NUM_REQUESTABLE_EXTENSIONS_ANGLE 0x93A96061Additions to the OpenGL ES 3.0 Specification6263Add the following paragraph to the end paragraph 4 of section 6.1.6, String64Queries:6566"REQUESTABLE_EXTENSIONS_ANGLE returns a list of extensions that can be67enabled at runtime by calling RequestExtension."6869Change the following section of paragraph 6 of section 6.1.6, String Queries:7071- "name may only be EXTENSIONS, indicating that the extension name72- corresponding to the indexth supported extension should be returned.73- <index> may range from zero to the value of NUM_EXTENSIONS minus one"74+ "name may be EXTENSIONS or REQUESTABLE_EXTENSIONS_ANGLE, indicating that75+ the extension name corresponding to the indexth supported or requestable76+ extension should be returned. <index> may range from zero to the value of77+ NUM_EXTENSIONS and NUM_REQUESTABLE_EXTENSIONS_ANGLE minus one"7879The commands8081void RequestExtension(const char *name)82void DisableExtension(const char *name)8384enable or disable the requestable OpenGL ES extension named <name>. If the85requested extension was not requestable or disablable, INVALID_OPERATION is86generated. Not all requestable extensions can be disabled. There is87currently no query for disablable extensions.8889New State9091Add to Table 6.30 (Implementation Dependent Version and Extension Support)9293Get value Type Get Cmd Min Value Description Sec.94-------------------------------- ---- ----------- --------- -------------------------------- -----95NUM_REQUESTABLE_EXTENSIONS_ANGLE Z+ GetIntegerv - Number of individual requestable 6.1.696extension names9798Interactions with the OpenGL ES 2.0 specification:99100Remove all references to GetStringi and NUM_REQUESTABLE_EXTENSIONS_ANGLE.101102Issues103104(1) How can the user determine which extensions can be enabled without105potentially generating errors?106107This can be solved by:108a) Never generate an error in EnableExtensions, simply return false when109the extension is not recognized or cannot be enabled.110b) Add another query for the extensions that the context supports111enabling.112113RESOLVED: Use (b) because it allows the context to explicity advertise114which extensions support enabling and doesn't generate errors in the115normal use case.116117Revision History118119Rev. Date Author Changes120---- ------------- --------- ----------------------------------------1211 Nov 28, 2016 geofflang Initial version1222 Oct 4, 2019 jdarpinian Add DisableExtension123124125