From c062cd991498ee590bc98f3e359a85cb0fa9aace Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Mon, 5 Apr 2021 17:19:46 -0700 Subject: [PATCH] gl backend minor code cleanup - be more consistant with extension naming - sort extension queries alphabetically --- filament/backend/src/opengl/OpenGLContext.cpp | 46 +++++++++---------- filament/backend/src/opengl/OpenGLContext.h | 6 +-- filament/backend/src/opengl/OpenGLDriver.cpp | 8 ++-- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/filament/backend/src/opengl/OpenGLContext.cpp b/filament/backend/src/opengl/OpenGLContext.cpp index 8d3924d580..df5dd558f4 100644 --- a/filament/backend/src/opengl/OpenGLContext.cpp +++ b/filament/backend/src/opengl/OpenGLContext.cpp @@ -143,7 +143,7 @@ OpenGLContext::OpenGLContext() noexcept { #endif #ifdef GL_EXT_texture_filter_anisotropic - if (ext.texture_filter_anisotropic && !bugs.disable_texture_filter_anisotropic) { + if (ext.EXT_texture_filter_anisotropic && !bugs.disable_texture_filter_anisotropic) { glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &gets.maxAnisotropy); } #endif @@ -221,23 +221,23 @@ bool OpenGLContext::hasExtension(ExtentionSet const& map, utils::StaticString ex void OpenGLContext::initExtensionsGLES(GLint major, GLint minor, ExtentionSet const& exts) { // figure out and initialize the extensions we need - ext.texture_filter_anisotropic = hasExtension(exts, "GL_EXT_texture_filter_anisotropic"); - ext.texture_compression_etc2 = true; - ext.QCOM_tiled_rendering = hasExtension(exts, "GL_QCOM_tiled_rendering"); - ext.OES_EGL_image_external_essl3 = hasExtension(exts, "GL_OES_EGL_image_external_essl3"); - ext.EXT_debug_marker = hasExtension(exts, "GL_EXT_debug_marker"); - ext.EXT_color_buffer_half_float = hasExtension(exts, "GL_EXT_color_buffer_half_float"); - ext.EXT_color_buffer_float = hasExtension(exts, "GL_EXT_color_buffer_float"); ext.APPLE_color_buffer_packed_float = hasExtension(exts, "GL_APPLE_color_buffer_packed_float"); - ext.texture_compression_s3tc = hasExtension(exts, "WEBGL_compressed_texture_s3tc"); + ext.EXT_clip_control = hasExtension(exts, "GL_EXT_clip_control"); + ext.EXT_color_buffer_float = hasExtension(exts, "GL_EXT_color_buffer_float"); + ext.EXT_color_buffer_half_float = hasExtension(exts, "GL_EXT_color_buffer_half_float"); + ext.EXT_debug_marker = hasExtension(exts, "GL_EXT_debug_marker"); + ext.EXT_disjoint_timer_query = hasExtension(exts, "GL_EXT_disjoint_timer_query"); ext.EXT_multisampled_render_to_texture = hasExtension(exts, "GL_EXT_multisampled_render_to_texture"); ext.EXT_multisampled_render_to_texture2 = hasExtension(exts, "GL_EXT_multisampled_render_to_texture2"); - ext.EXT_disjoint_timer_query = hasExtension(exts, "GL_EXT_disjoint_timer_query"); - ext.KHR_debug = hasExtension(exts, "GL_KHR_debug"); - ext.EXT_texture_compression_s3tc_srgb = hasExtension(exts, "GL_EXT_texture_compression_s3tc_srgb"); ext.EXT_shader_framebuffer_fetch = hasExtension(exts, "GL_EXT_shader_framebuffer_fetch"); - ext.EXT_clip_control = hasExtension(exts, "GL_EXT_clip_control"); + ext.EXT_texture_compression_etc2 = true; + ext.EXT_texture_compression_s3tc_srgb = hasExtension(exts, "GL_EXT_texture_compression_s3tc_srgb"); + ext.EXT_texture_filter_anisotropic = hasExtension(exts, "GL_EXT_texture_filter_anisotropic"); ext.GOOGLE_cpp_style_line_directive = hasExtension(exts, "GL_GOOGLE_cpp_style_line_directive"); + ext.KHR_debug = hasExtension(exts, "GL_KHR_debug"); + ext.OES_EGL_image_external_essl3 = hasExtension(exts, "GL_OES_EGL_image_external_essl3"); + ext.QCOM_tiled_rendering = hasExtension(exts, "GL_QCOM_tiled_rendering"); + ext.WEBGL_texture_compression_s3tc = hasExtension(exts, "WEBGL_compressed_texture_s3tc"); // ES 3.2 implies EXT_color_buffer_float if (major >= 3 && minor >= 2) { ext.EXT_color_buffer_float = true; @@ -245,19 +245,19 @@ void OpenGLContext::initExtensionsGLES(GLint major, GLint minor, ExtentionSet co } void OpenGLContext::initExtensionsGL(GLint major, GLint minor, ExtentionSet const& exts) { - ext.texture_filter_anisotropic = hasExtension(exts, "GL_EXT_texture_filter_anisotropic"); - ext.texture_compression_etc2 = hasExtension(exts, "GL_ARB_ES3_compatibility"); - ext.texture_compression_s3tc = hasExtension(exts, "GL_EXT_texture_compression_s3tc"); - ext.OES_EGL_image_external_essl3 = hasExtension(exts, "GL_OES_EGL_image_external_essl3"); - ext.EXT_debug_marker = hasExtension(exts, "GL_EXT_debug_marker"); - ext.EXT_color_buffer_half_float = true; // Assumes core profile. - ext.EXT_color_buffer_float = true; // Assumes core profile. ext.APPLE_color_buffer_packed_float = true; // Assumes core profile. - ext.KHR_debug = major >= 4 && minor >= 3; - ext.EXT_texture_sRGB = hasExtension(exts, "GL_EXT_texture_sRGB"); - ext.EXT_shader_framebuffer_fetch = hasExtension(exts, "GL_EXT_shader_framebuffer_fetch"); ext.EXT_clip_control = hasExtension(exts, "GL_ARB_clip_control") || (major == 4 && minor >= 5); + ext.EXT_color_buffer_float = true; // Assumes core profile. + ext.EXT_color_buffer_half_float = true; // Assumes core profile. + ext.EXT_debug_marker = hasExtension(exts, "GL_EXT_debug_marker"); + ext.EXT_shader_framebuffer_fetch = hasExtension(exts, "GL_EXT_shader_framebuffer_fetch"); + ext.EXT_texture_compression_etc2 = hasExtension(exts, "GL_ARB_ES3_compatibility"); + ext.EXT_texture_filter_anisotropic = hasExtension(exts, "GL_EXT_texture_filter_anisotropic"); + ext.EXT_texture_sRGB = hasExtension(exts, "GL_EXT_texture_sRGB"); ext.GOOGLE_cpp_style_line_directive = hasExtension(exts, "GL_GOOGLE_cpp_style_line_directive"); + ext.KHR_debug = major >= 4 && minor >= 3; + ext.OES_EGL_image_external_essl3 = hasExtension(exts, "GL_OES_EGL_image_external_essl3"); + ext.WEBGL_texture_compression_s3tc = hasExtension(exts, "GL_EXT_texture_compression_s3tc"); } void OpenGLContext::bindBuffer(GLenum target, GLuint buffer) noexcept { diff --git a/filament/backend/src/opengl/OpenGLContext.h b/filament/backend/src/opengl/OpenGLContext.h index 296cb6e63b..ded3e831ad 100644 --- a/filament/backend/src/opengl/OpenGLContext.h +++ b/filament/backend/src/opengl/OpenGLContext.h @@ -127,9 +127,9 @@ public: // supported extensions detected at runtime struct { - bool texture_compression_s3tc = false; - bool texture_compression_etc2 = false; - bool texture_filter_anisotropic = false; + bool WEBGL_texture_compression_s3tc = false; + bool EXT_texture_compression_etc2 = false; + bool EXT_texture_filter_anisotropic = false; bool QCOM_tiled_rendering = false; bool OES_EGL_image_external_essl3 = false; bool EXT_debug_marker = false; diff --git a/filament/backend/src/opengl/OpenGLDriver.cpp b/filament/backend/src/opengl/OpenGLDriver.cpp index d7af3e13e5..7ee7d701c9 100644 --- a/filament/backend/src/opengl/OpenGLDriver.cpp +++ b/filament/backend/src/opengl/OpenGLDriver.cpp @@ -1564,13 +1564,13 @@ FenceStatus OpenGLDriver::wait(Handle fh, uint64_t timeout) { bool OpenGLDriver::isTextureFormatSupported(TextureFormat format) { auto& gl = mContext; if (isETC2Compression(format)) { - return gl.ext.texture_compression_etc2; + return gl.ext.EXT_texture_compression_etc2; } if (isS3TCCompression(format)) { if (isS3TCSRGBCompression(format)) { - return gl.ext.texture_compression_s3tc && (gl.ext.EXT_texture_sRGB || gl.ext.EXT_texture_compression_s3tc_srgb); + return gl.ext.WEBGL_texture_compression_s3tc && (gl.ext.EXT_texture_sRGB || gl.ext.EXT_texture_compression_s3tc_srgb); } else { - return gl.ext.texture_compression_s3tc; + return gl.ext.WEBGL_texture_compression_s3tc; } } return getInternalFormat(format) != 0; @@ -2828,7 +2828,7 @@ GLuint OpenGLDriver::getSamplerSlow(SamplerParams params) const noexcept { // TODO: Why does this fail with WebGL 2.0? The run-time check should suffice. #if defined(GL_EXT_texture_filter_anisotropic) && !defined(__EMSCRIPTEN__) auto& gl = mContext; - if (gl.ext.texture_filter_anisotropic && !gl.bugs.disable_texture_filter_anisotropic) { + if (gl.ext.EXT_texture_filter_anisotropic && !gl.bugs.disable_texture_filter_anisotropic) { GLfloat anisotropy = float(1u << params.anisotropyLog2); glSamplerParameterf(s, GL_TEXTURE_MAX_ANISOTROPY_EXT, std::min(gl.gets.maxAnisotropy, anisotropy)); }