Ilia Mirkin <imir...@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 <curroje...@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
>>

Attachment: signature.asc
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to