浏览代码

Compatibility: Explicitly use BC1's RGB variant

BlueCube3310 3 月之前
父节点
当前提交
d07a72e067
共有 2 个文件被更改,包括 3 次插入2 次删除
  1. 2 2
      drivers/gles3/storage/texture_storage.cpp
  2. 1 0
      drivers/gles3/storage/texture_storage.h

+ 2 - 2
drivers/gles3/storage/texture_storage.cpp

@@ -658,8 +658,8 @@ Ref<Image> TextureStorage::_get_gl_image_and_format(const Ref<Image> &p_image, I
 	switch (p_format) {
 	switch (p_format) {
 		case Image::FORMAT_DXT1: {
 		case Image::FORMAT_DXT1: {
 			if (config->s3tc_supported) {
 			if (config->s3tc_supported) {
-				r_gl_internal_format = _EXT_COMPRESSED_RGBA_S3TC_DXT1_EXT;
-				r_gl_format = GL_RGBA;
+				r_gl_internal_format = _EXT_COMPRESSED_RGB_S3TC_DXT1_EXT;
+				r_gl_format = GL_RGB;
 				r_gl_type = GL_UNSIGNED_BYTE;
 				r_gl_type = GL_UNSIGNED_BYTE;
 				r_compressed = true;
 				r_compressed = true;
 			} else {
 			} else {

+ 1 - 0
drivers/gles3/storage/texture_storage.h

@@ -48,6 +48,7 @@ namespace GLES3 {
 #define _GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
 #define _GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
 #define _GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
 #define _GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
 
 
+#define _EXT_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
 #define _EXT_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
 #define _EXT_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
 #define _EXT_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
 #define _EXT_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
 #define _EXT_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
 #define _EXT_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3