Currently we use two separate functions to initialize the dispatch table depending on the API: _mesa_create_exec_table_es1(), which handles GLES1, and _mesa_create_exec_table(), which handles all other APIs. _mesa_create_exec_table_es1() is code-generated based on src/mesa/main/APIspec.xml; _mesa_create_exec_table() is hand-coded. In addition, we have two separate remap tables: one for GLES1, and one for all the other APIs. This duplication results in bugs and additional maintenance effort.
This patch updates _mesa_create_exec_table() and the main remap table to handle GLES1, and then eliminates the GLES1-specific code. I plan to follow up with a patch series that replaces _mesa_create_exec_table() with a function that is code-generated based on the XML files in src/mapi/glapi/gen. Patch 1 fixes a "make check" bug I introduced on Oct 23 that affects only non-shared-glapi builds. Patches 2-3 introduce no functional change, but ensure that patch 4 will compile cleanly. Patch 4 adds slots to the dispatch table to handle GLES1-specific functions (e.g. functions that handle fixed-point values). Patches 5-7 update _mesa_create_exec_table() to populate the dispatch table correctly for the GLES1 API. Patch 8 switches GLES1 over to using _mesa_create_exec_table() and the common dispatch table. Patch 9 removes _mesa_create_exec_table_es1() (and the code that generates it) from the build. [PATCH 1/9] dispatch: Update check_table.cpp to reflect recent aliasing changes. [PATCH 2/9] dispatch: Include glheader.h in dispatch-related files. [PATCH 3/9] dispatch: properly handle parameter name mismatches in glapitemp.h. [PATCH 4/9] dispatch: Include GLES1-only functions in dispatch table. [PATCH 5/9] dispatch: Add standard boilerplate and GL_APIENTRY to es1_conversion.h. [PATCH 6/9] dispatch: Make a header to go along with querymatrix.c. [PATCH 7/9] dispatch: GLES1 fixes for _mesa_create_exec_table(). [PATCH 8/9] dispatch: stop using _mesa_create_exec_table_es1() for GLES1. [PATCH 9/9] dispatch: stop generating separate GLES1 API code. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev