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);
