From 857d8840262b3339cda05dc77fe28de817322673 Mon Sep 17 00:00:00 2001 From: lawnjelly Date: Mon, 21 Aug 2023 08:51:47 +0100 Subject: [PATCH] Initialize `GLWrapper` earlier in `Storage::initialize()` Make sure `GLWrapper` is initialized before `glActiveTexture` is called by other parts of the storage initialize(), to prevent benign warnings. --- drivers/gles2/rasterizer_storage_gles2.cpp | 6 ++++-- drivers/gles3/rasterizer_storage_gles3.cpp | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/gles2/rasterizer_storage_gles2.cpp b/drivers/gles2/rasterizer_storage_gles2.cpp index 8cd63c7cbf13..88720dcf0058 100644 --- a/drivers/gles2/rasterizer_storage_gles2.cpp +++ b/drivers/gles2/rasterizer_storage_gles2.cpp @@ -6315,6 +6315,10 @@ void RasterizerStorageGLES2::initialize() { config.depth_internalformat = GL_DEPTH_COMPONENT; config.depth_type = GL_UNSIGNED_INT; + // Initialize GLWrapper early on, as required for any calls to glActiveTexture. + glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &config.max_texture_image_units); + gl_wrapper.initialize(config.max_texture_image_units); + #ifdef GLES_OVER_GL config.float_texture_supported = true; config.s3tc_supported = true; @@ -6506,8 +6510,6 @@ void RasterizerStorageGLES2::initialize() { frame.clear_request = false; glGetIntegerv(GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, &config.max_vertex_texture_image_units); - glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &config.max_texture_image_units); - gl_wrapper.initialize(config.max_texture_image_units); glGetIntegerv(GL_MAX_TEXTURE_SIZE, &config.max_texture_size); glGetIntegerv(GL_MAX_CUBE_MAP_TEXTURE_SIZE, &config.max_cubemap_texture_size); glGetIntegerv(GL_MAX_VIEWPORT_DIMS, config.max_viewport_dimensions); diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp index b2755112d386..484daa937118 100644 --- a/drivers/gles3/rasterizer_storage_gles3.cpp +++ b/drivers/gles3/rasterizer_storage_gles3.cpp @@ -8157,6 +8157,10 @@ void RasterizerStorageGLES3::initialize() { config.shrink_textures_x2 = false; config.use_fast_texture_filter = int(ProjectSettings::get_singleton()->get("rendering/quality/filters/use_nearest_mipmap_filter")); + // Initialize GLWrapper early on, as required for any calls to glActiveTexture. + glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &config.max_texture_image_units); + gl_wrapper.initialize(config.max_texture_image_units); + config.etc_supported = config.extensions.has("GL_OES_compressed_ETC1_RGB8_texture"); config.latc_supported = config.extensions.has("GL_EXT_texture_compression_latc"); config.bptc_supported = config.extensions.has("GL_ARB_texture_compression_bptc"); @@ -8388,8 +8392,6 @@ void RasterizerStorageGLES3::initialize() { glBindTexture(GL_TEXTURE_2D, 0); } - glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &config.max_texture_image_units); - gl_wrapper.initialize(config.max_texture_image_units); glGetIntegerv(GL_MAX_TEXTURE_SIZE, &config.max_texture_size); glGetIntegerv(GL_MAX_CUBE_MAP_TEXTURE_SIZE, &config.max_cubemap_texture_size);