dispatch: Include GLES1-only functions in dispatch table.

Previously dispatch table-related code was generated from gl_API.xml,
so it did not include slots for GLES1-only functions (such as those
taking fixed-point arguments).

This patch generates dispatch table-related code from
gl_and_es_API.xml, so that GLES1-only functions are included.  This
paves the way for future patches that will unify the GLES1 dispatch
table with the dispatch tables for the other APIs.

The following generated files are affected:
- glapi_x86.S
- glapi_x86-64.S
- glapi_sparc.S
- glprocs.h
- glapitemp.h
- glapitable.h
- glapi_gentable.c
- dispatch.h
- remap_helper.h

Since this change affects makefiles, a full rebuild is required.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>

v2: Adjust dependencies to ensure that generated files will be rebuilt
whenever any ES-related XML source files are changed.

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
This commit is contained in:
Paul Berry 2012-10-23 13:46:04 -07:00
parent 571d5c353a
commit dd3218d73b
3 changed files with 24 additions and 23 deletions

View File

@ -61,7 +61,7 @@ if env['gcc'] and env['platform'] not in ('cygwin', 'darwin', 'windows'):
env.CodeGenerate(
target = 'glapi_x86.S',
script = GLAPI + 'gen/gl_x86_asm.py',
source = GLAPI + 'gen/gl_API.xml',
source = GLAPI + 'gen/gl_and_es_API.xml',
command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
)
elif env['machine'] == 'x86_64':
@ -74,7 +74,7 @@ if env['gcc'] and env['platform'] not in ('cygwin', 'darwin', 'windows'):
env.CodeGenerate(
target = 'glapi_x86-64.S',
script = GLAPI + 'gen/gl_x86-64_asm.py',
source = GLAPI + 'gen/gl_API.xml',
source = GLAPI + 'gen/gl_and_es_API.xml',
command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
)
elif env['machine'] == 'sparc':
@ -87,7 +87,7 @@ if env['gcc'] and env['platform'] not in ('cygwin', 'darwin', 'windows'):
env.CodeGenerate(
target = 'glapi_sparc.S',
script = GLAPI + 'gen/gl_SPARC_asm.py',
source = GLAPI + 'gen/gl_API.xml',
source = GLAPI + 'gen/gl_and_es_API.xml',
command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
)
else:

View File

@ -135,10 +135,11 @@ API_XML = \
GL3x.xml
COMMON = $(API_XML) gl_XML.py glX_XML.py license.py typeexpr.py
COMMON_ES = \
$(COMMON) \
COMMON = $(API_XML) \
gl_XML.py \
glX_XML.py \
license.py \
typeexpr.py \
gl_and_es_API.xml \
es_EXT.xml \
ARB_ES2_compatibility.xml \
@ -182,43 +183,43 @@ $(XORG_GLAPI_DIR)/%.h: $(MESA_GLAPI_DIR)/%.h
######################################################################
$(MESA_GLAPI_DIR)/glapi_mapi_tmp.h: $(MESA_MAPI_DIR)/mapi_abi.py $(COMMON_ES)
$(MESA_GLAPI_DIR)/glapi_mapi_tmp.h: $(MESA_MAPI_DIR)/mapi_abi.py $(COMMON)
$(PYTHON_GEN) $< \
--printer glapi --mode lib $(srcdir)/gl_and_es_API.xml > $@
$(MESA_GLAPI_DIR)/glprocs.h: gl_procs.py $(COMMON)
$(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml > $@
$(PYTHON_GEN) $< -f $(srcdir)/gl_and_es_API.xml > $@
$(MESA_GLAPI_DIR)/glapitemp.h: gl_apitemp.py $(COMMON)
$(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml > $@
$(PYTHON_GEN) $< -f $(srcdir)/gl_and_es_API.xml > $@
$(MESA_GLAPI_DIR)/glapitable.h: gl_table.py $(COMMON)
$(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml > $@
$(PYTHON_GEN) $< -f $(srcdir)/gl_and_es_API.xml > $@
$(MESA_GLAPI_DIR)/glapi_gentable.c: gl_gentable.py $(COMMON)
$(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml > $@
$(PYTHON_GEN) $< -f $(srcdir)/gl_and_es_API.xml > $@
######################################################################
$(MESA_GLAPI_DIR)/glapi_x86.S: gl_x86_asm.py $(COMMON)
$(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml > $@
$(PYTHON_GEN) $< -f $(srcdir)/gl_and_es_API.xml > $@
$(MESA_GLAPI_DIR)/glapi_x86-64.S: gl_x86-64_asm.py $(COMMON)
$(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml > $@
$(PYTHON_GEN) $< -f $(srcdir)/gl_and_es_API.xml > $@
$(MESA_GLAPI_DIR)/glapi_sparc.S: gl_SPARC_asm.py $(COMMON)
$(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml > $@
$(PYTHON_GEN) $< -f $(srcdir)/gl_and_es_API.xml > $@
######################################################################
$(MESA_DIR)/main/enums.c: gl_enums.py $(COMMON_ES)
$(MESA_DIR)/main/enums.c: gl_enums.py $(COMMON)
$(PYTHON_GEN) $< -f $(srcdir)/gl_and_es_API.xml > $@
$(MESA_DIR)/main/dispatch.h: gl_table.py $(COMMON)
$(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml -m remap_table > $@
$(PYTHON_GEN) $< -f $(srcdir)/gl_and_es_API.xml -m remap_table > $@
$(MESA_DIR)/main/remap_helper.h: remap_helper.py $(COMMON)
$(PYTHON_GEN) $< -f $(srcdir)/gl_API.xml > $@
$(PYTHON_GEN) $< -f $(srcdir)/gl_and_es_API.xml > $@
######################################################################

View File

@ -14,35 +14,35 @@ glapi_headers = []
glapi_headers += env.CodeGenerate(
target = '#src/mesa/main/dispatch.h',
script = GLAPI + 'gen/gl_table.py',
source = GLAPI + 'gen/gl_API.xml',
source = GLAPI + 'gen/gl_and_es_API.xml',
command = python_cmd + ' $SCRIPT -m remap_table -f $SOURCE > $TARGET',
)
glapi_headers += env.CodeGenerate(
target = '#src/mapi/glapi/glapitable.h',
script = GLAPI + 'gen/gl_table.py',
source = GLAPI + 'gen/gl_API.xml',
source = GLAPI + 'gen/gl_and_es_API.xml',
command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
)
glapi_headers += env.CodeGenerate(
target = '#src/mapi/glapi/glapitemp.h',
script = GLAPI + 'gen/gl_apitemp.py',
source = GLAPI + 'gen/gl_API.xml',
source = GLAPI + 'gen/gl_and_es_API.xml',
command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
)
glapi_headers += env.CodeGenerate(
target = '#src/mapi/glapi/glprocs.h',
script = GLAPI + 'gen/gl_procs.py',
source = GLAPI + 'gen/gl_API.xml',
source = GLAPI + 'gen/gl_and_es_API.xml',
command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
)
glapi_headers += env.CodeGenerate(
target = '#src/mesa/main/remap_helper.h',
script = GLAPI + 'gen/remap_helper.py',
source = GLAPI + 'gen/gl_API.xml',
source = GLAPI + 'gen/gl_and_es_API.xml',
command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
)