Support compressed textures unconditionally.
Change-Id: Ifd2c846c274840f19c1ea8c75fda42bf5640caa4
Reviewed-on: https://swiftshader-review.googlesource.com/16808
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
diff --git a/src/D3D8/Capabilities.cpp b/src/D3D8/Capabilities.cpp
index dd0ba20..53cd68e 100644
--- a/src/D3D8/Capabilities.cpp
+++ b/src/D3D8/Capabilities.cpp
@@ -55,11 +55,11 @@
bool Capabilities::Surface::A8P8 = false;
bool Capabilities::Surface::G16R16 = true;
bool Capabilities::Surface::A2B10G10R10 = true;
- bool Capabilities::Surface::DXT1 = S3TC_SUPPORT;
- bool Capabilities::Surface::DXT2 = S3TC_SUPPORT;
- bool Capabilities::Surface::DXT3 = S3TC_SUPPORT;
- bool Capabilities::Surface::DXT4 = S3TC_SUPPORT;
- bool Capabilities::Surface::DXT5 = S3TC_SUPPORT;
+ bool Capabilities::Surface::DXT1 = true;
+ bool Capabilities::Surface::DXT2 = true;
+ bool Capabilities::Surface::DXT3 = true;
+ bool Capabilities::Surface::DXT4 = true;
+ bool Capabilities::Surface::DXT5 = true;
bool Capabilities::Surface::V8U8 = true;
bool Capabilities::Surface::L6V5U5 = true;
bool Capabilities::Surface::X8L8V8U8 = true;
@@ -87,11 +87,11 @@
bool Capabilities::Volume::A8P8 = false;
bool Capabilities::Volume::G16R16 = true;
bool Capabilities::Volume::A2B10G10R10 = true;
- bool Capabilities::Volume::DXT1 = S3TC_SUPPORT;
- bool Capabilities::Volume::DXT2 = S3TC_SUPPORT;
- bool Capabilities::Volume::DXT3 = S3TC_SUPPORT;
- bool Capabilities::Volume::DXT4 = S3TC_SUPPORT;
- bool Capabilities::Volume::DXT5 = S3TC_SUPPORT;
+ bool Capabilities::Volume::DXT1 = true;
+ bool Capabilities::Volume::DXT2 = true;
+ bool Capabilities::Volume::DXT3 = true;
+ bool Capabilities::Volume::DXT4 = true;
+ bool Capabilities::Volume::DXT5 = true;
bool Capabilities::Volume::V8U8 = true;
bool Capabilities::Volume::L6V5U5 = true;
bool Capabilities::Volume::X8L8V8U8 = true;
@@ -139,11 +139,11 @@
bool Capabilities::CubeMap::A8P8 = false;
bool Capabilities::CubeMap::G16R16 = true;
bool Capabilities::CubeMap::A2B10G10R10 = true;
- bool Capabilities::CubeMap::DXT1 = S3TC_SUPPORT;
- bool Capabilities::CubeMap::DXT2 = S3TC_SUPPORT;
- bool Capabilities::CubeMap::DXT3 = S3TC_SUPPORT;
- bool Capabilities::CubeMap::DXT4 = S3TC_SUPPORT;
- bool Capabilities::CubeMap::DXT5 = S3TC_SUPPORT;
+ bool Capabilities::CubeMap::DXT1 = true;
+ bool Capabilities::CubeMap::DXT2 = true;
+ bool Capabilities::CubeMap::DXT3 = true;
+ bool Capabilities::CubeMap::DXT4 = true;
+ bool Capabilities::CubeMap::DXT5 = true;
bool Capabilities::CubeMap::V8U8 = true;
bool Capabilities::CubeMap::L6V5U5 = true;
bool Capabilities::CubeMap::X8L8V8U8 = true;
@@ -171,11 +171,11 @@
bool Capabilities::VolumeTexture::A8P8 = false;
bool Capabilities::VolumeTexture::G16R16 = true;
bool Capabilities::VolumeTexture::A2B10G10R10 = true;
- bool Capabilities::VolumeTexture::DXT1 = S3TC_SUPPORT;
- bool Capabilities::VolumeTexture::DXT2 = S3TC_SUPPORT;
- bool Capabilities::VolumeTexture::DXT3 = S3TC_SUPPORT;
- bool Capabilities::VolumeTexture::DXT4 = S3TC_SUPPORT;
- bool Capabilities::VolumeTexture::DXT5 = S3TC_SUPPORT;
+ bool Capabilities::VolumeTexture::DXT1 = true;
+ bool Capabilities::VolumeTexture::DXT2 = true;
+ bool Capabilities::VolumeTexture::DXT3 = true;
+ bool Capabilities::VolumeTexture::DXT4 = true;
+ bool Capabilities::VolumeTexture::DXT5 = true;
bool Capabilities::VolumeTexture::V8U8 = true;
bool Capabilities::VolumeTexture::L6V5U5 = true;
bool Capabilities::VolumeTexture::X8L8V8U8 = true;
@@ -223,11 +223,11 @@
bool Capabilities::Texture::A8P8 = false;
bool Capabilities::Texture::G16R16 = true;
bool Capabilities::Texture::A2B10G10R10 = true;
- bool Capabilities::Texture::DXT1 = S3TC_SUPPORT;
- bool Capabilities::Texture::DXT2 = S3TC_SUPPORT;
- bool Capabilities::Texture::DXT3 = S3TC_SUPPORT;
- bool Capabilities::Texture::DXT4 = S3TC_SUPPORT;
- bool Capabilities::Texture::DXT5 = S3TC_SUPPORT;
+ bool Capabilities::Texture::DXT1 = true;
+ bool Capabilities::Texture::DXT2 = true;
+ bool Capabilities::Texture::DXT3 = true;
+ bool Capabilities::Texture::DXT4 = true;
+ bool Capabilities::Texture::DXT5 = true;
bool Capabilities::Texture::V8U8 = true;
bool Capabilities::Texture::L6V5U5 = true;
bool Capabilities::Texture::X8L8V8U8 = true;
diff --git a/src/D3D9/Capabilities.cpp b/src/D3D9/Capabilities.cpp
index 2449045..572d983 100644
--- a/src/D3D9/Capabilities.cpp
+++ b/src/D3D9/Capabilities.cpp
@@ -71,13 +71,13 @@
bool Capabilities::Surface::A2R10G10B10 = true;
bool Capabilities::Surface::A2B10G10R10 = true;
bool Capabilities::Surface::A16B16G16R16 = true;
- bool Capabilities::Surface::DXT1 = S3TC_SUPPORT;
- bool Capabilities::Surface::DXT2 = S3TC_SUPPORT;
- bool Capabilities::Surface::DXT3 = S3TC_SUPPORT;
- bool Capabilities::Surface::DXT4 = S3TC_SUPPORT;
- bool Capabilities::Surface::DXT5 = S3TC_SUPPORT;
- bool Capabilities::Surface::ATI1 = S3TC_SUPPORT;
- bool Capabilities::Surface::ATI2 = S3TC_SUPPORT;
+ bool Capabilities::Surface::DXT1 = true;
+ bool Capabilities::Surface::DXT2 = true;
+ bool Capabilities::Surface::DXT3 = true;
+ bool Capabilities::Surface::DXT4 = true;
+ bool Capabilities::Surface::DXT5 = true;
+ bool Capabilities::Surface::ATI1 = true;
+ bool Capabilities::Surface::ATI2 = true;
bool Capabilities::Surface::R16F = true;
bool Capabilities::Surface::G16R16F = true;
bool Capabilities::Surface::A16B16G16R16F = true;
@@ -117,13 +117,13 @@
bool Capabilities::Volume::A2R10G10B10 = true;
bool Capabilities::Volume::A2B10G10R10 = true;
bool Capabilities::Volume::A16B16G16R16 = true;
- bool Capabilities::Volume::DXT1 = S3TC_SUPPORT;
- bool Capabilities::Volume::DXT2 = S3TC_SUPPORT;
- bool Capabilities::Volume::DXT3 = S3TC_SUPPORT;
- bool Capabilities::Volume::DXT4 = S3TC_SUPPORT;
- bool Capabilities::Volume::DXT5 = S3TC_SUPPORT;
- bool Capabilities::Volume::ATI1 = S3TC_SUPPORT;
- bool Capabilities::Volume::ATI2 = S3TC_SUPPORT;
+ bool Capabilities::Volume::DXT1 = true;
+ bool Capabilities::Volume::DXT2 = true;
+ bool Capabilities::Volume::DXT3 = true;
+ bool Capabilities::Volume::DXT4 = true;
+ bool Capabilities::Volume::DXT5 = true;
+ bool Capabilities::Volume::ATI1 = true;
+ bool Capabilities::Volume::ATI2 = true;
bool Capabilities::Volume::R16F = true;
bool Capabilities::Volume::G16R16F = true;
bool Capabilities::Volume::A16B16G16R16F = true;
@@ -195,13 +195,13 @@
bool Capabilities::CubeMap::A2R10G10B10 = true;
bool Capabilities::CubeMap::A2B10G10R10 = true;
bool Capabilities::CubeMap::A16B16G16R16 = true;
- bool Capabilities::CubeMap::DXT1 = S3TC_SUPPORT;
- bool Capabilities::CubeMap::DXT2 = S3TC_SUPPORT;
- bool Capabilities::CubeMap::DXT3 = S3TC_SUPPORT;
- bool Capabilities::CubeMap::DXT4 = S3TC_SUPPORT;
- bool Capabilities::CubeMap::DXT5 = S3TC_SUPPORT;
- bool Capabilities::CubeMap::ATI1 = S3TC_SUPPORT;
- bool Capabilities::CubeMap::ATI2 = S3TC_SUPPORT;
+ bool Capabilities::CubeMap::DXT1 = true;
+ bool Capabilities::CubeMap::DXT2 = true;
+ bool Capabilities::CubeMap::DXT3 = true;
+ bool Capabilities::CubeMap::DXT4 = true;
+ bool Capabilities::CubeMap::DXT5 = true;
+ bool Capabilities::CubeMap::ATI1 = true;
+ bool Capabilities::CubeMap::ATI2 = true;
bool Capabilities::CubeMap::R16F = true;
bool Capabilities::CubeMap::G16R16F = true;
bool Capabilities::CubeMap::A16B16G16R16F = true;
@@ -239,13 +239,13 @@
bool Capabilities::VolumeTexture::A2R10G10B10 = true;
bool Capabilities::VolumeTexture::A2B10G10R10 = true;
bool Capabilities::VolumeTexture::A16B16G16R16 = true;
- bool Capabilities::VolumeTexture::DXT1 = S3TC_SUPPORT;
- bool Capabilities::VolumeTexture::DXT2 = S3TC_SUPPORT;
- bool Capabilities::VolumeTexture::DXT3 = S3TC_SUPPORT;
- bool Capabilities::VolumeTexture::DXT4 = S3TC_SUPPORT;
- bool Capabilities::VolumeTexture::DXT5 = S3TC_SUPPORT;
- bool Capabilities::VolumeTexture::ATI1 = S3TC_SUPPORT;
- bool Capabilities::VolumeTexture::ATI2 = S3TC_SUPPORT;
+ bool Capabilities::VolumeTexture::DXT1 = true;
+ bool Capabilities::VolumeTexture::DXT2 = true;
+ bool Capabilities::VolumeTexture::DXT3 = true;
+ bool Capabilities::VolumeTexture::DXT4 = true;
+ bool Capabilities::VolumeTexture::DXT5 = true;
+ bool Capabilities::VolumeTexture::ATI1 = true;
+ bool Capabilities::VolumeTexture::ATI2 = true;
bool Capabilities::VolumeTexture::R16F = true;
bool Capabilities::VolumeTexture::G16R16F = true;
bool Capabilities::VolumeTexture::A16B16G16R16F = true;
@@ -318,13 +318,13 @@
bool Capabilities::Texture::A2R10G10B10 = true;
bool Capabilities::Texture::A2B10G10R10 = true;
bool Capabilities::Texture::A16B16G16R16 = true;
- bool Capabilities::Texture::DXT1 = S3TC_SUPPORT;
- bool Capabilities::Texture::DXT2 = S3TC_SUPPORT;
- bool Capabilities::Texture::DXT3 = S3TC_SUPPORT;
- bool Capabilities::Texture::DXT4 = S3TC_SUPPORT;
- bool Capabilities::Texture::DXT5 = S3TC_SUPPORT;
- bool Capabilities::Texture::ATI1 = S3TC_SUPPORT;
- bool Capabilities::Texture::ATI2 = S3TC_SUPPORT;
+ bool Capabilities::Texture::DXT1 = true;
+ bool Capabilities::Texture::DXT2 = true;
+ bool Capabilities::Texture::DXT3 = true;
+ bool Capabilities::Texture::DXT4 = true;
+ bool Capabilities::Texture::DXT5 = true;
+ bool Capabilities::Texture::ATI1 = true;
+ bool Capabilities::Texture::ATI2 = true;
bool Capabilities::Texture::R16F = true;
bool Capabilities::Texture::G16R16F = true;
bool Capabilities::Texture::A16B16G16R16F = true;
diff --git a/src/D3D9/Direct3DSurface9.cpp b/src/D3D9/Direct3DSurface9.cpp
index e061c87..8dfa3a8 100644
--- a/src/D3D9/Direct3DSurface9.cpp
+++ b/src/D3D9/Direct3DSurface9.cpp
@@ -344,7 +344,6 @@
{
switch(format)
{
- #if S3TC_SUPPORT
case D3DFMT_NULL: return sw::FORMAT_NULL;
case D3DFMT_DXT1: return sw::FORMAT_DXT1;
case D3DFMT_DXT2: return sw::FORMAT_DXT3;
@@ -353,7 +352,6 @@
case D3DFMT_DXT5: return sw::FORMAT_DXT5;
case D3DFMT_ATI1: return sw::FORMAT_ATI1;
case D3DFMT_ATI2: return sw::FORMAT_ATI2;
- #endif
case D3DFMT_R3G3B2: return sw::FORMAT_R3G3B2;
case D3DFMT_A8R3G3B2: return sw::FORMAT_A8R3G3B2;
case D3DFMT_X4R4G4B4: return sw::FORMAT_X4R4G4B4;
diff --git a/src/Main/Config.hpp b/src/Main/Config.hpp
index 66331c7..ff8bb7e 100644
--- a/src/Main/Config.hpp
+++ b/src/Main/Config.hpp
@@ -20,12 +20,6 @@
#define PERF_HUD 0 // Display time spent on vertex, setup and pixel processing for each thread
#define PERF_PROFILE 0 // Profile various pipeline stages and display the timing in SwiftConfig
-#if defined(_WIN32)
-#define S3TC_SUPPORT 1
-#else
-#define S3TC_SUPPORT 0
-#endif
-
#define ASTC_SUPPORT 0
// Worker thread count when not set by SwiftConfig
diff --git a/src/OpenGL/common/Image.cpp b/src/OpenGL/common/Image.cpp
index 9fbc2e5..bf14e12 100644
--- a/src/OpenGL/common/Image.cpp
+++ b/src/OpenGL/common/Image.cpp
@@ -613,7 +613,6 @@
return sw::FORMAT_SRGB8_ALPHA8_ASTC_12x10_KHR;
case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:
return sw::FORMAT_SRGB8_ALPHA8_ASTC_12x12_KHR;
- #if S3TC_SUPPORT
case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
return sw::FORMAT_DXT1;
@@ -621,7 +620,6 @@
return sw::FORMAT_DXT3;
case GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE:
return sw::FORMAT_DXT5;
- #endif
default:
break;
}
diff --git a/src/OpenGL/libGL/Context.h b/src/OpenGL/libGL/Context.h
index 877d768..10f4ae0 100644
--- a/src/OpenGL/libGL/Context.h
+++ b/src/OpenGL/libGL/Context.h
@@ -328,12 +328,10 @@
const GLenum compressedTextureFormats[] =
{
-#if (S3TC_SUPPORT)
GL_COMPRESSED_RGB_S3TC_DXT1_EXT,
GL_COMPRESSED_RGBA_S3TC_DXT1_EXT,
GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
GL_COMPRESSED_RGBA_S3TC_DXT5_EXT,
-#endif
};
const GLint NUM_COMPRESSED_TEXTURE_FORMATS = sizeof(compressedTextureFormats) / sizeof(compressedTextureFormats[0]);
diff --git a/src/OpenGL/libGL/Image.cpp b/src/OpenGL/libGL/Image.cpp
index 8dda353..23b85ab 100644
--- a/src/OpenGL/libGL/Image.cpp
+++ b/src/OpenGL/libGL/Image.cpp
@@ -152,10 +152,8 @@
{
return sw::FORMAT_NULL;
}
- else
- #if S3TC_SUPPORT
- if(format == GL_COMPRESSED_RGB_S3TC_DXT1_EXT ||
- format == GL_COMPRESSED_RGBA_S3TC_DXT1_EXT)
+ else if(format == GL_COMPRESSED_RGB_S3TC_DXT1_EXT ||
+ format == GL_COMPRESSED_RGBA_S3TC_DXT1_EXT)
{
return sw::FORMAT_DXT1;
}
@@ -167,9 +165,7 @@
{
return sw::FORMAT_DXT5;
}
- else
- #endif
- if(type == GL_FLOAT)
+ else if(type == GL_FLOAT)
{
return sw::FORMAT_A32B32G32R32F;
}
diff --git a/src/OpenGL/libGL/libGL.cpp b/src/OpenGL/libGL/libGL.cpp
index 171e520..87829be 100644
--- a/src/OpenGL/libGL/libGL.cpp
+++ b/src/OpenGL/libGL/libGL.cpp
@@ -802,10 +802,6 @@
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
case GL_COMPRESSED_RGBA_S3TC_DXT3_EXT:
case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT:
- if(!S3TC_SUPPORT)
- {
- return error(GL_INVALID_ENUM);
- }
break;
case GL_DEPTH_COMPONENT:
case GL_DEPTH_COMPONENT16:
@@ -931,10 +927,6 @@
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
case GL_COMPRESSED_RGBA_S3TC_DXT3_EXT:
case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT:
- if(!S3TC_SUPPORT)
- {
- return error(GL_INVALID_ENUM);
- }
break;
default:
return error(GL_INVALID_ENUM);
@@ -1101,14 +1093,7 @@
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
case GL_COMPRESSED_RGBA_S3TC_DXT3_EXT:
case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT:
- if(S3TC_SUPPORT)
- {
- return error(GL_INVALID_OPERATION);
- }
- else
- {
- return error(GL_INVALID_ENUM);
- }
+ return error(GL_INVALID_OPERATION);
default:
return error(GL_INVALID_ENUM);
}
@@ -3068,19 +3053,15 @@
"GL_EXT_texture_npot "
"GL_EXT_occlusion_query_boolean "
"GL_EXT_read_format_bgra "
- #if (S3TC_SUPPORT)
"GL_EXT_texture_compression_dxt1 "
- #endif
"GL_EXT_blend_func_separate "
"GL_EXT_secondary_color "
"GL_EXT_texture_filter_anisotropic "
"GL_EXT_texture_format_BGRA8888 "
"GL_EXT_framebuffer_blit "
"GL_EXT_framebuffer_multisample "
- #if (S3TC_SUPPORT)
"GL_EXT_texture_compression_dxt3 "
"GL_EXT_texture_compression_dxt5 "
- #endif
"GL_NV_fence";
default:
return error(GL_INVALID_ENUM, (GLubyte*)nullptr);
@@ -4384,14 +4365,7 @@
format == GL_COMPRESSED_RGBA_S3TC_DXT3_EXT ||
format == GL_COMPRESSED_RGBA_S3TC_DXT5_EXT)
{
- if(S3TC_SUPPORT)
- {
- return error(GL_INVALID_OPERATION);
- }
- else
- {
- return error(GL_INVALID_ENUM);
- }
+ return error(GL_INVALID_OPERATION);
}
gl::Context *context = gl::getContext();
diff --git a/src/OpenGL/libGLES_CM/Context.h b/src/OpenGL/libGLES_CM/Context.h
index ece2860..ab3883d 100644
--- a/src/OpenGL/libGLES_CM/Context.h
+++ b/src/OpenGL/libGLES_CM/Context.h
@@ -79,10 +79,8 @@
const GLenum compressedTextureFormats[] =
{
GL_ETC1_RGB8_OES,
-#if (S3TC_SUPPORT)
GL_COMPRESSED_RGB_S3TC_DXT1_EXT,
GL_COMPRESSED_RGBA_S3TC_DXT1_EXT,
-#endif
};
const GLint NUM_COMPRESSED_TEXTURE_FORMATS = sizeof(compressedTextureFormats) / sizeof(compressedTextureFormats[0]);
diff --git a/src/OpenGL/libGLES_CM/libGLES_CM.cpp b/src/OpenGL/libGLES_CM/libGLES_CM.cpp
index 88a19e8..75fb538 100644
--- a/src/OpenGL/libGLES_CM/libGLES_CM.cpp
+++ b/src/OpenGL/libGLES_CM/libGLES_CM.cpp
@@ -721,13 +721,8 @@
switch(internalformat)
{
case GL_ETC1_RGB8_OES:
- break;
case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
- if(!S3TC_SUPPORT)
- {
- return error(GL_INVALID_ENUM);
- }
break;
case GL_DEPTH_COMPONENT16_OES:
case GL_DEPTH_COMPONENT32_OES:
@@ -806,13 +801,8 @@
switch(format)
{
case GL_ETC1_RGB8_OES:
- break;
case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
- if(!S3TC_SUPPORT)
- {
- return error(GL_INVALID_ENUM);
- }
break;
default:
return error(GL_INVALID_ENUM);
@@ -936,17 +926,9 @@
}
break;
case GL_ETC1_RGB8_OES:
- return error(GL_INVALID_OPERATION);
case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
- if(S3TC_SUPPORT)
- {
- return error(GL_INVALID_OPERATION);
- }
- else
- {
- return error(GL_INVALID_ENUM);
- }
+ return error(GL_INVALID_OPERATION);
default:
return error(GL_INVALID_ENUM);
}
@@ -2301,11 +2283,9 @@
"GL_OES_texture_npot "
"GL_EXT_blend_minmax "
"GL_EXT_read_format_bgra "
- #if (S3TC_SUPPORT)
"GL_EXT_texture_compression_dxt1 "
"GL_ANGLE_texture_compression_dxt3 "
"GL_ANGLE_texture_compression_dxt5 "
- #endif
"GL_EXT_texture_filter_anisotropic "
"GL_EXT_texture_format_BGRA8888";
default:
@@ -4266,17 +4246,9 @@
}
break;
case GL_ETC1_RGB8_OES:
- return error(GL_INVALID_OPERATION);
case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
- if(S3TC_SUPPORT)
- {
- return error(GL_INVALID_OPERATION);
- }
- else
- {
- return error(GL_INVALID_ENUM);
- }
+ return error(GL_INVALID_OPERATION);
case GL_DEPTH_STENCIL_OES:
switch(type)
{
diff --git a/src/OpenGL/libGLESv2/Context.cpp b/src/OpenGL/libGLESv2/Context.cpp
index 65e7d18..1a363af 100644
--- a/src/OpenGL/libGLESv2/Context.cpp
+++ b/src/OpenGL/libGLESv2/Context.cpp
@@ -4438,9 +4438,7 @@
"GL_EXT_instanced_arrays",
"GL_EXT_occlusion_query_boolean",
"GL_EXT_read_format_bgra",
-#if (S3TC_SUPPORT)
"GL_EXT_texture_compression_dxt1",
-#endif
"GL_EXT_texture_filter_anisotropic",
"GL_EXT_texture_format_BGRA8888",
"GL_EXT_texture_rg",
@@ -4452,10 +4450,8 @@
"GL_ANGLE_framebuffer_blit",
"GL_ANGLE_framebuffer_multisample",
"GL_ANGLE_instanced_arrays",
-#if (S3TC_SUPPORT)
"GL_ANGLE_texture_compression_dxt3",
"GL_ANGLE_texture_compression_dxt5",
-#endif
//"GL_APPLE_texture_format_BGRA8888",
"GL_CHROMIUM_texture_filtering_hint",
"GL_NV_fence",
diff --git a/src/OpenGL/libGLESv2/Context.h b/src/OpenGL/libGLESv2/Context.h
index c42a12a..4db4ba2 100644
--- a/src/OpenGL/libGLESv2/Context.h
+++ b/src/OpenGL/libGLESv2/Context.h
@@ -110,12 +110,10 @@
const GLenum compressedTextureFormats[] =
{
GL_ETC1_RGB8_OES,
-#if (S3TC_SUPPORT)
GL_COMPRESSED_RGB_S3TC_DXT1_EXT,
GL_COMPRESSED_RGBA_S3TC_DXT1_EXT,
GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE,
GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE,
-#endif
#if (GL_ES_VERSION_3_0)
GL_COMPRESSED_R11_EAC,
GL_COMPRESSED_SIGNED_R11_EAC,
diff --git a/src/OpenGL/libGLESv2/utilities.cpp b/src/OpenGL/libGLESv2/utilities.cpp
index 96c83d4..c909cd7 100644
--- a/src/OpenGL/libGLESv2/utilities.cpp
+++ b/src/OpenGL/libGLESv2/utilities.cpp
@@ -480,7 +480,7 @@
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
case GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE:
case GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE:
- return S3TC_SUPPORT ? (expectCompressedFormats ? GL_NONE : GL_INVALID_OPERATION) : GL_INVALID_ENUM;
+ return expectCompressedFormats ? GL_NONE : GL_INVALID_OPERATION;
case GL_ETC1_RGB8_OES:
return expectCompressedFormats ? GL_NONE : GL_INVALID_OPERATION;
case GL_COMPRESSED_R11_EAC:
diff --git a/src/Renderer/Surface.cpp b/src/Renderer/Surface.cpp
index 4e2e26b..a2a783d 100644
--- a/src/Renderer/Surface.cpp
+++ b/src/Renderer/Surface.cpp
@@ -1135,9 +1135,7 @@
switch(format)
{
- #if S3TC_SUPPORT
case FORMAT_DXT1:
- #endif
case FORMAT_ATI1:
case FORMAT_ETC1:
case FORMAT_R11_EAC:
@@ -1193,10 +1191,8 @@
case FORMAT_RGBA_ASTC_12x12_KHR:
case FORMAT_SRGB8_ALPHA8_ASTC_12x12_KHR:
return (unsigned char*)buffer + 16 * (x / 12) + (y / 12) * pitchB + z * sliceB;
- #if S3TC_SUPPORT
case FORMAT_DXT3:
case FORMAT_DXT5:
- #endif
case FORMAT_ATI2:
return (unsigned char*)buffer + 16 * (x / 4) + (y / 4) * pitchB + z * sliceB;
default:
@@ -1598,11 +1594,9 @@
case FORMAT_A32B32G32R32I: return 16;
case FORMAT_A32B32G32R32UI: return 16;
// Compressed formats
- #if S3TC_SUPPORT
case FORMAT_DXT1: return 2; // Column of four pixels
case FORMAT_DXT3: return 4; // Column of four pixels
case FORMAT_DXT5: return 4; // Column of four pixels
- #endif
case FORMAT_ATI1: return 2; // Column of four pixels
case FORMAT_ATI2: return 4; // Column of four pixels
case FORMAT_ETC1: return 2; // Column of four pixels
@@ -1716,9 +1710,7 @@
switch(format)
{
- #if S3TC_SUPPORT
case FORMAT_DXT1:
- #endif
case FORMAT_ETC1:
case FORMAT_R11_EAC:
case FORMAT_SIGNED_R11_EAC:
@@ -1765,11 +1757,9 @@
case FORMAT_RGBA_ASTC_12x12_KHR:
case FORMAT_SRGB8_ALPHA8_ASTC_12x12_KHR:
return 16 * ((width + 11) / 12);
- #if S3TC_SUPPORT
case FORMAT_DXT3:
case FORMAT_DXT5:
return 16 * ((width + 3) / 4); // 128 bit per 4x4 block, computed per 4 rows
- #endif
case FORMAT_ATI1:
return 2 * ((width + 3) / 4); // 64 bit per 4x4 block, computed per row
case FORMAT_ATI2:
@@ -1801,11 +1791,9 @@
switch(format)
{
- #if S3TC_SUPPORT
case FORMAT_DXT1:
case FORMAT_DXT3:
case FORMAT_DXT5:
- #endif
case FORMAT_ETC1:
case FORMAT_R11_EAC:
case FORMAT_SIGNED_R11_EAC:
@@ -1882,11 +1870,9 @@
case FORMAT_X4R4G4B4: decodeX4R4G4B4(destination, source); break; // FIXME: Check destination format
case FORMAT_A4R4G4B4: decodeA4R4G4B4(destination, source); break; // FIXME: Check destination format
case FORMAT_P8: decodeP8(destination, source); break; // FIXME: Check destination format
- #if S3TC_SUPPORT
case FORMAT_DXT1: decodeDXT1(destination, source); break; // FIXME: Check destination format
case FORMAT_DXT3: decodeDXT3(destination, source); break; // FIXME: Check destination format
case FORMAT_DXT5: decodeDXT5(destination, source); break; // FIXME: Check destination format
- #endif
case FORMAT_ATI1: decodeATI1(destination, source); break; // FIXME: Check destination format
case FORMAT_ATI2: decodeATI2(destination, source); break; // FIXME: Check destination format
case FORMAT_R11_EAC: decodeEAC(destination, source, 1, false); break; // FIXME: Check destination format
@@ -2252,7 +2238,6 @@
destination.unlockRect();
}
-#if S3TC_SUPPORT
void Surface::decodeDXT1(Buffer &internal, Buffer &external)
{
unsigned int *destSlice = (unsigned int*)internal.lockRect(0, 0, 0, LOCK_WRITEONLY);
@@ -2441,7 +2426,6 @@
external.unlockRect();
internal.unlockRect();
}
-#endif
void Surface::decodeATI1(Buffer &internal, Buffer &external)
{
@@ -2664,9 +2648,7 @@
switch(format)
{
- #if S3TC_SUPPORT
case FORMAT_DXT1:
- #endif
case FORMAT_ATI1:
case FORMAT_ETC1:
case FORMAT_R11_EAC:
@@ -2676,10 +2658,8 @@
case FORMAT_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:
case FORMAT_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:
return width4 * height4 * depth / 2;
- #if S3TC_SUPPORT
case FORMAT_DXT3:
case FORMAT_DXT5:
- #endif
case FORMAT_ATI2:
case FORMAT_RG11_EAC:
case FORMAT_SIGNED_RG11_EAC:
@@ -3041,11 +3021,9 @@
case FORMAT_X1R5G5B5:
case FORMAT_A1R5G5B5:
case FORMAT_A4R4G4B4:
- #if S3TC_SUPPORT
case FORMAT_DXT1:
case FORMAT_DXT3:
case FORMAT_DXT5:
- #endif
case FORMAT_ATI1:
case FORMAT_ATI2:
return true;
@@ -3089,11 +3067,9 @@
{
switch(format)
{
- #if S3TC_SUPPORT
case FORMAT_DXT1:
case FORMAT_DXT3:
case FORMAT_DXT5:
- #endif
case FORMAT_ATI1:
case FORMAT_ATI2:
case FORMAT_ETC1:
@@ -3901,11 +3877,9 @@
case FORMAT_SRGB8_A8:
return FORMAT_SRGB8_A8;
// Compressed formats
- #if S3TC_SUPPORT
case FORMAT_DXT1:
case FORMAT_DXT3:
case FORMAT_DXT5:
- #endif
case FORMAT_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:
case FORMAT_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:
case FORMAT_RGBA8_ETC2_EAC:
diff --git a/src/Renderer/Surface.hpp b/src/Renderer/Surface.hpp
index 062b0d7..650a2cf 100644
--- a/src/Renderer/Surface.hpp
+++ b/src/Renderer/Surface.hpp
@@ -390,7 +390,6 @@
typedef unsigned int dword;
typedef uint64_t qword;
- #if S3TC_SUPPORT
struct DXT1
{
word c0;
@@ -424,7 +423,6 @@
word c1;
dword clut;
};
- #endif
struct ATI2
{
@@ -472,11 +470,9 @@
static void decodeA4R4G4B4(Buffer &destination, Buffer &source);
static void decodeP8(Buffer &destination, Buffer &source);
- #if S3TC_SUPPORT
static void decodeDXT1(Buffer &internal, Buffer &external);
static void decodeDXT3(Buffer &internal, Buffer &external);
static void decodeDXT5(Buffer &internal, Buffer &external);
- #endif
static void decodeATI1(Buffer &internal, Buffer &external);
static void decodeATI2(Buffer &internal, Buffer &external);
static void decodeEAC(Buffer &internal, Buffer &external, int nbChannels, bool isSigned);