Ilia Mirkin <[email protected]> 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 <[email protected]> > 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 >>
signature.asc
Description: PGP signature
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
