diff options
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/main/es_generator.py | 14 | ||||
-rw-r--r-- | src/mesa/main/get_gen_es.py | 20 | ||||
-rw-r--r-- | src/mesa/sources.mak | 9 |
3 files changed, 34 insertions, 9 deletions
diff --git a/src/mesa/main/es_generator.py b/src/mesa/main/es_generator.py index 8f08a3a6f92..12f03a5c229 100644 --- a/src/mesa/main/es_generator.py +++ b/src/mesa/main/es_generator.py @@ -190,7 +190,10 @@ print """/* DO NOT EDIT ************************************************* print """ #include "%s" #include "%s" -""" % (versionHeader, versionExtHeader) +#include "main/mfeatures.h" + +#if FEATURE_%s +""" % (versionHeader, versionExtHeader, shortname.upper()) # Everyone needs these types. print """ @@ -211,16 +214,20 @@ extern void _mesa_error(void *ctx, GLenum error, const char *fmtString, ... ); #include "main/api_exec.h" #include "main/remap.h" +/* cannot include main/dispatch.h here */ #ifdef IN_DRI_DRIVER #define _GLAPI_USE_REMAP_TABLE #endif - #include "es/glapi/glapi-%s/glapi/glapitable.h" #include "es/glapi/glapi-%s/glapi/glapioffsets.h" #include "es/glapi/glapi-%s/glapi/glapidispatch.h" #if FEATURE_remap_table +#if !FEATURE_GL +int driDispatchRemapTable[driDispatchRemapTable_size]; +#endif + #define need_MESA_remap_table #include "es/glapi/glapi-%s/main/remap_helper.h" @@ -728,3 +735,6 @@ for func in keys: print "" print " return exec;" print "}" + +print """ +#endif /* FEATURE_%s */""" % (shortname.upper()) diff --git a/src/mesa/main/get_gen_es.py b/src/mesa/main/get_gen_es.py index 5fadfee8411..0c45b3d5d7c 100644 --- a/src/mesa/main/get_gen_es.py +++ b/src/mesa/main/get_gen_es.py @@ -584,6 +584,7 @@ def EmitGetFunction(stateVars, returnType, API): function = "_es%d_GetFixedv" % API else: abort() + mesa_function = "_mesa_" + function[5:] print "void GLAPIENTRY" print "%s( GLenum pname, %s *params )" % (function, strType) @@ -634,11 +635,20 @@ def EmitGetFunction(stateVars, returnType, API): print " }" print "}" print "" + + print "#if !FEATURE_GL" + print "/* define _mesa_ version for internal use */" + print "void GLAPIENTRY" + print "%s( GLenum pname, %s *params )" % (mesa_function, strType) + print "{" + print " %s(pname, params);" % (function) + print "}" + print "#endif /* !FEATURE_GL */" return -def EmitHeader(): +def EmitHeader(API): """Print the get.c file header.""" print """ /*** @@ -656,8 +666,11 @@ def EmitHeader(): #include "main/state.h" #include "main/texcompress.h" #include "main/framebuffer.h" +""" + print "#if FEATURE_ES%d" % (API) + print """ /* ES1 tokens that should be in gl.h but aren't */ #define GL_MAX_ELEMENTS_INDICES 0x80E9 #define GL_MAX_ELEMENTS_VERTICES 0x80E8 @@ -778,13 +791,16 @@ static GLenum compressed_formats[] = { def EmitAll(stateVars, API): - EmitHeader() + EmitHeader(API) EmitGetFunction(stateVars, GLboolean, API) EmitGetFunction(stateVars, GLfloat, API) EmitGetFunction(stateVars, GLint, API) if API == 1: EmitGetFunction(stateVars, GLfixed, API) + # close the #if emitted in EmitHeader + print "#endif /* FEATURE_ES%d */" % (API) + def main(args): # Determine whether to generate ES1 or ES2 queries diff --git a/src/mesa/sources.mak b/src/mesa/sources.mak index be859e43256..02f65cb9c27 100644 --- a/src/mesa/sources.mak +++ b/src/mesa/sources.mak @@ -1,11 +1,10 @@ ### Lists of source files, included by Makefiles -ES1_SOURCES = \ +# this is part of MAIN_SOURCES +MAIN_ES_SOURCES = \ main/api_exec_es1.c \ - main/get_es1.c - -ES2_SOURCES = \ main/api_exec_es2.c \ + main/get_es1.c \ main/get_es2.c MAIN_SOURCES = \ @@ -96,7 +95,7 @@ MAIN_SOURCES = \ main/version.c \ main/viewport.c \ main/vtxfmt.c \ - $(ES_SOURCES) + $(MAIN_ES_SOURCES) GLAPI_SOURCES = \ glapi/glapi.c \ |