mesa: new BYTE/SHORT_TO_FLOATZ() macros
[mesa.git] / src / mesa / main / texgen.c
index 5abb1ff0ab60a772448230e657b4b9d5c43317ff..0ace0b9364d5f2a7c0e2b9f233d791e42db62b82 100644 (file)
 #include "main/context.h"
 #include "main/enums.h"
 #include "main/macros.h"
+#include "main/mfeatures.h"
 #include "main/texgen.h"
 #include "main/texstate.h"
 #include "math/m_matrix.h"
-#include "glapi/dispatch.h"
+#include "main/dispatch.h"
 
 
 #if FEATURE_texgen
@@ -186,11 +187,45 @@ _mesa_TexGeniv(GLenum coord, GLenum pname, const GLint *params )
 static void GLAPIENTRY
 _mesa_TexGend(GLenum coord, GLenum pname, GLdouble param )
 {
-   GLfloat p = (GLfloat) param;
-   _mesa_TexGenfv( coord, pname, &p );
+   GLfloat p[4];
+   p[0] = (GLfloat) param;
+   p[1] = p[2] = p[3] = 0.0F;
+   _mesa_TexGenfv( coord, pname, p );
+}
+
+#if FEATURE_ES1
+
+void GLAPIENTRY
+_es_GetTexGenfv(GLenum coord, GLenum pname, GLfloat *params)
+{
+   ASSERT(coord == GL_TEXTURE_GEN_STR_OES);
+   _mesa_GetTexGenfv(GL_S, pname, params);
+}
+
+
+void GLAPIENTRY
+_es_TexGenf(GLenum coord, GLenum pname, GLfloat param)
+{
+   ASSERT(coord == GL_TEXTURE_GEN_STR_OES);
+   /* set S, T, and R at the same time */
+   _mesa_TexGenf(GL_S, pname, param);
+   _mesa_TexGenf(GL_T, pname, param);
+   _mesa_TexGenf(GL_R, pname, param);
 }
 
 
+void GLAPIENTRY
+_es_TexGenfv(GLenum coord, GLenum pname, const GLfloat *params)
+{
+   ASSERT(coord == GL_TEXTURE_GEN_STR_OES);
+   /* set S, T, and R at the same time */
+   _mesa_TexGenfv(GL_S, pname, params);
+   _mesa_TexGenfv(GL_T, pname, params);
+   _mesa_TexGenfv(GL_R, pname, params);
+}
+
+#endif
+
 static void GLAPIENTRY
 _mesa_TexGendv(GLenum coord, GLenum pname, const GLdouble *params )
 {
@@ -208,7 +243,7 @@ _mesa_TexGendv(GLenum coord, GLenum pname, const GLdouble *params )
 }
 
 
-static void GLAPIENTRY
+void GLAPIENTRY
 _mesa_TexGenf( GLenum coord, GLenum pname, GLfloat param )
 {
    GLfloat p[4];
@@ -267,7 +302,7 @@ _mesa_GetTexGendv( GLenum coord, GLenum pname, GLdouble *params )
 
 
 
-static void GLAPIENTRY
+void GLAPIENTRY
 _mesa_GetTexGenfv( GLenum coord, GLenum pname, GLfloat *params )
 {
    struct gl_texture_unit *texUnit;