dispatch: Make all API functions non-static.
[mesa.git] / src / mesa / main / es1_conversion.c
index c1d7b83306c788a68e3491f53092379b9aecff4d..993147c4760259dc65290e4fff0bef544d7e9f62 100644 (file)
@@ -1,8 +1,6 @@
 #include <stdbool.h>
 #include "main/mfeatures.h"
 
-#if FEATURE_ES1
-
 #include "api_loopback.h"
 #include "api_exec.h"
 #include "blend.h"
 #include "main/drawtex.h"
 #include "vbo/vbo.h"
 
-#ifndef GL_APIENTRY
-#define GL_APIENTRY GLAPIENTRY
-#endif
-
 #include "main/es1_conversion.h"
 
 void GL_APIENTRY
@@ -293,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;
@@ -399,63 +392,13 @@ _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)
 {
-   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
@@ -509,20 +452,6 @@ _es_GetTexParameterxv(GLenum target, GLenum pname, GLfixed *params)
 void GL_APIENTRY
 _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);
 }
 
@@ -539,11 +468,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;
@@ -636,18 +560,13 @@ _es_LoadMatrixx(const GLfixed *m)
 void GL_APIENTRY
 _es_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;
@@ -663,14 +582,12 @@ _es_Materialxv(GLenum face, GLenum pname, const GLfixed *params)
    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:
@@ -753,17 +670,6 @@ _es_Orthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top,
 void GL_APIENTRY
 _es_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));
 }
 
@@ -836,376 +742,126 @@ _es_Scalex(GLfixed x, GLfixed y, GLfixed z)
 void GL_APIENTRY
 _es_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)
 {
-   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 < Elements(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)
 {
-   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)
 {
-    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
@@ -1280,5 +936,3 @@ _es_Translatex(GLfixed x, GLfixed y, GLfixed z)
                      (GLfloat) (y / 65536.0f),
                      (GLfloat) (z / 65536.0f));
 }
-
-#endif /* FEATURE_ES1 */