Hide ASTC support Since we don't expose the ASTC related extension string, we need to hide support for ASTC related enums. ASTC_SUPPORT was added to easily re-enable ASTC, should we want to. Change-Id: I3c65906c4729df8a2efb1a9a78e155bccdc715f9 Reviewed-on: https://swiftshader-review.googlesource.com/13749 Tested-by: Alexis Hétu <sugoi@google.com> Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Main/Config.hpp b/src/Main/Config.hpp index b9256ea..8e4943b 100644 --- a/src/Main/Config.hpp +++ b/src/Main/Config.hpp
@@ -26,6 +26,8 @@ #define S3TC_SUPPORT 0 #endif +#define ASTC_SUPPORT 0 + // Worker thread count when not set by SwiftConfig // 0 = process affinity count (recommended) // 1 = rendering on main thread (no worker threads), useful for debugging
diff --git a/src/OpenGL/libGLESv2/Context.cpp b/src/OpenGL/libGLESv2/Context.cpp index 360891a..40a3d34 100644 --- a/src/OpenGL/libGLESv2/Context.cpp +++ b/src/OpenGL/libGLESv2/Context.cpp
@@ -4363,6 +4363,10 @@ "GL_EXT_texture_filter_anisotropic", "GL_EXT_texture_format_BGRA8888", "GL_EXT_texture_rg", +#if (ASTC_SUPPORT) + "GL_KHR_texture_compression_astc_hdr", + "GL_KHR_texture_compression_astc_ldr", +#endif "GL_ANGLE_framebuffer_blit", "GL_ANGLE_framebuffer_multisample", "GL_ANGLE_instanced_arrays",
diff --git a/src/OpenGL/libGLESv2/Context.h b/src/OpenGL/libGLESv2/Context.h index ac29824..02d750b 100644 --- a/src/OpenGL/libGLESv2/Context.h +++ b/src/OpenGL/libGLESv2/Context.h
@@ -126,6 +126,7 @@ GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, GL_COMPRESSED_RGBA8_ETC2_EAC, GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC, +#if (ASTC_SUPPORT) GL_COMPRESSED_RGBA_ASTC_4x4_KHR, GL_COMPRESSED_RGBA_ASTC_5x4_KHR, GL_COMPRESSED_RGBA_ASTC_5x5_KHR, @@ -154,7 +155,8 @@ GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR, GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR, -#endif +#endif // ASTC_SUPPORT +#endif // GL_ES_VERSION_3_0 }; const GLenum GL_TEXTURE_FILTERING_HINT_CHROMIUM = 0x8AF0;
diff --git a/src/OpenGL/libGLESv2/utilities.cpp b/src/OpenGL/libGLESv2/utilities.cpp index 1415b5e..654bbbe 100644 --- a/src/OpenGL/libGLESv2/utilities.cpp +++ b/src/OpenGL/libGLESv2/utilities.cpp
@@ -491,6 +491,7 @@ case GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: case GL_COMPRESSED_RGBA8_ETC2_EAC: case GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: + return (clientVersion >= 3) ? (expectCompressedFormats ? GL_NONE : GL_INVALID_OPERATION) : GL_INVALID_ENUM; case GL_COMPRESSED_RGBA_ASTC_4x4_KHR: case GL_COMPRESSED_RGBA_ASTC_5x4_KHR: case GL_COMPRESSED_RGBA_ASTC_5x5_KHR: @@ -519,7 +520,11 @@ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: - return (clientVersion >= 3) ? (expectCompressedFormats ? GL_NONE : GL_INVALID_OPERATION) : GL_INVALID_ENUM; +#if(ASTC_SUPPORT) + return ((clientVersion >= 3) && ()) ? (expectCompressedFormats ? GL_NONE : GL_INVALID_OPERATION) : GL_INVALID_ENUM; +#else + return GL_INVALID_ENUM; +#endif default: return expectCompressedFormats ? GL_INVALID_ENUM : GL_NONE; // Not compressed format }