COMMON = gl_and_es_API.xml gl_XML.py glX_XML.py license.py typeexpr.py
COMMON := $(addprefix $(GLAPI)/, $(COMMON))
-ES1_APIXML := es1_API.xml
-ES2_APIXML := es2_API.xml
+ES1_APIXML := $(GLAPI)/gl_and_es_API.xml
+ES2_APIXML := $(GLAPI)/gl_and_es_API.xml
ES1_OUTPUT_DIR := $(TOP)/src/mapi/es1api
ES2_OUTPUT_DIR := $(TOP)/src/mapi/es2api
$(ES1_OUTPUTS): APIXML := $(ES1_APIXML)
$(ES1_OUTPUTS): PRINTER := es1api
+$(ES1_OUTPUTS): GLES_VER := es1
$(ES1_OUTPUTS): $(ES1_DEPS)
$(ES2_OUTPUTS): APIXML := $(ES2_APIXML)
$(ES2_OUTPUTS): PRINTER := es2api
+$(ES2_OUTPUTS): GLES_VER := es2
$(ES2_OUTPUTS): $(ES2_DEPS)
$(SHARED_GLAPI_OUTPUTS): APIXML := $(SHARED_GLAPI_APIXML)
define gen-glapi
@mkdir -p $(dir $@)
- $(PYTHON2) $(PYTHON_FLAGS) $< -f $(APIXML) $(1) > $@
+ $(PYTHON2) $(PYTHON_FLAGS) $< -f $(APIXML) -c $(GLES_VER) $(1) > $@
endef
%/glapi_mapi_tmp.h: $(MAPI)/mapi_abi.py $(COMMON)
--printer $(PRINTER) --mode lib $(GLAPI)/gl_and_es_API.xml > $@
%/main/dispatch.h: $(GLAPI)/gl_table.py $(COMMON)
- $(call gen-glapi,-c -m remap_table)
+ $(call gen-glapi,-m remap_table)
%/main/remap_helper.h: $(GLAPI)/remap_helper.py $(COMMON)
$(call gen-glapi)
######################################################################
-$(MESA_DIR)/main/enums.c: gl_enums.py $(COMMON) $(ES_API)
- $(PYTHON2) $(PYTHON_FLAGS) $< -f gl_API.xml \
- -f $(MESA_GLAPI_DIR)/gen-es/es1_API.xml \
- -f $(MESA_GLAPI_DIR)/gen-es/es2_API.xml > $@
+$(MESA_DIR)/main/enums.c: gl_enums.py $(COMMON_ES)
+ $(PYTHON2) $(PYTHON_FLAGS) $< -f gl_and_es_API.xml > $@
$(MESA_DIR)/main/dispatch.h: gl_table.py $(COMMON)
$(PYTHON2) $(PYTHON_FLAGS) $< -m remap_table > $@
def show_usage():
- print "Usage: %s [-f input_file_name] [-m mode] [-c]" % sys.argv[0]
+ print "Usage: %s [-f input_file_name] [-m mode] [-c ver]" % sys.argv[0]
print " -m mode Mode can be 'table' or 'remap_table'."
- print " -c Enable compatibility with OpenGL ES."
+ print " -c ver Version can be 'es1' or 'es2'."
sys.exit(1)
if __name__ == '__main__':
file_name = "gl_API.xml"
try:
- (args, trail) = getopt.getopt(sys.argv[1:], "f:m:c")
+ (args, trail) = getopt.getopt(sys.argv[1:], "f:m:c:")
except Exception,e:
show_usage()
mode = "table"
- es = False
+ es = None
for (arg,val) in args:
if arg == "-f":
file_name = val
elif arg == "-m":
mode = val
elif arg == "-c":
- es = True
+ es = val
if mode == "table":
printer = PrintGlTable(es)
api = gl_XML.parse_GL_API( file_name )
+ if es is not None:
+ import gles_api
+
+ api_map = {
+ 'es1': gles_api.es1_api,
+ 'es2': gles_api.es2_api,
+ }
+
+ api.filter_functions(api_map[es])
+
printer.Print( api )
def show_usage():
- print "Usage: %s [-f input_file_name]" % sys.argv[0]
+ print "Usage: %s [-f input_file_name] [-c ver]" % sys.argv[0]
+ print " -c ver Version can be 'es1' or 'es2'."
sys.exit(1)
if __name__ == '__main__':
file_name = "gl_API.xml"
try:
- (args, trail) = getopt.getopt(sys.argv[1:], "f:")
+ (args, trail) = getopt.getopt(sys.argv[1:], "f:c:")
except Exception,e:
show_usage()
+ es = None
for (arg,val) in args:
if arg == "-f":
file_name = val
+ elif arg == "-c":
+ es = val
api = gl_XML.parse_GL_API( file_name )
+ if es is not None:
+ import gles_api
+
+ api_map = {
+ 'es1': gles_api.es1_api,
+ 'es2': gles_api.es2_api,
+ }
+
+ api.filter_functions(api_map[es])
+
printer = PrintGlRemap()
printer.Print( api )
gles_headers += env.CodeGenerate(
target = 'es1api/main/dispatch.h',
script = GLAPI + 'gen/gl_table.py',
- source = GLAPI + 'gen-es/es1_API.xml',
- command = python_cmd + ' $SCRIPT -c -m remap_table -f $SOURCE > $TARGET',
+ source = GLAPI + 'gen/gl_and_es_API.xml',
+ command = python_cmd + ' $SCRIPT -c es1 -m remap_table -f $SOURCE > $TARGET',
)
gles_headers += env.CodeGenerate(
target = 'es1api/main/remap_helper.h',
script = GLAPI + 'gen/remap_helper.py',
- source = GLAPI + 'gen-es/es1_API.xml',
- command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET',
+ source = GLAPI + 'gen/gl_and_es_API.xml',
+ command = python_cmd + ' $SCRIPT -c es1 -f $SOURCE > $TARGET',
)
gles_headers += env.CodeGenerate(
target = 'es2api/main/dispatch.h',
script = GLAPI + 'gen/gl_table.py',
- source = GLAPI + 'gen-es/es2_API.xml',
- command = python_cmd + ' $SCRIPT -c -m remap_table -f $SOURCE > $TARGET',
+ source = GLAPI + 'gen/gl_and_es_API.xml',
+ command = python_cmd + ' $SCRIPT -c es2 -m remap_table -f $SOURCE > $TARGET',
)
gles_headers += env.CodeGenerate(
target = 'es2api/main/remap_helper.h',
script = GLAPI + 'gen/remap_helper.py',
- source = GLAPI + 'gen-es/es2_API.xml',
- command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET',
+ source = GLAPI + 'gen/gl_and_es_API.xml',
+ command = python_cmd + ' $SCRIPT -c es2 -f $SOURCE > $TARGET',
)
env.Depends(gles_sources, gles_headers)