changeset 35888:f464ea910bd2

Better compatibility with more restricted GL headers.
author reimar
date Sat, 16 Mar 2013 15:18:15 +0000
parents dfc7a72eb50f
children a51578d7e264
files libvo/gl_common.c libvo/gl_common.h libvo/gl_compat.h libvo/matrixview.c libvo/vo_gl.c
diffstat 5 files changed, 131 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/gl_common.c	Sat Mar 16 15:17:26 2013 +0000
+++ b/libvo/gl_common.c	Sat Mar 16 15:18:15 2013 +0000
@@ -67,7 +67,7 @@
 void (GLAPIENTRY *mpglColor4ub)(GLubyte, GLubyte, GLubyte, GLubyte);
 void (GLAPIENTRY *mpglColor4f)(GLfloat, GLfloat, GLfloat, GLfloat);
 void (GLAPIENTRY *mpglClearColor)(GLclampf, GLclampf, GLclampf, GLclampf);
-void (GLAPIENTRY *mpglClearDepth)(GLclampd);
+void (GLAPIENTRY *mpglClearDepthf)(GLclampf);
 void (GLAPIENTRY *mpglDepthFunc)(GLenum);
 void (GLAPIENTRY *mpglEnable)(GLenum);
 void (GLAPIENTRY *mpglDisable)(GLenum);
@@ -92,6 +92,7 @@
 void (GLAPIENTRY *mpglColorMaterial)(GLenum, GLenum);
 void (GLAPIENTRY *mpglShadeModel)(GLenum);
 void (GLAPIENTRY *mpglGetIntegerv)(GLenum, GLint *);
+static void (GLAPIENTRY *mpglGetTexLevelParameteriv)(GLenum, GLint, GLenum, GLint *);
 void (GLAPIENTRY *mpglColorMask)(GLboolean, GLboolean, GLboolean, GLboolean);
 
 /**
@@ -430,7 +431,7 @@
   DEF_FUNC_DESC(Color4ub),
   DEF_FUNC_DESC(Color4f),
   DEF_FUNC_DESC(ClearColor),
-  DEF_FUNC_DESC(ClearDepth),
+  DEF_FUNC_DESC(ClearDepthf),
   DEF_FUNC_DESC(DepthFunc),
   DEF_FUNC_DESC(Enable),
   DEF_FUNC_DESC(Disable),
@@ -454,6 +455,7 @@
   DEF_FUNC_DESC(ColorMaterial),
   DEF_FUNC_DESC(ShadeModel),
   DEF_FUNC_DESC(GetIntegerv),
+  DEF_FUNC_DESC(GetTexLevelParameteriv),
   DEF_FUNC_DESC(ColorMask),
 
   // here start the real extensions
@@ -584,7 +586,7 @@
   if (format == GL_LUMINANCE && type == GL_UNSIGNED_SHORT) {
     // ensure we get enough bits
     GLint bits = 0;
-    glGetTexLevelParameteriv(target, 0, GL_TEXTURE_LUMINANCE_SIZE, &bits);
+    mpglGetTexLevelParameteriv(target, 0, GL_TEXTURE_LUMINANCE_SIZE, &bits);
     if (bits > 0 && bits < 14 && (use_depth_l16 || HAVE_BIGENDIAN)) {
       fmt = GL_DEPTH_COMPONENT16;
       format = GL_DEPTH_COMPONENT;
--- a/libvo/gl_common.h	Sat Mar 16 15:17:26 2013 +0000
+++ b/libvo/gl_common.h	Sat Mar 16 15:18:15 2013 +0000
@@ -250,7 +250,7 @@
 extern void (GLAPIENTRY *mpglColor4ub)(GLubyte, GLubyte, GLubyte, GLubyte);
 extern void (GLAPIENTRY *mpglColor4f)(GLfloat, GLfloat, GLfloat, GLfloat);
 extern void (GLAPIENTRY *mpglClearColor)(GLclampf, GLclampf, GLclampf, GLclampf);
-extern void (GLAPIENTRY *mpglClearDepth)(GLclampd);
+extern void (GLAPIENTRY *mpglClearDepthf)(GLclampf);
 extern void (GLAPIENTRY *mpglDepthFunc)(GLenum);
 extern void (GLAPIENTRY *mpglEnable)(GLenum);
 extern void (GLAPIENTRY *mpglDisable)(GLenum);
--- a/libvo/gl_compat.h	Sat Mar 16 15:17:26 2013 +0000
+++ b/libvo/gl_compat.h	Sat Mar 16 15:18:15 2013 +0000
@@ -35,6 +35,127 @@
 #endif
 #endif
 
+// base OpenGL defines
+#ifndef GL_NONE
+#define GL_NONE 0
+#endif
+
+#ifndef GL_QUADS
+#define GL_QUADS 0x0007
+#endif
+
+#ifndef GL_FRONT_LEFT
+#define GL_FRONT_LEFT 0x0400
+#endif
+#ifndef GL_FRONT_RIGHT
+#define GL_FRONT_RIGHT 0x0401
+#endif
+#ifndef GL_BACK_LEFT
+#define GL_BACK_LEFT 0x0402
+#endif
+#ifndef GL_BACK_RIGHT
+#define GL_BACK_RIGHT 0x0403
+#endif
+
+#ifndef GL_DRAW_BUFFER
+#define GL_DRAW_BUFFER 0x0C01
+#endif
+#ifndef GL_UNPACK_ROW_LENGTH
+#define GL_UNPACK_ROW_LENGTH 0x0CF2
+#endif
+
+#ifndef GL_TEXTURE_1D
+#define GL_TEXTURE_1D 0x0DE0
+#endif
+#ifndef GL_TEXTURE_BORDER_COLOR
+#define GL_TEXTURE_BORDER_COLOR 0x1004
+#endif
+#ifndef GL_COMPILE
+#define GL_COMPILE 0x1300
+#endif
+#ifndef GL_CLAMP
+#define GL_CLAMP 0x2900
+#endif
+
+#ifndef GL_INT
+#define GL_INT 0x1404
+#endif
+#ifndef GL_2_BYTES
+#define GL_2_BYTES 0x1407
+#endif
+#ifndef GL_3_BYTES
+#define GL_3_BYTES 0x1408
+#endif
+#ifndef GL_4_BYTES
+#define GL_4_BYTES 0x1409
+#endif
+#ifndef GL_DOUBLE
+#define GL_DOUBLE 0x140A
+#endif
+
+#ifndef GL_COLOR_INDEX
+#define GL_COLOR_INDEX 0x1900
+#endif
+#ifndef GL_RED
+#define GL_RED 0x1903
+#endif
+#ifndef GL_GREEN
+#define GL_GREEN 0x1904
+#endif
+#ifndef GL_BLUE
+#define GL_BLUE 0x1905
+#endif
+#ifndef GL_R3_G3_B2
+#define GL_R3_G3_B2 0x2A10
+#endif
+#ifndef GL_LUMINANCE8
+#define GL_LUMINANCE8 0x8040
+#endif
+#ifndef GL_RGB4
+#define GL_RGB4 0x804F
+#endif
+#ifndef GL_RGB5
+#define GL_RGB5 0x8050
+#endif
+#ifndef GL_RGB8
+#define GL_RGB8 0x8051
+#endif
+#ifndef GL_RGB10
+#define GL_RGB10 0x8052
+#endif
+#ifndef GL_RGB12
+#define GL_RGB12 0x8053
+#endif
+#ifndef GL_RGB16
+#define GL_RGB16 0x8054
+#endif
+#ifndef GL_RGBA2
+#define GL_RGBA2 0x8055
+#endif
+#ifndef GL_RGBA4
+#define GL_RGBA4 0x8056
+#endif
+#ifndef GL_RGB5_A1
+#define GL_RGB5_A1 0x8057
+#endif
+#ifndef GL_RGBA8
+#define GL_RGBA8  0x8058
+#endif
+#ifndef GL_RGB10_A2
+#define GL_RGB10_A2 0x8059
+#endif
+#ifndef GL_RGBA12
+#define GL_RGBA12 0x805A
+#endif
+#ifndef GL_RGBA16
+#define GL_RGBA16 0x805B
+#endif
+
+#ifndef GL_TEXTURE_PRIORITY
+#define GL_TEXTURE_PRIORITY 0x8066
+#endif
+
+
 /**
  * \defgroup glextdefines OpenGL extension defines
  *
--- a/libvo/matrixview.c	Sat Mar 16 15:17:26 2013 +0000
+++ b/libvo/matrixview.c	Sat Mar 16 15:18:15 2013 +0000
@@ -278,7 +278,7 @@
     mpglClearColor(0.0f, 0.0f, 0.0f, 0.0f);
 
     // Depth to clear depth buffer to; type of test.
-    mpglClearDepth(1.0);
+    mpglClearDepthf(1.0);
     mpglDepthFunc(GL_LESS);
 
     // Enables Smooth Color Shading; try GL_FLAT for (lack of) fun.
--- a/libvo/vo_gl.c	Sat Mar 16 15:17:26 2013 +0000
+++ b/libvo/vo_gl.c	Sat Mar 16 15:18:15 2013 +0000
@@ -195,13 +195,13 @@
   ass_border_x = ass_border_y = 0;
   if (aspect_scaling() && use_aspect) {
     int new_w, new_h;
-    GLdouble scale_x, scale_y;
+    double scale_x, scale_y;
     aspect(&new_w, &new_h, A_WINZOOM);
     panscan_calc_windowed();
     new_w += vo_panscan_x;
     new_h += vo_panscan_y;
-    scale_x = (GLdouble)new_w / (GLdouble)x;
-    scale_y = (GLdouble)new_h / (GLdouble)y;
+    scale_x = (double)new_w / (double)x;
+    scale_y = (double)new_h / (double)y;
     matrix[0]  *= scale_x;
     matrix[12] *= scale_x;
     matrix[5]  *= scale_y;