On 1 November 2012 21:55, Jordan Justen <span dir="ltr"><<a href="mailto:jljusten@gmail.com" target="_blank">jljusten@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Excellent Paul! I didn't realize you were so close to having this<br>
ready. It makes a good portion of my GL Core dispatch sanity v2 series<br>
unnecessary.<br>
<br>
Anyway, I rebased my 5 dispatch-sanity changes onto your branch, and<br>
it reported that these functions should be nop in GL Core profiles:<br>
* ActiveProgramEXT<br>
* CreateShaderProgramEXT<br>
* UseShaderProgramEXT<br>
* StencilFuncSeparateATI<br>
<br>
The first 3 were changed in my recent v2 03/13 patch.<br>
<br>
Anyway, I pushed my rebased changes to:<br>
git://<a href="http://people.freedesktop.org/~jljusten/mesa" target="_blank">people.freedesktop.org/~jljusten/mesa</a><br>
branch=code-gen-api-exec+gl-core-sanity<br>
<br>
Those 5 changes haven't been fully code reviewed yet, but I think they<br>
are reasonably close to ready. What would you think about adding them<br>
to the end of your series?<br></blockquote><div><br>Hmm, that's probably a good idea.  Let me go have a look at your series and think about it.<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
I'll try review this series tomorrow.<br>
<br>
-Jordan<br>
<div><div class="h5"><br>
On Thu, Nov 1, 2012 at 3:19 PM, Paul Berry <<a href="mailto:stereotype441@gmail.com">stereotype441@gmail.com</a>> wrote:<br>
> This patch series replaces the hand-coded function<br>
> _mesa_create_exec_table() with an equivalent function that is<br>
> generated at compile-time based on the XML in src/mapi/glapi/gen.<br>
> This function is responsible for populating the static entries in the<br>
> dispatch table with pointers to Mesa functions.<br>
><br>
> Note that I had to trim down a few patches to make them fit on the<br>
> mailing list, so you can't apply the series with "git am".  If you'd<br>
> like to test it out, please check out branch "code-gen-api-exec" from<br>
> git://<a href="http://github.com/stereotype441/mesa.git" target="_blank">github.com/stereotype441/mesa.git</a>.<br>
><br>
> In order to code generate _mesa_create_exec_table(), I had to add a<br>
> few new properties to the XML, to indicate:<br>
><br>
> - Which functions are deprecated (and hence shouldn't be populated for<br>
>   core contexts).<br>
><br>
> - Which functions are for ES only (and hence shouldn't be populated<br>
>   for desktop GL contexts).<br>
><br>
> - Differences between the name of the function in OpenGL and the name<br>
>   of the corresponding Mesa function.<br>
><br>
> - Which functions are not implemented in Mesa, or have their dispatch<br>
>   table updated dynamically based on GL state (and hence shouldn't be<br>
>   set up by _mesa_create_exec_table()).<br>
><br>
> Patch 1 removes some #if conditionals to allow the GLES1.1 dispatch<br>
> sanity test to run even if GLES1.1 support isn't being built--this<br>
> allows us to get wider test coverage for these changes.<br>
><br>
> Patches 2-3 do some minor consistency clean-up of the XML--they aren't<br>
> strictly necessary for this patch set, but they allowed me to write<br>
> some python scripts that read the XML and check that I haven't messed<br>
> it up.<br>
><br>
> Patches 4-10 annotate the XML with the information that will be<br>
> necessary to code generate _mesa_create_exec_table().<br>
><br>
> Patch 11 makes all the functions that will be needed by<br>
> _mesa_create_exec_table() non-static, so that<br>
> _mesa_create_exec_table() will be able to refer to them.  (Previously,<br>
> these functions were inserted into the dispatch table by smaller<br>
> functions that _mesa_create_exec_table() would call.  But if we are<br>
> code generating _mesa_create_exec_table(), that doesn't make sense).<br>
><br>
> Patches 12-15 create the code generation script.<br>
><br>
> Patch 16 adds code generation as a build step.<br>
><br>
> Patch 17 deletes some functions that are no longer used.<br>
><br>
> [PATCH 01/17] dispatch: Remove a few FEATURE_ES1 conditionals.<br>
> [PATCH 02/17] glapi: Use GL_ or GLX_ prefix for all category names.<br>
> [PATCH 03/17] glapi: Mark GLX extensions as window_system="glX".<br>
> [PATCH 04/17] glapi: Annotate XML with deprecated="3.1" for deprecated functions.<br>
> [PATCH 05/17] glapi: Annotate XML with exec="skip" for unimplemented functions.<br>
> [PATCH 06/17] glapi: Annotate XML with exec="dynamic" for dynamic functions.<br>
> [PATCH 07/17] glapi: Annotate XML with exec="loopback" for loopback functions.<br>
> [PATCH 08/17] glapi: Annotate XML with exec="{es,check}" for special GLES1 functions.<br>
> [PATCH 09/17] glapi: Annotate XML with desktop="false" for GLES-only functions.<br>
> [PATCH 10/17] glapi: Annotate XML with function name suffix anomalies.<br>
> [PATCH 11/17] dispatch: Make all API functions non-static.<br>
> [PATCH 12/17] glapi/gen: Comment fix.<br>
> [PATCH 13/17] glapi/gen: Gather API version info across aliased functions.<br>
> [PATCH 14/17] glapi/gen: handle new XML attributes.<br>
> [PATCH 15/17] glapi/gen: Add code generation script for _mesa_create_exec_table().<br>
> [PATCH 16/17] dispatch: Code generate api_exec.c.<br>
> [PATCH 17/17] dispatch: Delete unused init_dispatch functions.<br>
</div></div>> _______________________________________________<br>
> mesa-dev mailing list<br>
> <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</blockquote></div><br>