es: Prefix the get* functions with _es1/2 so they don't conflict

This commit is contained in:
Kristian Høgsberg 2010-04-24 16:22:02 -04:00
parent 64386d0893
commit 381ccb50b9
5 changed files with 50 additions and 19 deletions

View 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):

View file

@ -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"/>

View 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)):

View 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):

View 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