[Mesa-dev] [PATCH 1/2] glapi: Move PrimitiveBoundingBox and BlendBarrier definitions into ES3.2 category.
Francisco Jerez
currojerez at riseup.net
Wed Oct 19 04:27:41 UTC 2016
Ilia Mirkin <imirkin at alum.mit.edu> writes:
> Why does it care where those functions are defined? I thought it was
> all one big happy namespace, with the categories just there for
> general amusement. Could you shed some light on what the actual
> situation is?
>
Heh, I won't pretend to understand the dispatch generation mess, but
apparently the gl_procs.py treats the ES (and GL_OES) categories
specially and emits forward declarations for them before the actual
table -- Possibly to hack around build failures with GLES entry points
not defined in desktop GL headers.
> On Tue, Oct 18, 2016 at 11:48 PM, Francisco Jerez <currojerez at riseup.net> wrote:
>> These two GLES 3.2 entry points were being defined in the category of
>> the ARB_ES3_2_compatibility and KHR_blend_equation_advanced extensions
>> respectively instead of in the ES3.2 category. Defining them in the
>> ES3.2 category makes sure that the gl_procs.py generator emits
>> declarations in the glprocs.h header file for the unsuffixed GLES-only
>> entry points that PrimitiveBoundingBoxARB and BlendBarrierKHR
>> respectively alias. This should avoid a compilation failure during
>> scons builds in combination with "mapi: export all GLES 3.2 functions
>> in libGLESv2.so".
>> ---
>> src/mapi/glapi/gen/gl_API.xml | 30 +++++++++++++++++-------------
>> 1 file changed, 17 insertions(+), 13 deletions(-)
>>
>> diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
>> index 5998ccf..00c9bb7 100644
>> --- a/src/mapi/glapi/gen/gl_API.xml
>> +++ b/src/mapi/glapi/gen/gl_API.xml
>> @@ -8296,6 +8296,23 @@
>> <!-- ARB extension 171 -->
>> <xi:include href="ARB_pipeline_statistics_query.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
>>
>> +<category name="es3.2">
>> + <!-- This should be in es_EXT, but this file is included first and
>> + the alias doesn't work otherwise. -->
>> + <function name="PrimitiveBoundingBox" es2="3.2" desktop="false">
>> + <param name="minX" type="GLfloat"/>
>> + <param name="minY" type="GLfloat"/>
>> + <param name="minZ" type="GLfloat"/>
>> + <param name="minW" type="GLfloat"/>
>> + <param name="maxX" type="GLfloat"/>
>> + <param name="maxY" type="GLfloat"/>
>> + <param name="maxZ" type="GLfloat"/>
>> + <param name="maxW" type="GLfloat"/>
>> + </function>
>> +
>> + <function name="BlendBarrier" es2="3.2"/>
>> +</category>
>> +
>> <category name="KHR_blend_equation_advanced" number="174">
>> <enum name="BLEND_ADVANCED_COHERENT_KHR" value="0x9285"/>
>>
>> @@ -8316,7 +8333,6 @@
>> <enum name="HSL_COLOR_KHR" value="0x92AF"/>
>> <enum name="HSL_LUMINOSITY_KHR" value="0x92B0"/>
>>
>> - <function name="BlendBarrier" es2="3.2"/>
>> <function name="BlendBarrierKHR" alias="BlendBarrier" es2="2.0"/>
>> </category>
>>
>> @@ -8332,18 +8348,6 @@
>> <size name="Get" mode="get"/>
>> </enum>
>>
>> - <!-- This should be in es_EXT, but this file is included first and
>> - the alias doesn't work otherwise. -->
>> - <function name="PrimitiveBoundingBox" es2="3.2" desktop="false">
>> - <param name="minX" type="GLfloat"/>
>> - <param name="minY" type="GLfloat"/>
>> - <param name="minZ" type="GLfloat"/>
>> - <param name="minW" type="GLfloat"/>
>> - <param name="maxX" type="GLfloat"/>
>> - <param name="maxY" type="GLfloat"/>
>> - <param name="maxZ" type="GLfloat"/>
>> - <param name="maxW" type="GLfloat"/>
>> - </function>
>> <function name="PrimitiveBoundingBoxARB" alias="PrimitiveBoundingBox">
>> <param name="minX" type="GLfloat"/>
>> <param name="minY" type="GLfloat"/>
>> --
>> 2.9.0
>>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 212 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20161018/7e356a05/attachment-0001.sig>
More information about the mesa-dev
mailing list