es: Prefix the get* functions with _es1/2 so they don't conflict
authorKristian Høgsberg <krh@bitplanet.net>
Sat, 24 Apr 2010 20:22:02 +0000 (16:22 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 27 Apr 2010 23:28:11 +0000 (19:28 -0400)
src/mesa/es/main/get_gen.py
src/mesa/main/APIspec.xml
src/mesa/main/APIspecutil.py
src/mesa/main/es_generator.py
src/mesa/main/get.h

index b820157..5fadfee 100644 (file)
@@ -565,7 +565,7 @@ def ConversionFunc(fromType, toType):
                return fromStr + "_TO_" + toStr
 
 
-def EmitGetFunction(stateVars, returnType):
+def EmitGetFunction(stateVars, returnType, API):
        """Emit the code to implement glGetBooleanv, glGetIntegerv or glGetFloatv."""
        assert (returnType == GLboolean or
                        returnType == GLint or
@@ -575,13 +575,13 @@ def EmitGetFunction(stateVars, returnType):
        strType = TypeStrings[returnType]
        # Capitalize first letter of return type
        if returnType == GLint:
-               function = "_mesa_GetIntegerv"
+               function = "_es%d_GetIntegerv" % API
        elif returnType == GLboolean:
-               function = "_mesa_GetBooleanv"
+               function = "_es%d_GetBooleanv" % API
        elif returnType == GLfloat:
-               function = "_mesa_GetFloatv"
+               function = "_es%d_GetFloatv" % API
        elif returnType == GLfixed:
-               function = "_mesa_GetFixedv"
+               function = "_es%d_GetFixedv" % API
        else:
                abort()
 
@@ -773,20 +773,17 @@ static GLenum compressed_formats[] = {
 
 #define ARRAY_SIZE(A)  (sizeof(A) / sizeof(A[0]))
 
-void GLAPIENTRY
-_mesa_GetFixedv( GLenum pname, GLfixed *params );
-
 """
        return
 
 
 def EmitAll(stateVars, API):
        EmitHeader()
-       EmitGetFunction(stateVars, GLboolean)
-       EmitGetFunction(stateVars, GLfloat)
-       EmitGetFunction(stateVars, GLint)
+       EmitGetFunction(stateVars, GLboolean, API)
+       EmitGetFunction(stateVars, GLfloat, API)
+       EmitGetFunction(stateVars, GLint, API)
        if API == 1:
-               EmitGetFunction(stateVars, GLfixed)
+               EmitGetFunction(stateVars, GLfixed, API)
 
 
 def main(args):
index 7e77eb7..7ed303d 100644 (file)
        <function name="PixelStorei" template="PixelStore" gltype="GLint"/>
        <function name="ReadPixels" template="ReadPixels"/>
 
-       <function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
+       <function name="GetBooleanv" default_prefix="_es1_" template="GetState" gltype="GLboolean"/>
 
        <function name="GetClipPlanef" template="GetClipPlane" gltype="GLfloat"/>
        <function name="GetClipPlanex" template="GetClipPlane" gltype="GLfixed"/>
 
        <function name="GetError" template="GetError"/>
-       <function name="GetFloatv" template="GetState" gltype="GLfloat"/>
-       <function name="GetFixedv" template="GetState" gltype="GLfixed"/>
-       <function name="GetIntegerv" template="GetState" gltype="GLint"/>
+       <function name="GetFloatv" default_prefix="_es1_" template="GetState" gltype="GLfloat"/>
+       <function name="GetFixedv" default_prefix="_es1_" template="GetState" gltype="GLfixed"/>
+       <function name="GetIntegerv" default_prefix="_es1_" template="GetState" gltype="GLint"/>
 
        <function name="GetLightfv" template="GetLight" gltype="GLfloat"/>
        <function name="GetLightxv" template="GetLight" gltype="GLfixed"/>
        <function name="PixelStorei" template="PixelStore" gltype="GLint"/>
        <function name="ReadPixels" template="ReadPixels"/>
 
-       <function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
+       <function name="GetBooleanv" default_prefix="_es2_" template="GetState" gltype="GLboolean"/>
        <function name="GetError" template="GetError"/>
-       <function name="GetFloatv" template="GetState" gltype="GLfloat"/>
-       <function name="GetIntegerv" template="GetState" gltype="GLint"/>
+       <function name="GetFloatv" default_prefix="_es2_" template="GetState" gltype="GLfloat"/>
+       <function name="GetIntegerv" default_prefix="_es2_" template="GetState" gltype="GLint"/>
 
        <function name="GetString" template="GetString"/>
 
index 27a8fe8..9e604bb 100644 (file)
@@ -222,6 +222,13 @@ def Parameters(funcname):
     return params
 
 
+def FunctionPrefix(funcname):
+    """Return function specific prefix."""
+    func = __functions[funcname]
+
+    return func.prefix
+
+
 def FindParamIndex(params, paramname):
     """Find the index of a named parameter."""
     for i in xrange(len(params)):
index 1282a1c..8f08a3a 100644 (file)
@@ -293,6 +293,7 @@ for funcName in keys:
     passthroughFuncName = ""
     passthroughDeclarationString = ""
     passthroughCallString = ""
+    prefixOverride = None
     variables = []
     conversionCodeOutgoing = []
     conversionCodeIncoming = []
@@ -311,6 +312,9 @@ for funcName in keys:
         funcPrefix = "_es_"
         aliasprefix = apiutil.AliasPrefix(funcName)
     alias = apiutil.ConversionFunction(funcName)
+    prefixOverride = apiutil.FunctionPrefix(funcName)
+    if prefixOverride != "_mesa_":
+        aliasprefix = apiutil.FunctionPrefix(funcName)
     if not alias:
         # There may still be a Mesa alias for the function
         if apiutil.Alias(funcName):
index cc426fc..47e549e 100644 (file)
@@ -71,4 +71,27 @@ _mesa_GetStringi(GLenum name, GLuint index);
 extern GLenum GLAPIENTRY
 _mesa_GetError( void );
 
+
+extern void GLAPIENTRY
+_es1_GetBooleanv( GLenum pname, GLboolean *params );
+
+extern void GLAPIENTRY
+_es1_GetFloatv( GLenum pname, GLfloat *params );
+
+extern void GLAPIENTRY
+_es1_GetIntegerv( GLenum pname, GLint *params );
+
+extern void GLAPIENTRY
+_es1_GetFixedv( GLenum pname, GLfixed *params );
+
+
+extern void GLAPIENTRY
+_es2_GetBooleanv( GLenum pname, GLboolean *params );
+
+extern void GLAPIENTRY
+_es2_GetFloatv( GLenum pname, GLfloat *params );
+
+extern void GLAPIENTRY
+_es2_GetIntegerv( GLenum pname, GLint *params );
+
 #endif