|
|
@@ -7763,6 +7763,7 @@ get_external_image_format(Texture *tex) const {
|
|
|
case Texture::F_depth_component24:
|
|
|
case Texture::F_depth_component32:
|
|
|
case Texture::F_depth_stencil:
|
|
|
+ case Texture::F_r11_g11_b10:
|
|
|
// This shouldn't be possible.
|
|
|
nassertr(false, GL_RGB);
|
|
|
break;
|
|
|
@@ -7946,6 +7947,7 @@ get_external_image_format(Texture *tex) const {
|
|
|
case Texture::F_rgb16:
|
|
|
case Texture::F_rgb32:
|
|
|
case Texture::F_srgb:
|
|
|
+ case Texture::F_r11_g11_b10:
|
|
|
#ifdef OPENGLES
|
|
|
return GL_RGB;
|
|
|
#else
|
|
|
@@ -8044,6 +8046,7 @@ get_internal_image_format(Texture *tex, bool force_sized) const {
|
|
|
case Texture::F_rgb8i:
|
|
|
case Texture::F_rgba8i:
|
|
|
case Texture::F_r32i:
|
|
|
+ case Texture::F_r11_g11_b10:
|
|
|
// Unsupported; fall through to below.
|
|
|
break;
|
|
|
|
|
|
@@ -8536,6 +8539,11 @@ get_internal_image_format(Texture *tex, bool force_sized) const {
|
|
|
return GL_R32I;
|
|
|
#endif
|
|
|
|
|
|
+#ifndef OPENGLES
|
|
|
+ case Texture::F_r11_g11_b10:
|
|
|
+ return GL_R11F_G11F_B10F;
|
|
|
+#endif
|
|
|
+
|
|
|
default:
|
|
|
GLCAT.error()
|
|
|
<< "Invalid image format in get_internal_image_format(): "
|
|
|
@@ -12105,6 +12113,13 @@ do_extract_texture_data(CLP(TextureContext) *gtc) {
|
|
|
break;
|
|
|
#endif
|
|
|
|
|
|
+#ifndef OPENGLES
|
|
|
+ case GL_R11F_G11F_B10F:
|
|
|
+ type = Texture::T_float;
|
|
|
+ format = Texture::F_r11_g11_b10;
|
|
|
+ break;
|
|
|
+#endif
|
|
|
+
|
|
|
#ifdef OPENGLES_2
|
|
|
case GL_RED_EXT:
|
|
|
case GL_R8_EXT:
|