Browse Source

Fix build for GLES

rdb 11 years ago
parent
commit
93ed8b275e
2 changed files with 24 additions and 6 deletions
  1. 6 0
      panda/src/gles2gsg/gles2gsg.h
  2. 18 6
      panda/src/glstuff/glGraphicsStateGuardian_src.cxx

+ 6 - 0
panda/src/gles2gsg/gles2gsg.h

@@ -86,6 +86,12 @@ typedef char GLchar;
 #define GL_MAX_3D_TEXTURE_SIZE GL_MAX_3D_TEXTURE_SIZE_OES
 #define GL_MAX_3D_TEXTURE_SIZE GL_MAX_3D_TEXTURE_SIZE_OES
 #define GL_SAMPLER_3D GL_SAMPLER_3D_OES
 #define GL_SAMPLER_3D GL_SAMPLER_3D_OES
 #define GL_BGRA GL_BGRA_EXT
 #define GL_BGRA GL_BGRA_EXT
+#define GL_RED GL_RED_EXT
+#define GL_RG GL_RG_EXT
+#define GL_R16F GL_R16F_EXT
+#define GL_RG16F GL_RG16F_EXT
+#define GL_RGB16F GL_RGB16F_EXT
+#define GL_RGBA16F GL_RGBA16F_EXT
 
 
 #undef SUPPORT_IMMEDIATE_MODE
 #undef SUPPORT_IMMEDIATE_MODE
 #define APIENTRY
 #define APIENTRY

+ 18 - 6
panda/src/glstuff/glGraphicsStateGuardian_src.cxx

@@ -6405,8 +6405,10 @@ get_external_image_format(Texture *tex) const {
 #endif
 #endif
   case Texture::F_alpha:
   case Texture::F_alpha:
     return GL_ALPHA;
     return GL_ALPHA;
+#ifndef OPENGLES_1
   case Texture::F_rg16:
   case Texture::F_rg16:
     return GL_RG;
     return GL_RG;
+#endif
   case Texture::F_rgb:
   case Texture::F_rgb:
   case Texture::F_rgb5:
   case Texture::F_rgb5:
   case Texture::F_rgb8:
   case Texture::F_rgb8:
@@ -6681,8 +6683,10 @@ get_internal_image_format(Texture *tex) const {
     return GL_RGBA8_OES;
     return GL_RGBA8_OES;
   case Texture::F_rgba12:
   case Texture::F_rgba12:
     return GL_RGBA;
     return GL_RGBA;
+#ifndef OPENGLES_1
   case Texture::F_rgba16:
   case Texture::F_rgba16:
     return GL_RGBA16F_EXT;
     return GL_RGBA16F_EXT;
+#endif  // OPENGLES_1
   case Texture::F_rgba32:
   case Texture::F_rgba32:
     return GL_RGBA32F_EXT;
     return GL_RGBA32F_EXT;
 #else
 #else
@@ -6733,12 +6737,12 @@ get_internal_image_format(Texture *tex) const {
     return GL_R3_G3_B2;
     return GL_R3_G3_B2;
 #endif
 #endif
 
 
-#ifdef OPENGLES
+#if defined(OPENGLES_2)
   case Texture::F_r16:
   case Texture::F_r16:
     return GL_R16F_EXT;
     return GL_R16F_EXT;
   case Texture::F_rg16:
   case Texture::F_rg16:
     return GL_RG16F_EXT;
     return GL_RG16F_EXT;
-#else
+#elif !defined(OPENGLES_1)
   case Texture::F_r16:
   case Texture::F_r16:
     if (tex->get_component_type() == Texture::T_float) {
     if (tex->get_component_type() == Texture::T_float) {
       return GL_R16F;
       return GL_R16F;
@@ -6756,10 +6760,12 @@ get_internal_image_format(Texture *tex) const {
   case Texture::F_alpha:
   case Texture::F_alpha:
     return GL_ALPHA;
     return GL_ALPHA;
 
 
+#ifndef OPENGLES_1
   case Texture::F_red:
   case Texture::F_red:
   case Texture::F_green:
   case Texture::F_green:
   case Texture::F_blue:
   case Texture::F_blue:
     return GL_RED;
     return GL_RED;
+#endif
 
 
   case Texture::F_luminance:
   case Texture::F_luminance:
     return GL_LUMINANCE;
     return GL_LUMINANCE;
@@ -9333,9 +9339,11 @@ upload_texture_image(CLP(TextureContext) *gtc,
           break;
           break;
         case GL_TEXTURE_2D_ARRAY:
         case GL_TEXTURE_2D_ARRAY:
 #endif
 #endif
+#ifndef OPENGLES_1
         case GL_TEXTURE_3D:
         case GL_TEXTURE_3D:
           _glTexImage3D(page_target, 0, internal_format, width, height, depth, 0, external_format, component_type, NULL);
           _glTexImage3D(page_target, 0, internal_format, width, height, depth, 0, external_format, component_type, NULL);
           break;
           break;
+#endif
         default:
         default:
           GLP(TexImage2D)(page_target, 0, internal_format, width, height, 0, external_format, component_type, NULL);
           GLP(TexImage2D)(page_target, 0, internal_format, width, height, 0, external_format, component_type, NULL);
           break;
           break;
@@ -9817,10 +9825,12 @@ do_extract_texture_data(CLP(TextureContext) *gtc) {
     type = Texture::T_unsigned_short;
     type = Texture::T_unsigned_short;
     format = Texture::F_depth_component;
     format = Texture::F_depth_component;
     break;
     break;
+#ifndef OPENGLES
   case GL_DEPTH_COMPONENT32F:
   case GL_DEPTH_COMPONENT32F:
     type = Texture::T_float;
     type = Texture::T_float;
     format = Texture::F_depth_component;
     format = Texture::F_depth_component;
     break;
     break;
+#endif
   case GL_DEPTH_STENCIL_EXT:
   case GL_DEPTH_STENCIL_EXT:
   case GL_DEPTH24_STENCIL8_EXT:
   case GL_DEPTH24_STENCIL8_EXT:
     type = Texture::T_unsigned_int_24_8;
     type = Texture::T_unsigned_int_24_8;
@@ -9848,10 +9858,6 @@ do_extract_texture_data(CLP(TextureContext) *gtc) {
     format = Texture::F_rgba12;
     format = Texture::F_rgba12;
     break;
     break;
 #endif
 #endif
-  case GL_RGBA16F:
-    type = Texture::T_float;
-    format = Texture::F_rgba16;
-    break;
 
 
   case GL_RGB:
   case GL_RGB:
   case 3:
   case 3:
@@ -9877,6 +9883,11 @@ do_extract_texture_data(CLP(TextureContext) *gtc) {
     break;
     break;
 #endif
 #endif
 
 
+#ifndef OPENGLES_1
+  case GL_RGBA16F:
+    type = Texture::T_float;
+    format = Texture::F_rgba16;
+    break;
   case GL_RGB16F:
   case GL_RGB16F:
     type = Texture::T_float;
     type = Texture::T_float;
     format = Texture::F_rgb16;
     format = Texture::F_rgb16;
@@ -9889,6 +9900,7 @@ do_extract_texture_data(CLP(TextureContext) *gtc) {
     type = Texture::T_float;
     type = Texture::T_float;
     format = Texture::F_r16;
     format = Texture::F_r16;
     break;
     break;
+#endif
 
 
 #ifndef OPENGLES
 #ifndef OPENGLES
   case GL_RGB16:
   case GL_RGB16: