mesa/es: Validate glLightModel pname in Mesa code rather than the ES wrapper
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
parent
fb4f2d3425
commit
0fa4ed05cf
|
@ -94,20 +94,6 @@
|
||||||
<param name="param" type="GLtype"/>
|
<param name="param" type="GLtype"/>
|
||||||
</vector>
|
</vector>
|
||||||
</proto>
|
</proto>
|
||||||
|
|
||||||
<desc name="pname">
|
|
||||||
<value name="GL_LIGHT_MODEL_AMBIENT"/>
|
|
||||||
|
|
||||||
<desc name="params" vector_size="4"/>
|
|
||||||
</desc>
|
|
||||||
|
|
||||||
<desc name="pname">
|
|
||||||
<value name="GL_LIGHT_MODEL_TWO_SIDE"/>
|
|
||||||
<desc name="param">
|
|
||||||
<value name="GL_TRUE"/>
|
|
||||||
<value name="GL_FALSE"/>
|
|
||||||
</desc>
|
|
||||||
</desc>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template name="LineWidth">
|
<template name="LineWidth">
|
||||||
|
|
|
@ -508,20 +508,6 @@ _es_GetTexParameterxv(GLenum target, GLenum pname, GLfixed *params)
|
||||||
void GL_APIENTRY
|
void GL_APIENTRY
|
||||||
_es_LightModelx(GLenum pname, GLfixed param)
|
_es_LightModelx(GLenum pname, GLfixed param)
|
||||||
{
|
{
|
||||||
switch(pname) {
|
|
||||||
case GL_LIGHT_MODEL_TWO_SIDE:
|
|
||||||
if (param != GL_TRUE && param != GL_FALSE) {
|
|
||||||
_mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM,
|
|
||||||
"glLightModelx(pname=0x%x)", pname);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
_mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM,
|
|
||||||
"glLightModelx(pname=0x%x)", pname);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
_mesa_LightModelf(pname, (GLfloat) param);
|
_mesa_LightModelf(pname, (GLfloat) param);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -538,11 +524,6 @@ _es_LightModelxv(GLenum pname, const GLfixed *params)
|
||||||
n_params = 4;
|
n_params = 4;
|
||||||
break;
|
break;
|
||||||
case GL_LIGHT_MODEL_TWO_SIDE:
|
case GL_LIGHT_MODEL_TWO_SIDE:
|
||||||
if (params[0] != GL_TRUE && params[0] != GL_FALSE) {
|
|
||||||
_mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM,
|
|
||||||
"glLightModelxv(pname=0x%x)", pname);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
convert_params_value = false;
|
convert_params_value = false;
|
||||||
n_params = 1;
|
n_params = 1;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -466,6 +466,8 @@ _mesa_LightModelfv( GLenum pname, const GLfloat *params )
|
||||||
COPY_4V( ctx->Light.Model.Ambient, params );
|
COPY_4V( ctx->Light.Model.Ambient, params );
|
||||||
break;
|
break;
|
||||||
case GL_LIGHT_MODEL_LOCAL_VIEWER:
|
case GL_LIGHT_MODEL_LOCAL_VIEWER:
|
||||||
|
if (ctx->API != API_OPENGL)
|
||||||
|
goto invalid_pname;
|
||||||
newbool = (params[0]!=0.0);
|
newbool = (params[0]!=0.0);
|
||||||
if (ctx->Light.Model.LocalViewer == newbool)
|
if (ctx->Light.Model.LocalViewer == newbool)
|
||||||
return;
|
return;
|
||||||
|
@ -484,6 +486,8 @@ _mesa_LightModelfv( GLenum pname, const GLfloat *params )
|
||||||
ctx->_TriangleCaps &= ~DD_TRI_LIGHT_TWOSIDE;
|
ctx->_TriangleCaps &= ~DD_TRI_LIGHT_TWOSIDE;
|
||||||
break;
|
break;
|
||||||
case GL_LIGHT_MODEL_COLOR_CONTROL:
|
case GL_LIGHT_MODEL_COLOR_CONTROL:
|
||||||
|
if (ctx->API != API_OPENGL)
|
||||||
|
goto invalid_pname;
|
||||||
if (params[0] == (GLfloat) GL_SINGLE_COLOR)
|
if (params[0] == (GLfloat) GL_SINGLE_COLOR)
|
||||||
newenum = GL_SINGLE_COLOR;
|
newenum = GL_SINGLE_COLOR;
|
||||||
else if (params[0] == (GLfloat) GL_SEPARATE_SPECULAR_COLOR)
|
else if (params[0] == (GLfloat) GL_SEPARATE_SPECULAR_COLOR)
|
||||||
|
@ -499,12 +503,17 @@ _mesa_LightModelfv( GLenum pname, const GLfloat *params )
|
||||||
ctx->Light.Model.ColorControl = newenum;
|
ctx->Light.Model.ColorControl = newenum;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
_mesa_error( ctx, GL_INVALID_ENUM, "glLightModel(pname=0x%x)", pname );
|
goto invalid_pname;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ctx->Driver.LightModelfv)
|
if (ctx->Driver.LightModelfv)
|
||||||
ctx->Driver.LightModelfv( ctx, pname, params );
|
ctx->Driver.LightModelfv( ctx, pname, params );
|
||||||
|
|
||||||
|
return;
|
||||||
|
|
||||||
|
invalid_pname:
|
||||||
|
_mesa_error( ctx, GL_INVALID_ENUM, "glLightModel(pname=0x%x)", pname );
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue