committed by
Mathias Agopian
parent
a3cf2ee61a
commit
fc32fa3a78
@@ -262,8 +262,9 @@ void OpenGLContext::initExtensionsGLES(GLint major, GLint minor, ExtentionSet co
|
||||
ext.QCOM_tiled_rendering = hasExtension(exts, "GL_QCOM_tiled_rendering");
|
||||
ext.EXT_texture_compression_s3tc = hasExtension(exts, "GL_EXT_texture_compression_s3tc");
|
||||
ext.EXT_texture_compression_s3tc_srgb = hasExtension(exts, "GL_EXT_texture_compression_s3tc_srgb");
|
||||
ext.WEBGL_texture_compression_s3tc = hasExtension(exts, "WEBGL_compressed_texture_s3tc");
|
||||
ext.WEBGL_texture_compression_s3tc_srgb = hasExtension(exts, "WEBGL_compressed_texture_s3tc_srgb");
|
||||
ext.WEBGL_compressed_texture_s3tc = hasExtension(exts, "WEBGL_compressed_texture_s3tc");
|
||||
ext.WEBGL_compressed_texture_s3tc_srgb = hasExtension(exts, "WEBGL_compressed_texture_s3tc_srgb");
|
||||
ext.WEBGL_compressed_texture_etc = hasExtension(exts, "WEBGL_compressed_texture_etc");
|
||||
// ES 3.2 implies EXT_color_buffer_float
|
||||
if (major >= 3 && minor >= 2) {
|
||||
ext.EXT_color_buffer_float = true;
|
||||
|
||||
@@ -147,8 +147,9 @@ public:
|
||||
bool GOOGLE_cpp_style_line_directive = false;
|
||||
bool EXT_texture_compression_s3tc = false;
|
||||
bool EXT_texture_compression_s3tc_srgb = false;
|
||||
bool WEBGL_texture_compression_s3tc = false;
|
||||
bool WEBGL_texture_compression_s3tc_srgb = false;
|
||||
bool WEBGL_compressed_texture_s3tc = false;
|
||||
bool WEBGL_compressed_texture_s3tc_srgb = false;
|
||||
bool WEBGL_compressed_texture_etc = false;
|
||||
} ext;
|
||||
|
||||
struct {
|
||||
|
||||
@@ -1440,13 +1440,18 @@ FenceStatus OpenGLDriver::wait(Handle<HwFence> fh, uint64_t timeout) {
|
||||
bool OpenGLDriver::isTextureFormatSupported(TextureFormat format) {
|
||||
const auto& ext = mContext.ext;
|
||||
if (isETC2Compression(format)) {
|
||||
return ext.EXT_texture_compression_etc2;
|
||||
return ext.EXT_texture_compression_etc2 ||
|
||||
ext.WEBGL_compressed_texture_etc; // WEBGL specific, apparently contains ETC2
|
||||
}
|
||||
if (isS3TCSRGBCompression(format)) {
|
||||
return ext.EXT_texture_compression_s3tc_srgb || ext.WEBGL_texture_compression_s3tc_srgb;
|
||||
// see https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_sRGB.txt
|
||||
return ext.WEBGL_compressed_texture_s3tc_srgb || // this is WEBGL specific
|
||||
ext.EXT_texture_compression_s3tc_srgb || // this is ES specific
|
||||
(ext.EXT_texture_compression_s3tc && ext.EXT_texture_sRGB);
|
||||
}
|
||||
if (isS3TCCompression(format)) {
|
||||
return ext.EXT_texture_compression_s3tc || ext.WEBGL_texture_compression_s3tc;
|
||||
return ext.EXT_texture_compression_s3tc || // this is ES specific
|
||||
ext.WEBGL_compressed_texture_s3tc; // this is WEBGL specific
|
||||
}
|
||||
return getInternalFormat(format) != 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user