summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mesa/es/main/get_gen.py21
-rw-r--r--src/mesa/main/APIspec.xml14
-rw-r--r--src/mesa/main/APIspecutil.py7
-rw-r--r--src/mesa/main/es_generator.py4
-rw-r--r--src/mesa/main/get.h23
5 files changed, 50 insertions, 19 deletions
diff --git a/src/mesa/es/main/get_gen.py b/src/mesa/es/main/get_gen.py
index b820157be0..5fadfee841 100644
--- a/src/mesa/es/main/get_gen.py
+++ b/src/mesa/es/main/get_gen.py
@@ -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):
diff --git a/src/mesa/main/APIspec.xml b/src/mesa/main/APIspec.xml
index 7e77eb74d5..7ed303dab0 100644
--- a/src/mesa/main/APIspec.xml
+++ b/src/mesa/main/APIspec.xml
@@ -3939,15 +3939,15 @@
<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"/>
@@ -4173,10 +4173,10 @@
<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"/>
diff --git a/src/mesa/main/APIspecutil.py b/src/mesa/main/APIspecutil.py
index 27a8fe8a6d..9e604bb84b 100644
--- a/src/mesa/main/APIspecutil.py
+++ b/src/mesa/main/APIspecutil.py
@@ -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)):
diff --git a/src/mesa/main/es_generator.py b/src/mesa/main/es_generator.py
index 1282a1c4f5..8f08a3a6f9 100644
--- a/src/mesa/main/es_generator.py
+++ b/src/mesa/main/es_generator.py
@@ -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):
diff --git a/src/mesa/main/get.h b/src/mesa/main/get.h
index cc426fc0f6..47e549e396 100644
--- a/src/mesa/main/get.h
+++ b/src/mesa/main/get.h
@@ -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