X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Fes1_conversion.c;h=1dfe8278e715dc4fc806db6a86b729f076f627af;hb=d8e4908b6386faf7b5d5af8608e9f10b59565d1c;hp=247a038dc8d40d3176c9217d109700b5ffb041ee;hpb=a0595cb4506251509e032a2592d6bb684480de4b;p=mesa.git diff --git a/src/mesa/main/es1_conversion.c b/src/mesa/main/es1_conversion.c index 247a038dc8d..1dfe8278e71 100644 --- a/src/mesa/main/es1_conversion.c +++ b/src/mesa/main/es1_conversion.c @@ -1,7 +1,5 @@ -#include -#include "main/mfeatures.h" -#if FEATURE_ES1 +#include #include "api_loopback.h" #include "api_exec.h" @@ -29,20 +27,16 @@ #include "main/drawtex.h" #include "vbo/vbo.h" -#ifndef GL_APIENTRY -#define GL_APIENTRY GLAPIENTRY -#endif - #include "main/es1_conversion.h" void GL_APIENTRY -_es_AlphaFuncx(GLenum func, GLclampx ref) +_mesa_AlphaFuncx(GLenum func, GLclampx ref) { _mesa_AlphaFunc(func, (GLclampf) (ref / 65536.0f)); } void GL_APIENTRY -_es_ClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha) +_mesa_ClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha) { _mesa_ClearColor((GLclampf) (red / 65536.0f), (GLclampf) (green / 65536.0f), @@ -51,18 +45,18 @@ _es_ClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha) } void GL_APIENTRY -_es_ClearDepthx(GLclampx depth) +_mesa_ClearDepthx(GLclampx depth) { _mesa_ClearDepthf((GLclampf) (depth / 65536.0f)); } void GL_APIENTRY -_es_ClipPlanef(GLenum plane, const GLfloat *equation) +_mesa_ClipPlanef(GLenum plane, const GLfloat *equation) { unsigned int i; GLdouble converted_equation[4]; - for (i = 0; i < Elements(converted_equation); i++) { + for (i = 0; i < ARRAY_SIZE(converted_equation); i++) { converted_equation[i] = (GLdouble) (equation[i]); } @@ -70,12 +64,12 @@ _es_ClipPlanef(GLenum plane, const GLfloat *equation) } void GL_APIENTRY -_es_ClipPlanex(GLenum plane, const GLfixed *equation) +_mesa_ClipPlanex(GLenum plane, const GLfixed *equation) { unsigned int i; GLdouble converted_equation[4]; - for (i = 0; i < Elements(converted_equation); i++) { + for (i = 0; i < ARRAY_SIZE(converted_equation); i++) { converted_equation[i] = (GLdouble) (equation[i] / 65536.0); } @@ -92,7 +86,7 @@ _es_Color4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) } void GL_APIENTRY -_es_Color4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) +_mesa_Color4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) { _es_Color4f((GLfloat) (red / 65536.0f), (GLfloat) (green / 65536.0f), @@ -101,17 +95,17 @@ _es_Color4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) } void GL_APIENTRY -_es_DepthRangex(GLclampx zNear, GLclampx zFar) +_mesa_DepthRangex(GLclampx zNear, GLclampx zFar) { _mesa_DepthRangef((GLclampf) (zNear / 65536.0f), (GLclampf) (zFar / 65536.0f)); } void GL_APIENTRY -_es_DrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed w, GLfixed h) +_mesa_DrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed w, GLfixed h) { - _mesa_DrawTexf((GLfloat) (x / 65536.0f), + _mesa_DrawTexfOES((GLfloat) (x / 65536.0f), (GLfloat) (y / 65536.0f), (GLfloat) (z / 65536.0f), (GLfloat) (w / 65536.0f), @@ -119,43 +113,22 @@ _es_DrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed w, GLfixed h) } void GL_APIENTRY -_es_DrawTexxvOES(const GLfixed *coords) +_mesa_DrawTexxvOES(const GLfixed *coords) { unsigned int i; GLfloat converted_coords[5]; - for (i = 0; i < Elements(converted_coords); i++) { + for (i = 0; i < ARRAY_SIZE(converted_coords); i++) { converted_coords[i] = (GLfloat) (coords[i] / 65536.0f); } - _mesa_DrawTexfv(converted_coords); + _mesa_DrawTexfvOES(converted_coords); } void GL_APIENTRY -_es_Fogx(GLenum pname, GLfixed param) +_mesa_Fogx(GLenum pname, GLfixed param) { - bool convert_param_value = true; - - switch(pname) { - case GL_FOG_MODE: - if (param != GL_EXP && param != GL_EXP2 && param != GL_LINEAR) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glFogx(pname=0x%x)", pname); - return; - } - convert_param_value = false; - break; - case GL_FOG_DENSITY: - case GL_FOG_START: - case GL_FOG_END: - break; - default: - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glFogx(pname=0x%x)", pname); - return; - } - - if (convert_param_value) { + if (pname != GL_FOG_MODE) { _mesa_Fogf(pname, (GLfloat) (param / 65536.0f)); } else { _mesa_Fogf(pname, (GLfloat) param); @@ -164,7 +137,7 @@ _es_Fogx(GLenum pname, GLfixed param) } void GL_APIENTRY -_es_Fogxv(GLenum pname, const GLfixed *params) +_mesa_Fogxv(GLenum pname, const GLfixed *params) { unsigned int i; unsigned int n_params = 4; @@ -173,11 +146,6 @@ _es_Fogxv(GLenum pname, const GLfixed *params) switch(pname) { case GL_FOG_MODE: - if (params[0] != GL_EXP && params[0] != GL_EXP2 && params[0] != GL_LINEAR) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glFogxv(pname=0x%x)", pname); - return; - } convert_params_value = false; n_params = 1; break; @@ -209,7 +177,7 @@ _es_Fogxv(GLenum pname, const GLfixed *params) } void GL_APIENTRY -_es_Frustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, +_mesa_Frustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) { _mesa_Frustum((GLdouble) (left), @@ -221,7 +189,7 @@ _es_Frustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, } void GL_APIENTRY -_es_Frustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, +_mesa_Frustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) { _mesa_Frustum((GLdouble) (left / 65536.0), @@ -233,31 +201,31 @@ _es_Frustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, } void GL_APIENTRY -_es_GetClipPlanef(GLenum plane, GLfloat *equation) +_mesa_GetClipPlanef(GLenum plane, GLfloat *equation) { unsigned int i; GLdouble converted_equation[4]; _mesa_GetClipPlane(plane, converted_equation); - for (i = 0; i < Elements(converted_equation); i++) { + for (i = 0; i < ARRAY_SIZE(converted_equation); i++) { equation[i] = (GLfloat) (converted_equation[i]); } } void GL_APIENTRY -_es_GetClipPlanex(GLenum plane, GLfixed *equation) +_mesa_GetClipPlanex(GLenum plane, GLfixed *equation) { unsigned int i; GLdouble converted_equation[4]; _mesa_GetClipPlane(plane, converted_equation); - for (i = 0; i < Elements(converted_equation); i++) { + for (i = 0; i < ARRAY_SIZE(converted_equation); i++) { equation[i] = (GLfixed) (converted_equation[i] * 65536); } } void GL_APIENTRY -_es_GetLightxv(GLenum light, GLenum pname, GLfixed *params) +_mesa_GetLightxv(GLenum light, GLenum pname, GLfixed *params) { unsigned int i; unsigned int n_params = 4; @@ -298,7 +266,7 @@ _es_GetLightxv(GLenum light, GLenum pname, GLfixed *params) } void GL_APIENTRY -_es_GetMaterialxv(GLenum face, GLenum pname, GLfixed *params) +_mesa_GetMaterialxv(GLenum face, GLenum pname, GLfixed *params) { unsigned int i; unsigned int n_params = 4; @@ -319,7 +287,6 @@ _es_GetMaterialxv(GLenum face, GLenum pname, GLfixed *params) break; case GL_AMBIENT: case GL_DIFFUSE: - case GL_AMBIENT_AND_DIFFUSE: case GL_SPECULAR: case GL_EMISSION: n_params = 4; @@ -337,7 +304,7 @@ _es_GetMaterialxv(GLenum face, GLenum pname, GLfixed *params) } void GL_APIENTRY -_es_GetTexEnvxv(GLenum target, GLenum pname, GLfixed *params) +_mesa_GetTexEnvxv(GLenum target, GLenum pname, GLfixed *params) { unsigned int i; unsigned int n_params = 4; @@ -360,7 +327,24 @@ _es_GetTexEnvxv(GLenum target, GLenum pname, GLfixed *params) } break; case GL_TEXTURE_ENV: - if (pname != GL_TEXTURE_ENV_COLOR && pname != GL_RGB_SCALE && pname != GL_ALPHA_SCALE && pname != GL_TEXTURE_ENV_MODE && pname != GL_COMBINE_RGB && pname != GL_COMBINE_ALPHA && pname != GL_SRC0_RGB && pname != GL_SRC1_RGB && pname != GL_SRC2_RGB && pname != GL_SRC0_ALPHA && pname != GL_SRC1_ALPHA && pname != GL_SRC2_ALPHA && pname != GL_OPERAND0_RGB && pname != GL_OPERAND1_RGB && pname != GL_OPERAND2_RGB && pname != GL_OPERAND0_ALPHA && pname != GL_OPERAND1_ALPHA && pname != GL_OPERAND2_ALPHA) { + if (pname != GL_TEXTURE_ENV_COLOR && + pname != GL_RGB_SCALE && + pname != GL_ALPHA_SCALE && + pname != GL_TEXTURE_ENV_MODE && + pname != GL_COMBINE_RGB && + pname != GL_COMBINE_ALPHA && + pname != GL_SRC0_RGB && + pname != GL_SRC1_RGB && + pname != GL_SRC2_RGB && + pname != GL_SRC0_ALPHA && + pname != GL_SRC1_ALPHA && + pname != GL_SRC2_ALPHA && + pname != GL_OPERAND0_RGB && + pname != GL_OPERAND1_RGB && + pname != GL_OPERAND2_RGB && + pname != GL_OPERAND0_ALPHA && + pname != GL_OPERAND1_ALPHA && + pname != GL_OPERAND2_ALPHA) { _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glGetTexEnvxv(target=0x%x)", target); return; @@ -425,67 +409,17 @@ _es_GetTexEnvxv(GLenum target, GLenum pname, GLfixed *params) void GL_APIENTRY _check_GetTexGenivOES(GLenum coord, GLenum pname, GLint *params) { - unsigned int i; - unsigned int n_params = 1; - GLfloat converted_params[1]; - - switch(coord) { - case GL_TEXTURE_GEN_STR_OES: - break; - default: - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glGetTexGenivOES(coord=0x%x)", coord); - return; - } - switch(pname) { - case GL_TEXTURE_GEN_MODE: - n_params = 1; - break; - default: - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glGetTexGenivOES(pname=0x%x)", pname); - return; - } - - _es_GetTexGenfv(coord, pname, converted_params); - for (i = 0; i < n_params; i++) { - params[i] = (GLfloat) converted_params[i]; - } + _mesa_GetTexGeniv(coord, pname, params); } void GL_APIENTRY -_check_GetTexGenxvOES(GLenum coord, GLenum pname, GLfixed *params) +_mesa_GetTexGenxvOES(GLenum coord, GLenum pname, GLfixed *params) { - unsigned int i; - unsigned int n_params = 1; - GLfloat converted_params[1]; - - switch(coord) { - case GL_TEXTURE_GEN_STR_OES: - break; - default: - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glGetTexGenxvOES(coord=0x%x)", coord); - return; - } - switch(pname) { - case GL_TEXTURE_GEN_MODE: - n_params = 1; - break; - default: - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glGetTexGenxvOES(pname=0x%x)", pname); - return; - } - - _es_GetTexGenfv(coord, pname, converted_params); - for (i = 0; i < n_params; i++) { - params[i] = (GLfloat) converted_params[i]; - } + _mesa_GetTexGeniv(coord, pname, (GLint *) params); } void GL_APIENTRY -_es_GetTexParameterxv(GLenum target, GLenum pname, GLfixed *params) +_mesa_GetTexParameterxv(GLenum target, GLenum pname, GLfixed *params) { unsigned int i; unsigned int n_params = 4; @@ -533,27 +467,13 @@ _es_GetTexParameterxv(GLenum target, GLenum pname, GLfixed *params) } void GL_APIENTRY -_es_LightModelx(GLenum pname, GLfixed param) +_mesa_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); } void GL_APIENTRY -_es_LightModelxv(GLenum pname, const GLfixed *params) +_mesa_LightModelxv(GLenum pname, const GLfixed *params) { unsigned int i; unsigned int n_params = 4; @@ -565,11 +485,6 @@ _es_LightModelxv(GLenum pname, const GLfixed *params) n_params = 4; break; 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; n_params = 1; break; @@ -593,13 +508,13 @@ _es_LightModelxv(GLenum pname, const GLfixed *params) } void GL_APIENTRY -_es_Lightx(GLenum light, GLenum pname, GLfixed param) +_mesa_Lightx(GLenum light, GLenum pname, GLfixed param) { _mesa_Lightf(light, pname, (GLfloat) (param / 65536.0f)); } void GL_APIENTRY -_es_Lightxv(GLenum light, GLenum pname, const GLfixed *params) +_mesa_Lightxv(GLenum light, GLenum pname, const GLfixed *params) { unsigned int i; unsigned int n_params = 4; @@ -641,18 +556,18 @@ _es_Lightxv(GLenum light, GLenum pname, const GLfixed *params) } void GL_APIENTRY -_es_LineWidthx(GLfixed width) +_mesa_LineWidthx(GLfixed width) { _mesa_LineWidth((GLfloat) (width / 65536.0f)); } void GL_APIENTRY -_es_LoadMatrixx(const GLfixed *m) +_mesa_LoadMatrixx(const GLfixed *m) { unsigned int i; GLfloat converted_m[16]; - for (i = 0; i < Elements(converted_m); i++) { + for (i = 0; i < ARRAY_SIZE(converted_m); i++) { converted_m[i] = (GLfloat) (m[i] / 65536.0f); } @@ -660,20 +575,15 @@ _es_LoadMatrixx(const GLfixed *m) } void GL_APIENTRY -_es_Materialx(GLenum face, GLenum pname, GLfixed param) +_mesa_Materialx(GLenum face, GLenum pname, GLfixed param) { - switch(face) { - case GL_FRONT_AND_BACK: - break; - default: + if (face != GL_FRONT_AND_BACK) { _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMaterialx(face=0x%x)", face); return; } - switch(pname) { - case GL_SHININESS: - break; - default: + + if (pname != GL_SHININESS) { _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMaterialx(pname=0x%x)", pname); return; @@ -683,20 +593,18 @@ _es_Materialx(GLenum face, GLenum pname, GLfixed param) } void GL_APIENTRY -_es_Materialxv(GLenum face, GLenum pname, const GLfixed *params) +_mesa_Materialxv(GLenum face, GLenum pname, const GLfixed *params) { unsigned int i; unsigned int n_params = 4; GLfloat converted_params[4]; - switch(face) { - case GL_FRONT_AND_BACK: - break; - default: + if (face != GL_FRONT_AND_BACK) { _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glMaterialxv(face=0x%x)", face); return; } + switch(pname) { case GL_AMBIENT: case GL_DIFFUSE: @@ -722,12 +630,12 @@ _es_Materialxv(GLenum face, GLenum pname, const GLfixed *params) } void GL_APIENTRY -_es_MultMatrixx(const GLfixed *m) +_mesa_MultMatrixx(const GLfixed *m) { unsigned int i; GLfloat converted_m[16]; - for (i = 0; i < Elements(converted_m); i++) { + for (i = 0; i < ARRAY_SIZE(converted_m); i++) { converted_m[i] = (GLfloat) (m[i] / 65536.0f); } @@ -735,7 +643,7 @@ _es_MultMatrixx(const GLfixed *m) } void GL_APIENTRY -_es_MultiTexCoord4x(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q) +_mesa_MultiTexCoord4x(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q) { _es_MultiTexCoord4f(texture, (GLfloat) (s / 65536.0f), @@ -745,7 +653,7 @@ _es_MultiTexCoord4x(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q) } void GL_APIENTRY -_es_Normal3x(GLfixed nx, GLfixed ny, GLfixed nz) +_mesa_Normal3x(GLfixed nx, GLfixed ny, GLfixed nz) { _es_Normal3f((GLfloat) (nx / 65536.0f), (GLfloat) (ny / 65536.0f), @@ -753,7 +661,7 @@ _es_Normal3x(GLfixed nx, GLfixed ny, GLfixed nz) } void GL_APIENTRY -_es_Orthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, +_mesa_Orthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) { _mesa_Ortho((GLdouble) (left), @@ -765,7 +673,7 @@ _es_Orthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, } void GL_APIENTRY -_es_Orthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, +_mesa_Orthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) { _mesa_Ortho((GLdouble) (left / 65536.0), @@ -777,24 +685,13 @@ _es_Orthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, } void GL_APIENTRY -_es_PointParameterx(GLenum pname, GLfixed param) +_mesa_PointParameterx(GLenum pname, GLfixed param) { - switch(pname) { - case GL_POINT_SIZE_MIN: - case GL_POINT_SIZE_MAX: - case GL_POINT_FADE_THRESHOLD_SIZE: - break; - default: - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glPointParameterx(pname=0x%x)", pname); - return; - } - _mesa_PointParameterf(pname, (GLfloat) (param / 65536.0f)); } void GL_APIENTRY -_es_PointParameterxv(GLenum pname, const GLfixed *params) +_mesa_PointParameterxv(GLenum pname, const GLfixed *params) { unsigned int i; unsigned int n_params = 3; @@ -823,20 +720,20 @@ _es_PointParameterxv(GLenum pname, const GLfixed *params) } void GL_APIENTRY -_es_PointSizex(GLfixed size) +_mesa_PointSizex(GLfixed size) { _mesa_PointSize((GLfloat) (size / 65536.0f)); } void GL_APIENTRY -_es_PolygonOffsetx(GLfixed factor, GLfixed units) +_mesa_PolygonOffsetx(GLfixed factor, GLfixed units) { _mesa_PolygonOffset((GLfloat) (factor / 65536.0f), (GLfloat) (units / 65536.0f)); } void GL_APIENTRY -_es_Rotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) +_mesa_Rotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) { _mesa_Rotatef((GLfloat) (angle / 65536.0f), (GLfloat) (x / 65536.0f), @@ -845,14 +742,14 @@ _es_Rotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) } void GL_APIENTRY -_es_SampleCoveragex(GLclampx value, GLboolean invert) +_mesa_SampleCoveragex(GLclampx value, GLboolean invert) { - _mesa_SampleCoverageARB((GLclampf) (value / 65536.0f), + _mesa_SampleCoverage((GLclampf) (value / 65536.0f), invert); } void GL_APIENTRY -_es_Scalex(GLfixed x, GLfixed y, GLfixed z) +_mesa_Scalex(GLfixed x, GLfixed y, GLfixed z) { _mesa_Scalef((GLfloat) (x / 65536.0f), (GLfloat) (y / 65536.0f), @@ -860,422 +757,142 @@ _es_Scalex(GLfixed x, GLfixed y, GLfixed z) } void GL_APIENTRY -_es_TexEnvx(GLenum target, GLenum pname, GLfixed param) +_mesa_TexEnvx(GLenum target, GLenum pname, GLfixed param) { - GLfloat converted_param; - bool convert_param_value = true; - switch(target) { case GL_POINT_SPRITE: - if (pname != GL_COORD_REPLACE) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvx(target=0x%x)", target); - return; - } - break; case GL_TEXTURE_FILTER_CONTROL_EXT: - if (pname != GL_TEXTURE_LOD_BIAS_EXT) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvx(target=0x%x)", target); - return; - } - break; case GL_TEXTURE_ENV: - if (pname != GL_TEXTURE_ENV_MODE && pname != GL_COMBINE_RGB && pname != GL_COMBINE_ALPHA && pname != GL_RGB_SCALE && pname != GL_ALPHA_SCALE && pname != GL_SRC0_RGB && pname != GL_SRC1_RGB && pname != GL_SRC2_RGB && pname != GL_SRC0_ALPHA && pname != GL_SRC1_ALPHA && pname != GL_SRC2_ALPHA && pname != GL_OPERAND0_RGB && pname != GL_OPERAND1_RGB && pname != GL_OPERAND2_RGB && pname != GL_OPERAND0_ALPHA && pname != GL_OPERAND1_ALPHA && pname != GL_OPERAND2_ALPHA && pname != GL_TEXTURE_ENV_COLOR) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvx(target=0x%x)", target); - return; - } break; default: _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvx(target=0x%x)", target); return; } + switch(pname) { case GL_COORD_REPLACE: - if (param != GL_TRUE && param != GL_FALSE) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvx(pname=0x%x)", pname); - return; - } - convert_param_value = false; - break; - case GL_TEXTURE_LOD_BIAS_EXT: - break; case GL_TEXTURE_ENV_MODE: - if (param != GL_REPLACE && param != GL_MODULATE && param != GL_DECAL && param != GL_BLEND && param != GL_ADD && param != GL_COMBINE) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvx(pname=0x%x)", pname); - return; - } - convert_param_value = false; - break; case GL_COMBINE_RGB: - if (param != GL_REPLACE && param != GL_MODULATE && param != GL_ADD && param != GL_ADD_SIGNED && param != GL_INTERPOLATE && param != GL_SUBTRACT && param != GL_DOT3_RGB && param != GL_DOT3_RGBA) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvx(pname=0x%x)", pname); - return; - } - convert_param_value = false; - break; case GL_COMBINE_ALPHA: - if (param != GL_REPLACE && param != GL_MODULATE && param != GL_ADD && param != GL_ADD_SIGNED && param != GL_INTERPOLATE && param != GL_SUBTRACT) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvx(pname=0x%x)", pname); - return; - } - convert_param_value = false; - break; - case GL_RGB_SCALE: - case GL_ALPHA_SCALE: - break; case GL_SRC0_RGB: case GL_SRC1_RGB: case GL_SRC2_RGB: case GL_SRC0_ALPHA: case GL_SRC1_ALPHA: case GL_SRC2_ALPHA: - convert_param_value = false; - break; case GL_OPERAND0_RGB: case GL_OPERAND1_RGB: case GL_OPERAND2_RGB: - if (param != GL_SRC_COLOR && param != GL_ONE_MINUS_SRC_COLOR && param != GL_SRC_ALPHA && param != GL_ONE_MINUS_SRC_ALPHA) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvx(pname=0x%x)", pname); - return; - } - convert_param_value = false; - break; case GL_OPERAND0_ALPHA: case GL_OPERAND1_ALPHA: case GL_OPERAND2_ALPHA: - if (param != GL_SRC_ALPHA && param != GL_ONE_MINUS_SRC_ALPHA) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvx(pname=0x%x)", pname); - return; - } - convert_param_value = false; + _mesa_TexEnvf(target, pname, (GLfloat) param); + break; + case GL_TEXTURE_LOD_BIAS_EXT: + case GL_RGB_SCALE: + case GL_ALPHA_SCALE: + _mesa_TexEnvf(target, pname, (GLfloat) (param / 65536.0f)); break; default: _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvx(pname=0x%x)", pname); return; } - - if (convert_param_value) { - converted_param = (GLfloat) (param / 65536.0f); - } else { - converted_param = (GLfloat) param; - } - - _mesa_TexEnvf(target, pname, converted_param); } void GL_APIENTRY -_es_TexEnvxv(GLenum target, GLenum pname, const GLfixed *params) +_mesa_TexEnvxv(GLenum target, GLenum pname, const GLfixed *params) { - unsigned int i; - unsigned int n_params = 4; - GLfloat converted_params[4]; - bool convert_params_value = true; - switch(target) { case GL_POINT_SPRITE: - if (pname != GL_COORD_REPLACE) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvxv(target=0x%x)", target); - return; - } - break; case GL_TEXTURE_FILTER_CONTROL_EXT: - if (pname != GL_TEXTURE_LOD_BIAS_EXT) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvxv(target=0x%x)", target); - return; - } - break; case GL_TEXTURE_ENV: - if (pname != GL_TEXTURE_ENV_MODE && pname != GL_COMBINE_RGB && pname != GL_COMBINE_ALPHA && pname != GL_RGB_SCALE && pname != GL_ALPHA_SCALE && pname != GL_SRC0_RGB && pname != GL_SRC1_RGB && pname != GL_SRC2_RGB && pname != GL_SRC0_ALPHA && pname != GL_SRC1_ALPHA && pname != GL_SRC2_ALPHA && pname != GL_OPERAND0_RGB && pname != GL_OPERAND1_RGB && pname != GL_OPERAND2_RGB && pname != GL_OPERAND0_ALPHA && pname != GL_OPERAND1_ALPHA && pname != GL_OPERAND2_ALPHA && pname != GL_TEXTURE_ENV_COLOR) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvxv(target=0x%x)", target); - return; - } break; default: _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, "glTexEnvxv(target=0x%x)", target); return; } + switch(pname) { case GL_COORD_REPLACE: - if (params[0] != GL_TRUE && params[0] != GL_FALSE) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvxv(pname=0x%x)", pname); - return; - } - convert_params_value = false; - n_params = 1; - break; - case GL_TEXTURE_LOD_BIAS_EXT: - n_params = 1; - break; case GL_TEXTURE_ENV_MODE: - if (params[0] != GL_REPLACE && params[0] != GL_MODULATE && params[0] != GL_DECAL && params[0] != GL_BLEND && params[0] != GL_ADD && params[0] != GL_COMBINE) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvxv(pname=0x%x)", pname); - return; - } - convert_params_value = false; - n_params = 1; - break; case GL_COMBINE_RGB: - if (params[0] != GL_REPLACE && params[0] != GL_MODULATE && params[0] != GL_ADD && params[0] != GL_ADD_SIGNED && params[0] != GL_INTERPOLATE && params[0] != GL_SUBTRACT && params[0] != GL_DOT3_RGB && params[0] != GL_DOT3_RGBA) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvxv(pname=0x%x)", pname); - return; - } - convert_params_value = false; - n_params = 1; - break; case GL_COMBINE_ALPHA: - if (params[0] != GL_REPLACE && params[0] != GL_MODULATE && params[0] != GL_ADD && params[0] != GL_ADD_SIGNED && params[0] != GL_INTERPOLATE && params[0] != GL_SUBTRACT) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvxv(pname=0x%x)", pname); - return; - } - convert_params_value = false; - n_params = 1; - break; - case GL_RGB_SCALE: - case GL_ALPHA_SCALE: - break; case GL_SRC0_RGB: case GL_SRC1_RGB: case GL_SRC2_RGB: case GL_SRC0_ALPHA: case GL_SRC1_ALPHA: case GL_SRC2_ALPHA: - convert_params_value = false; - n_params = 1; - break; case GL_OPERAND0_RGB: case GL_OPERAND1_RGB: case GL_OPERAND2_RGB: - if (params[0] != GL_SRC_COLOR && params[0] != GL_ONE_MINUS_SRC_COLOR && params[0] != GL_SRC_ALPHA && params[0] != GL_ONE_MINUS_SRC_ALPHA) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvxv(pname=0x%x)", pname); - return; - } - convert_params_value = false; - n_params = 1; - break; case GL_OPERAND0_ALPHA: case GL_OPERAND1_ALPHA: case GL_OPERAND2_ALPHA: - if (params[0] != GL_SRC_ALPHA && params[0] != GL_ONE_MINUS_SRC_ALPHA) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvxv(pname=0x%x)", pname); - return; - } - convert_params_value = false; - n_params = 1; + _mesa_TexEnvf(target, pname, (GLfloat) params[0]); break; - case GL_TEXTURE_ENV_COLOR: - n_params = 4; + case GL_TEXTURE_LOD_BIAS_EXT: + case GL_RGB_SCALE: + case GL_ALPHA_SCALE: + _mesa_TexEnvf(target, pname, (GLfloat) (params[0] / 65536.0f)); break; - default: - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexEnvxv(pname=0x%x)", pname); - return; - } + case GL_TEXTURE_ENV_COLOR: { + unsigned int i; + GLfloat converted_params[4]; - if (convert_params_value) { - for (i = 0; i < n_params; i++) { + for (i = 0; i < ARRAY_SIZE(converted_params); i++) { converted_params[i] = (GLfloat) (params[i] / 65536.0f); } - } else { - for (i = 0; i < n_params; i++) { - converted_params[i] = (GLfloat) params[i]; - } - } - _mesa_TexEnvfv(target, pname, converted_params); -} - -void GL_APIENTRY -_check_TexGeniOES(GLenum coord, GLenum pname, GLint param) -{ - switch(coord) { - case GL_TEXTURE_GEN_STR_OES: + _mesa_TexEnvfv(target, pname, converted_params); break; - default: - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexGeniOES(coord=0x%x)", coord); - return; } - switch(pname) { - case GL_TEXTURE_GEN_MODE: - if (param != GL_NORMAL_MAP && param != GL_REFLECTION_MAP) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexGeniOES(pname=0x%x)", pname); - return; - } - break; default: _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexGeniOES(pname=0x%x)", pname); + "glTexEnvxv(pname=0x%x)", pname); return; } +} +void GL_APIENTRY +_check_TexGeniOES(GLenum coord, GLenum pname, GLint param) +{ _es_TexGenf(coord, pname, (GLfloat) param); } void GL_APIENTRY _check_TexGenivOES(GLenum coord, GLenum pname, const GLint *params) { - unsigned int i; - unsigned int n_params = 1; - GLfloat converted_params[1]; - - switch(coord) { - case GL_TEXTURE_GEN_STR_OES: - break; - default: - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexGenivOES(coord=0x%x)", coord); - return; - } - switch(pname) { - case GL_TEXTURE_GEN_MODE: - if (params[0] != GL_NORMAL_MAP && params[0] != GL_REFLECTION_MAP) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexGenivOES(pname=0x%x)", pname); - return; - } - n_params = 1; - break; - default: - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexGenivOES(pname=0x%x)", pname); - return; - } - - for (i = 0; i < n_params; i++) { - converted_params[i] = (GLfloat) params[i]; - } - - _es_TexGenfv(coord, pname, converted_params); + _es_TexGenf(coord, pname, (GLfloat) params[0]); } void GL_APIENTRY -_check_TexGenxOES(GLenum coord, GLenum pname, GLfixed param) +_mesa_TexGenxOES(GLenum coord, GLenum pname, GLfixed param) { - switch(coord) { - case GL_TEXTURE_GEN_STR_OES: - break; - default: - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexGenxOES(coord=0x%x)", coord); - return; - } - switch(pname) { - case GL_TEXTURE_GEN_MODE: - if (param != GL_NORMAL_MAP && param != GL_REFLECTION_MAP) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexGenxOES(pname=0x%x)", pname); - return; - } - break; - default: - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexGenxOES(pname=0x%x)", pname); - return; - } - _es_TexGenf(coord, pname, (GLfloat) param); } void GL_APIENTRY -_check_TexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params) +_mesa_TexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params) { - unsigned int i; - unsigned int n_params = 1; - GLfloat converted_params[1]; - - switch(coord) { - case GL_TEXTURE_GEN_STR_OES: - break; - default: - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexGenxvOES(coord=0x%x)", coord); - return; - } - switch(pname) { - case GL_TEXTURE_GEN_MODE: - if (params[0] != GL_NORMAL_MAP && params[0] != GL_REFLECTION_MAP) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexGenxvOES(pname=0x%x)", pname); - return; - } - n_params = 1; - break; - default: - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexGenxvOES(pname=0x%x)", pname); - return; - } - - for (i = 0; i < n_params; i++) { - converted_params[i] = (GLfloat) params[i]; - } - - _es_TexGenfv(coord, pname, converted_params); + _es_TexGenf(coord, pname, (GLfloat) params[0]); } void GL_APIENTRY -_es_TexParameterx(GLenum target, GLenum pname, GLfixed param) +_mesa_TexParameterx(GLenum target, GLenum pname, GLfixed param) { - GLfloat converted_param; - bool convert_param_value = true; - - switch(pname) { - case GL_TEXTURE_WRAP_S: - case GL_TEXTURE_WRAP_T: - convert_param_value = false; - break; - case GL_TEXTURE_MIN_FILTER: - case GL_TEXTURE_MAG_FILTER: - convert_param_value = false; - break; - case GL_GENERATE_MIPMAP: - if (param != GL_TRUE && param != GL_FALSE) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexParameterx(pname=0x%x)", pname); - return; - } - convert_param_value = false; - break; - case GL_TEXTURE_MAX_ANISOTROPY_EXT: - break; - default: - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexParameterx(pname=0x%x)", pname); - return; - } - - if (convert_param_value) { - converted_param = (GLfloat) (param / 65536.0f); + if (pname == GL_TEXTURE_MAX_ANISOTROPY_EXT) { + _mesa_TexParameterf(target, pname, (GLfloat) (param / 65536.0f)); } else { - converted_param = (GLfloat) param; + _mesa_TexParameterf(target, pname, (GLfloat) param); } - - _mesa_TexParameterf(target, pname, converted_param); } void GL_APIENTRY -_es_TexParameterxv(GLenum target, GLenum pname, const GLfixed *params) +_mesa_TexParameterxv(GLenum target, GLenum pname, const GLfixed *params) { unsigned int i; unsigned int n_params = 4; @@ -1300,15 +917,7 @@ _es_TexParameterxv(GLenum target, GLenum pname, const GLfixed *params) break; case GL_TEXTURE_MIN_FILTER: case GL_TEXTURE_MAG_FILTER: - convert_params_value = false; - n_params = 1; - break; case GL_GENERATE_MIPMAP: - if (params[0] != GL_TRUE && params[0] != GL_FALSE) { - _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, - "glTexParameterxv(pname=0x%x)", pname); - return; - } convert_params_value = false; n_params = 1; break; @@ -1338,11 +947,9 @@ _es_TexParameterxv(GLenum target, GLenum pname, const GLfixed *params) } void GL_APIENTRY -_es_Translatex(GLfixed x, GLfixed y, GLfixed z) +_mesa_Translatex(GLfixed x, GLfixed y, GLfixed z) { _mesa_Translatef((GLfloat) (x / 65536.0f), (GLfloat) (y / 65536.0f), (GLfloat) (z / 65536.0f)); } - -#endif /* FEATURE_ES1 */