From: Alexis Hetu Date: Tue, 14 Nov 2017 18:22:06 +0000 (-0500) Subject: Hide ASTC support X-Git-Tag: android-x86-7.1-r3~299 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=fba5b6d7fa0e1597c87c0ec71529c56997290941;p=android-x86%2Fexternal-swiftshader.git 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 Reviewed-by: Nicolas Capens --- diff --git a/src/Main/Config.hpp b/src/Main/Config.hpp index b9256ea9b..8e4943b7e 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 360891a91..40a3d34c5 100644 --- a/src/OpenGL/libGLESv2/Context.cpp +++ b/src/OpenGL/libGLESv2/Context.cpp @@ -4363,6 +4363,10 @@ const GLubyte *Context::getExtensions(GLuint index, GLuint *numExt) const "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 ac2982457..02d750b70 100644 --- a/src/OpenGL/libGLESv2/Context.h +++ b/src/OpenGL/libGLESv2/Context.h @@ -126,6 +126,7 @@ const GLenum compressedTextureFormats[] = 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 @@ const GLenum compressedTextureFormats[] = 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 1415b5e5a..654bbbeb1 100644 --- a/src/OpenGL/libGLESv2/utilities.cpp +++ b/src/OpenGL/libGLESv2/utilities.cpp @@ -491,6 +491,7 @@ namespace es2 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 @@ namespace es2 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 }