Mesa (master): mesa: generate glGetInteger/Boolean/Float/Doublev() code for all APIs

Brian Paul brianp at kemper.freedesktop.org
Wed Apr 17 23:36:50 UTC 2013


Module: Mesa
Branch: master
Commit: 815ca0bf38de89cff533a413066a7e23a0aa5fb0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=815ca0bf38de89cff533a413066a7e23a0aa5fb0

Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 17 09:49:39 2013 -0600

mesa: generate glGetInteger/Boolean/Float/Doublev() code for all APIs

No longer pass -a flag to the get_hash_generate.py script to specify
OpenGL, ES1, ES2, etc.  This updates the autoconf, scons and android
build files too (so we can bisect).

This is the last of the API-dependent conditional compilation in
core Mesa.

Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

---

 src/mesa/Android.gen.mk             |    3 +--
 src/mesa/Makefile.am                |    6 ++----
 src/mesa/SConscript                 |    7 +------
 src/mesa/main/get_hash_generator.py |   26 +++-----------------------
 4 files changed, 7 insertions(+), 35 deletions(-)

diff --git a/src/mesa/Android.gen.mk b/src/mesa/Android.gen.mk
index 35f00da..c6280f5 100644
--- a/src/mesa/Android.gen.mk
+++ b/src/mesa/Android.gen.mk
@@ -111,8 +111,7 @@ $(intermediates)/main/api_exec.c: $(dispatch_deps)
 	$(call es-gen)
 
 GET_HASH_GEN := $(LOCAL_PATH)/main/get_hash_generator.py
-GET_HASH_GEN_FLAGS := $(patsubst %,-a %,$(MESA_ENABLED_APIS))
 
 $(intermediates)/main/get_hash.h: $(glapi)/gl_and_es_API.xml \
                $(LOCAL_PATH)/main/get_hash_params.py $(GET_HASH_GEN)
-	@$(MESA_PYTHON2) $(GET_HASH_GEN) $(GET_HASH_GEN_FLAGS) -f $< > $@
+	@$(MESA_PYTHON2) $(GET_HASH_GEN) -f $< > $@
diff --git a/src/mesa/Makefile.am b/src/mesa/Makefile.am
index 5850412..2d077f8 100644
--- a/src/mesa/Makefile.am
+++ b/src/mesa/Makefile.am
@@ -71,14 +71,12 @@ CLEANFILES = \
 	git_sha1.h.tmp
 
 GET_HASH_GEN = main/get_hash_generator.py
-GET_HASH_GEN_FLAGS := $(patsubst -DFEATURE_%=1,-a %, \
-			$(patsubst -DFEATURE_%=0,,$(API_DEFINES)))
 
 main/get_hash.h: $(GLAPI)/gl_and_es_API.xml main/get_hash_params.py 	\
 		 $(GET_HASH_GEN) Makefile
 	$(AM_V_GEN)set -e;						\
-	$(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/$(GET_HASH_GEN) 		\
-		$(GET_HASH_GEN_FLAGS) -f $< > $@.tmp;			\
+	$(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/$(GET_HASH_GEN)		\
+		-f $< > $@.tmp;						\
 	mv $@.tmp $@;
 
 noinst_LTLIBRARIES =
diff --git a/src/mesa/SConscript b/src/mesa/SConscript
index a61b475..3cd0f87 100644
--- a/src/mesa/SConscript
+++ b/src/mesa/SConscript
@@ -341,16 +341,11 @@ if env['gles']:
 
     enabled_apis += ['ES1', 'ES2']
 
-env.Append(CPPDEFINES = ["FEATURE_%s=1" % api for api in enabled_apis])
-
-get_hash_gen_opts = ' '.join(["-a %s" % api for api in enabled_apis])
-
 get_hash_header = env.CodeGenerate(
       target = 'main/get_hash.h',
       script = 'main/get_hash_generator.py',
       source = GLAPI + 'gen/gl_and_es_API.xml',
-      command = python_cmd + ' $SCRIPT ' + get_hash_gen_opts +
-                ' -f $SOURCE > $TARGET'
+      command = python_cmd + ' $SCRIPT ' + ' -f $SOURCE > $TARGET'
 )
 
 #
diff --git a/src/mesa/main/get_hash_generator.py b/src/mesa/main/get_hash_generator.py
index 04bf9ff..96bc495 100644
--- a/src/mesa/main/get_hash_generator.py
+++ b/src/mesa/main/get_hash_generator.py
@@ -179,54 +179,34 @@ def generate_hash_tables(enum_list, enabled_apis, param_descriptors):
 
    return params, merge_tables(sorted_tables)
 
-def opt_to_apis(feature):
-   _map = {"ES1": "GLES", "ES2": "GLES2", "GL": "GL"}
-   if feature not in _map:
-      return None
-
-   apis = set([_map[feature]])
-   if "GL" in apis:
-      apis.add("GL_CORE")
-   if "GLES2" in apis:
-      apis.add("GLES3")
-
-   return apis
 
 def show_usage():
    sys.stderr.write(
 """Usage: %s [OPTIONS]
   -f <file>          specify GL API XML file
-  -a [GL|ES1|ES2]    specify APIs to generate hash tables for
 """ % (program))
    exit(1)
 
 if __name__ == '__main__':
    try:
-      (opts, args) = getopt.getopt(sys.argv[1:], "f:a:")
+      (opts, args) = getopt.getopt(sys.argv[1:], "f:")
    except Exception,e:
       show_usage()
 
    if len(args) != 0:
       show_usage()
 
-   enabled_apis = set([])
    api_desc_file = ""
 
    for opt_name, opt_val in opts:
       if opt_name == "-f":
          api_desc_file = opt_val
-      if opt_name == "-a":
-         apis = opt_to_apis(opt_val.upper())
-         if not apis:
-            die("invalid API %s\n" % opt_val)
-
-         enabled_apis |= apis
 
    if not api_desc_file:
       die("missing descriptor file (-f)\n")
 
-   if len(enabled_apis) == 0:
-      die("need at least a single enabled API\n")
+   # generate the code for all APIs
+   enabled_apis = set(["GLES", "GLES2", "GLES3", "GL", "GL_CORE"])
 
    try:
       api_desc = gl_XML.parse_GL_API(api_desc_file)




More information about the mesa-commit mailing list