Browse Source

fix some minor bugs, and remove unsupported double-precision glUniform functions

rdb 13 years ago
parent
commit
6b0bf98d0e

+ 9 - 22
panda/src/glstuff/glGraphicsStateGuardian_src.cxx

@@ -1010,8 +1010,6 @@ reset() {
        get_extension_func(GLPREFIX_QUOTED, "UseProgram");
     _glUniform4f = (PFNGLUNIFORM4FPROC)
        get_extension_func(GLPREFIX_QUOTED, "Uniform4f");
-    _glUniform4d = (PFNGLUNIFORM4DPROC)
-       get_extension_func(GLPREFIX_QUOTED, "Uniform4d");
     _glUniform1i = (PFNGLUNIFORM1IPROC)
        get_extension_func(GLPREFIX_QUOTED, "Uniform1i");
     _glUniform1fv = (PFNGLUNIFORM1FVPROC)
@@ -1022,26 +1020,21 @@ reset() {
        get_extension_func(GLPREFIX_QUOTED, "Uniform3fv");
     _glUniform4fv = (PFNGLUNIFORM4FVPROC)
        get_extension_func(GLPREFIX_QUOTED, "Uniform4fv");
-    _glUniform1dv = (PFNGLUNIFORM1DVPROC)
-       get_extension_func(GLPREFIX_QUOTED, "Uniform1dv");
-    _glUniform2dv = (PFNGLUNIFORM2DVPROC)
-       get_extension_func(GLPREFIX_QUOTED, "Uniform2dv");
-    _glUniform3dv = (PFNGLUNIFORM3DVPROC)
-       get_extension_func(GLPREFIX_QUOTED, "Uniform3dv");
-    _glUniform4dv = (PFNGLUNIFORM4DVPROC)
-       get_extension_func(GLPREFIX_QUOTED, "Uniform4dv");
     _glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)
        get_extension_func(GLPREFIX_QUOTED, "UniformMatrix4fv");
-    _glUniformMatrix4dv = (PFNGLUNIFORMMATRIX4DVPROC)
-       get_extension_func(GLPREFIX_QUOTED, "UniformMatrix4dv");
     _glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)
        get_extension_func(GLPREFIX_QUOTED, "ValidateProgram");
     _glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)
        get_extension_func(GLPREFIX_QUOTED, "VertexAttribPointer");
-    _glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)
-      get_extension_func(GLPREFIX_QUOTED, "ProgramParameteri");
-    _glPatchParameteri = (PFNGLPATCHPARAMETERIPROC)
-       get_extension_func(GLPREFIX_QUOTED, "PatchParameteri");
+
+    if (_supports_geometry_shaders) {
+      _glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)
+        get_extension_func(GLPREFIX_QUOTED, "ProgramParameteri");
+    }
+    if (_supports_tessellation_shaders) {
+      _glPatchParameteri = (PFNGLPATCHPARAMETERIPROC)
+         get_extension_func(GLPREFIX_QUOTED, "PatchParameteri");
+    }
   }
 #endif
 
@@ -1068,18 +1061,12 @@ reset() {
   _glShaderSource = glShaderSource;
   _glUseProgram = glUseProgram;
   _glUniform4f = glUniform4f;
-  _glUniform4d = NULL;
   _glUniform1i = glUniform1i;
   _glUniform1fv = glUniform1fv;
   _glUniform2fv = glUniform2fv;
   _glUniform3fv = glUniform3fv;
   _glUniform4fv = glUniform4fv;
-  _glUniform1dv = NULL;
-  _glUniform2dv = NULL;
-  _glUniform3dv = NULL;
-  _glUniform4dv = NULL;
   _glUniformMatrix4fv = glUniformMatrix4fv;
-  _glUniformMatrix4dv = NULL;
   _glValidateProgram = glValidateProgram;
   _glVertexAttribPointer = glVertexAttribPointer;
 

+ 0 - 12
panda/src/glstuff/glGraphicsStateGuardian_src.h

@@ -153,18 +153,12 @@ typedef void (APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
 typedef void (APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar **string, const GLint *length);
 typedef void (APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
 typedef void (APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
-typedef void (APIENTRYP PFNGLUNIFORM4DPROC) (GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
 typedef void (APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
 typedef void (APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
 typedef void (APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
 typedef void (APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
 typedef void (APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORM1DVPROC) (GLint location, GLsizei count, const GLdouble *value);
-typedef void (APIENTRYP PFNGLUNIFORM2DVPROC) (GLint location, GLsizei count, const GLdouble *value);
-typedef void (APIENTRYP PFNGLUNIFORM3DVPROC) (GLint location, GLsizei count, const GLdouble *value);
-typedef void (APIENTRYP PFNGLUNIFORM4DVPROC) (GLint location, GLsizei count, const GLdouble *value);
 typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORMMATRIX4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
 typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
 #endif  // OPENGLES_1
@@ -667,18 +661,12 @@ public:
   PFNGLSHADERSOURCEPROC _glShaderSource;
   PFNGLUSEPROGRAMPROC  _glUseProgram;
   PFNGLUNIFORM4FPROC _glUniform4f;
-  PFNGLUNIFORM4DPROC _glUniform4d;
   PFNGLUNIFORM1IPROC _glUniform1i;
   PFNGLUNIFORM1FVPROC _glUniform1fv;
   PFNGLUNIFORM2FVPROC _glUniform2fv;
   PFNGLUNIFORM3FVPROC _glUniform3fv;
   PFNGLUNIFORM4FVPROC _glUniform4fv;
-  PFNGLUNIFORM1DVPROC _glUniform1dv;
-  PFNGLUNIFORM2DVPROC _glUniform2dv;
-  PFNGLUNIFORM3DVPROC _glUniform3dv;
-  PFNGLUNIFORM4DVPROC _glUniform4dv;
   PFNGLUNIFORMMATRIX4FVPROC _glUniformMatrix4fv;
-  PFNGLUNIFORMMATRIX4DVPROC _glUniformMatrix4dv;
   PFNGLVALIDATEPROGRAMPROC _glValidateProgram;
   PFNGLVERTEXATTRIBPOINTERPROC _glVertexAttribPointer;
 #endif  // OPENGLES_1