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