gl backend minor code cleanup

- be more consistant with extension naming
- sort extension queries alphabetically
This commit is contained in:
Mathias Agopian
2021-04-05 17:19:46 -07:00
committed by Mathias Agopian
parent 449a5907d1
commit c062cd9914
3 changed files with 30 additions and 30 deletions

View File

@@ -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 {

View File

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

View File

@@ -1564,13 +1564,13 @@ FenceStatus OpenGLDriver::wait(Handle<HwFence> 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));
}