[Feat] (Extension): Add a option to control ext_timer_query.

This commit is contained in:
BZLZHH 2025-07-15 01:13:13 +08:00
parent 932762c5b3
commit 184d79881b
3 changed files with 7 additions and 6 deletions

View File

@ -35,7 +35,7 @@ void init_settings() {
NoErrorConfig noErrorConfig = success ? static_cast<NoErrorConfig>(config_get_int("enableNoError")) : NoErrorConfig::Auto;
bool enableExtGL43 = success ? (config_get_int("enableExtGL43") != 0) : false;
bool enableExtComputeShader = success ? (config_get_int("enableExtComputeShader") != 0) : false;
int enableCompatibleMode = success ? config_get_int("enableCompatibleMode") : 0;
bool enableExtTimerQuery = success ? (config_get_int("enableExtTimerQuery") != 0) : false;
multidraw_mode_t multidrawMode = success ? static_cast<multidraw_mode_t>(config_get_int("multidrawMode")) : multidraw_mode_t::Auto;
AngleDepthClearFixMode angleDepthClearFixMode = success ? static_cast<AngleDepthClearFixMode>(config_get_int("angleDepthClearFixMode")) : AngleDepthClearFixMode::Disabled;
@ -56,9 +56,6 @@ void init_settings() {
if (static_cast<int>(angleDepthClearFixMode) < 0 || static_cast<int>(angleDepthClearFixMode) >= static_cast<int>(AngleDepthClearFixMode::MaxValue)) {
angleDepthClearFixMode = AngleDepthClearFixMode::Disabled;
}
if (enableCompatibleMode < 0 || enableCompatibleMode > 1) {
enableCompatibleMode = 0;
}
int fclVersion = 0;
GetEnvVarInt("FCL_VERSION_CODE", &fclVersion, 0);
@ -75,8 +72,8 @@ void init_settings() {
noErrorConfig = NoErrorConfig::Auto;
enableExtGL43 = false;
enableExtComputeShader = false;
enableExtTimerQuery = true;
maxGlslCacheSize = 0;
enableCompatibleMode = 0;
angleDepthClearFixMode = AngleDepthClearFixMode::Disabled;
}
@ -150,6 +147,7 @@ void init_settings() {
global_settings.ext_gl43 = enableExtGL43;
global_settings.ext_compute_shader = enableExtComputeShader;
global_settings.ext_timer_query = enableExtTimerQuery;
global_settings.max_glsl_cache_size = maxGlslCacheSize;
global_settings.multidraw_mode = multidrawMode;
global_settings.angle_depth_clear_fix_mode = angleDepthClearFixMode;
@ -177,6 +175,8 @@ void init_settings() {
global_settings.ext_compute_shader ? "true" : "false")
LOG_V("[MobileGlues] Setting: enableExtGL43 = %s",
global_settings.ext_gl43 ? "true" : "false")
LOG_V("[MobileGlues] Setting: enableExtTimerQuery = %s",
global_settings.ext_timer_query ? "true" : "false")
LOG_V("[MobileGlues] Setting: maxGlslCacheSize = %i",
static_cast<int>(global_settings.max_glsl_cache_size / 1024 / 1024))
LOG_V("[MobileGlues] Setting: multidrawMode = %s", draw_mode_str.c_str())

View File

@ -61,6 +61,7 @@ extern "C" {
IgnoreErrorLevel ignore_error;
bool ext_gl43;
bool ext_compute_shader;
bool ext_timer_query;
size_t max_glsl_cache_size;
multidraw_mode_t multidraw_mode;
AngleDepthClearFixMode angle_depth_clear_fix_mode;

View File

@ -194,7 +194,7 @@ void InitGLESCapabilities() {
AppendExtension("GL_ARB_buffer_storage");
}
if (g_gles_caps.GL_EXT_disjoint_timer_query) {
if (g_gles_caps.GL_EXT_disjoint_timer_query && global_settings.ext_timer_query) {
AppendExtension("GL_ARB_timer_query");
AppendExtension("GL_EXT_timer_query");
}