glapi: generate ES dispatch headers from core mesa

GLESv1 and GLESv2 have their own dispatch.h and remap_helper.h.  These
headers are only used by api_exec_es1.c and api_exec_es2.c in core mesa.
Move the rules to generate them from glapi to core mesa.

Reviewed-by: Brian Paul <brianp@vmware.com>

[olv: updated after reviewing to fix SCons build]
This commit is contained in:
Chia-I Wu 2011-08-11 16:41:09 +08:00
parent 786e5a2fb4
commit 6eff33dc7f
4 changed files with 27 additions and 14 deletions

View file

@ -48,7 +48,7 @@ esapi_CPPFLAGS += -DMAPI_MODE_BRIDGE
esapi_LIB_DEPS := -L$(TOP)/$(LIB_DIR) -l$(GLAPI_LIB) $(esapi_LIB_DEPS) esapi_LIB_DEPS := -L$(TOP)/$(LIB_DIR) -l$(GLAPI_LIB) $(esapi_LIB_DEPS)
.PHONY: default .PHONY: default
default: depend $(TOP)/$(LIB_DIR)/$(esapi_LIB_NAME) main/dispatch.h main/remap_helper.h default: depend $(TOP)/$(LIB_DIR)/$(esapi_LIB_NAME)
$(TOP)/$(LIB_DIR)/$(esapi_LIB_NAME): $(esapi_OBJECTS) $(TOP)/$(LIB_DIR)/$(esapi_LIB_NAME): $(esapi_OBJECTS)
$(MKLIB) -o $(esapi_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \ $(MKLIB) -o $(esapi_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
@ -72,12 +72,6 @@ include $(GLAPI)/gen/glapi_gen.mk
glapi_mapi_tmp.h: $(GLAPI)/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps) glapi_mapi_tmp.h: $(GLAPI)/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)
$(call glapi_gen_mapi,$<,$(ESAPI)) $(call glapi_gen_mapi,$<,$(ESAPI))
main/dispatch.h: $(GLAPI)/gen/gl_and_es_API.xml $(glapi_gen_dispatch_deps)
$(call glapi_gen_dispatch,$<,$(ES))
main/remap_helper.h: $(GLAPI)/gen/gl_and_es_API.xml $(glapi_gen_remap_deps)
$(call glapi_gen_remap,$<,$(ES))
.PHONY: clean .PHONY: clean
clean: clean:
-rm -f $(esapi_PC) -rm -f $(esapi_PC)
@ -86,7 +80,6 @@ clean:
-rm -f $(esapi_OBJECTS) -rm -f $(esapi_OBJECTS)
-rm -f depend depend.bak -rm -f depend depend.bak
-rm -f glapi_mapi_tmp.h -rm -f glapi_mapi_tmp.h
-rm -rf main
pcedit = \ pcedit = \
-e 's,@INSTALL_DIR@,$(INSTALL_DIR),' \ -e 's,@INSTALL_DIR@,$(INSTALL_DIR),' \

View file

@ -67,6 +67,26 @@ $(DRICORE_OBJ_DIR)/%.o: %.S
# then convenience libs (.a) and finally the device drivers: # then convenience libs (.a) and finally the device drivers:
default: $(DEPENDS) asm_subdirs $(MESA_LIBS) $(DRICORE_LIBS) driver_subdirs default: $(DEPENDS) asm_subdirs $(MESA_LIBS) $(DRICORE_LIBS) driver_subdirs
# include glapi_gen.mk for generating glapi headers for GLES
GLAPI := $(TOP)/src/mapi/glapi/gen
include $(GLAPI)/glapi_gen.mk
main/api_exec_es1_dispatch.h: $(GLAPI)/gl_and_es_API.xml $(glapi_gen_dispatch_deps)
$(call glapi_gen_dispatch,$<,es1)
main/api_exec_es1_remap_helper.h: $(GLAPI)/gl_and_es_API.xml $(glapi_gen_remap_deps)
$(call glapi_gen_remap,$<,es1)
main/api_exec_es1.o: main/api_exec_es1_dispatch.h main/api_exec_es1_remap_helper.h
main/api_exec_es2_dispatch.h: $(GLAPI)/gl_and_es_API.xml $(glapi_gen_dispatch_deps)
$(call glapi_gen_dispatch,$<,es2)
main/api_exec_es2_remap_helper.h: $(GLAPI)/gl_and_es_API.xml $(glapi_gen_remap_deps)
$(call glapi_gen_remap,$<,es2)
main/api_exec_es2.o: main/api_exec_es2_dispatch.h main/api_exec_es2_remap_helper.h
main/api_exec_es1.c: main/APIspec.xml main/es_generator.py main/APIspecutil.py main/APIspec.py main/api_exec_es1.c: main/APIspec.xml main/es_generator.py main/APIspecutil.py main/APIspec.py
$(PYTHON2) $(PYTHON_FLAGS) main/es_generator.py -S main/APIspec.xml -V GLES1.1 > $@ $(PYTHON2) $(PYTHON_FLAGS) main/es_generator.py -S main/APIspec.xml -V GLES1.1 > $@

View file

@ -347,25 +347,25 @@ if env['gles']:
GLAPI = '#src/mapi/glapi/' GLAPI = '#src/mapi/glapi/'
gles_headers = [] gles_headers = []
gles_headers += env.CodeGenerate( gles_headers += env.CodeGenerate(
target = 'es1api/main/dispatch.h', target = 'main/api_exec_es1_dispatch.h',
script = GLAPI + 'gen/gl_table.py', script = GLAPI + 'gen/gl_table.py',
source = GLAPI + 'gen/gl_and_es_API.xml', source = GLAPI + 'gen/gl_and_es_API.xml',
command = python_cmd + ' $SCRIPT -c es1 -m remap_table -f $SOURCE > $TARGET', command = python_cmd + ' $SCRIPT -c es1 -m remap_table -f $SOURCE > $TARGET',
) )
gles_headers += env.CodeGenerate( gles_headers += env.CodeGenerate(
target = 'es1api/main/remap_helper.h', target = 'main/api_exec_es1_remap_helper.h',
script = GLAPI + 'gen/remap_helper.py', script = GLAPI + 'gen/remap_helper.py',
source = GLAPI + 'gen/gl_and_es_API.xml', source = GLAPI + 'gen/gl_and_es_API.xml',
command = python_cmd + ' $SCRIPT -c es1 -f $SOURCE > $TARGET', command = python_cmd + ' $SCRIPT -c es1 -f $SOURCE > $TARGET',
) )
gles_headers += env.CodeGenerate( gles_headers += env.CodeGenerate(
target = 'es2api/main/dispatch.h', target = 'main/api_exec_es2_dispatch.h',
script = GLAPI + 'gen/gl_table.py', script = GLAPI + 'gen/gl_table.py',
source = GLAPI + 'gen/gl_and_es_API.xml', source = GLAPI + 'gen/gl_and_es_API.xml',
command = python_cmd + ' $SCRIPT -c es2 -m remap_table -f $SOURCE > $TARGET', command = python_cmd + ' $SCRIPT -c es2 -m remap_table -f $SOURCE > $TARGET',
) )
gles_headers += env.CodeGenerate( gles_headers += env.CodeGenerate(
target = 'es2api/main/remap_helper.h', target = 'main/api_exec_es2_remap_helper.h',
script = GLAPI + 'gen/remap_helper.py', script = GLAPI + 'gen/remap_helper.py',
source = GLAPI + 'gen/gl_and_es_API.xml', source = GLAPI + 'gen/gl_and_es_API.xml',
command = python_cmd + ' $SCRIPT -c es2 -f $SOURCE > $TARGET', command = python_cmd + ' $SCRIPT -c es2 -f $SOURCE > $TARGET',

View file

@ -681,10 +681,10 @@ print """
#if FEATURE_remap_table #if FEATURE_remap_table
/* define esLocalRemapTable */ /* define esLocalRemapTable */
#include "%sapi/main/dispatch.h" #include "main/api_exec_%s_dispatch.h"
#define need_MESA_remap_table #define need_MESA_remap_table
#include "%sapi/main/remap_helper.h" #include "main/api_exec_%s_remap_helper.h"
static void static void
init_remap_table(void) init_remap_table(void)