Skip to content

Commit 1dfee32

Browse files
committed
[Improvement] (settings): Remove gl43 extension switch.
1 parent 8259181 commit 1dfee32

4 files changed

Lines changed: 18 additions & 34 deletions

File tree

src/main/cpp/config/settings.cpp

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ void init_settings() {
1717
#if defined(__APPLE__)
1818
global_settings.angle = AngleMode::Disabled;
1919
global_settings.ignore_error = IgnoreErrorLevel::Partial;
20-
global_settings.ext_gl43 = false;
2120
global_settings.ext_compute_shader = false;
2221
global_settings.max_glsl_cache_size = 30 * 1024 * 1024;
2322
global_settings.multidraw_mode = multidraw_mode_t::DrawElements;
@@ -41,7 +40,6 @@ void init_settings() {
4140
success ? static_cast<AngleConfig>(config_get_int("enableANGLE")) : AngleConfig::DisableIfPossible;
4241
NoErrorConfig noErrorConfig =
4342
success ? static_cast<NoErrorConfig>(config_get_int("enableNoError")) : NoErrorConfig::Auto;
44-
bool enableExtGL43 = success ? (config_get_int("enableExtGL43") > 0) : false;
4543
bool enableExtComputeShader = success ? (config_get_int("enableExtComputeShader") > 0) : false;
4644
bool enableExtTimerQuery = success ? (config_get_int("enableExtTimerQuery") > 0) : false;
4745
bool enableExtDirectStateAccess = success ? (config_get_int("enableExtDirectStateAccess") > 0) : false;
@@ -108,7 +106,6 @@ void init_settings() {
108106
LOG_V("Unsupported launcher detected, force using default config.")
109107
angleConfig = AngleConfig::DisableIfPossible;
110108
noErrorConfig = NoErrorConfig::Auto;
111-
enableExtGL43 = false;
112109
enableExtComputeShader = false;
113110
enableExtTimerQuery = true;
114111
enableExtDirectStateAccess = true;
@@ -188,7 +185,6 @@ void init_settings() {
188185
break;
189186
}
190187

191-
global_settings.ext_gl43 = enableExtGL43;
192188
global_settings.ext_compute_shader = enableExtComputeShader;
193189
global_settings.ext_timer_query = enableExtTimerQuery;
194190
global_settings.ext_direct_state_access = enableExtDirectStateAccess;
@@ -204,7 +200,6 @@ void init_settings() {
204200
LOG_V("[MobileGlues] Setting: ignoreError = %i", static_cast<int>(global_settings.ignore_error))
205201
LOG_V("[MobileGlues] Setting: enableExtComputeShader = %s",
206202
global_settings.ext_compute_shader ? "true" : "false")
207-
LOG_V("[MobileGlues] Setting: enableExtGL43 = %s", global_settings.ext_gl43 ? "true" : "false")
208203
LOG_V("[MobileGlues] Setting: enableExtTimerQuery = %s", global_settings.ext_timer_query ? "true" : "false")
209204
LOG_V("[MobileGlues] Setting: enableExtDirectStateAccess = %s",
210205
global_settings.ext_direct_state_access ? "true" : "false")
@@ -350,7 +345,6 @@ std::string dump_settings_string(std::string prefix) {
350345
}
351346
ss << "\n";
352347

353-
ss << prefix << "ExtGL43: " << (global_settings.ext_gl43 ? "True" : "False") << "\n";
354348
ss << prefix << "ExtComputeShader: " << (global_settings.ext_compute_shader ? "True" : "False") << "\n";
355349
ss << prefix << "ExtTimerQuery: " << (global_settings.ext_timer_query ? "True" : "False") << "\n";
356350
ss << prefix << "ExtDirectStateAccess: " << (global_settings.ext_direct_state_access ? "True" : "False") << "\n";
@@ -415,8 +409,10 @@ std::string dump_settings_string(std::string prefix) {
415409
}
416410
ss << "\n";
417411

418-
ss << prefix << "HideMGEnvLevel: " << ((global_settings.hide_mg_env_level == HideMGEnvLevel::Disabled)
419-
? "Disabled" : std::to_string(static_cast<int>(global_settings.hide_mg_env_level)));
412+
ss << prefix << "HideMGEnvLevel: "
413+
<< ((global_settings.hide_mg_env_level == HideMGEnvLevel::Disabled)
414+
? "Disabled"
415+
: std::to_string(static_cast<int>(global_settings.hide_mg_env_level)));
420416

421417
ss << "\n";
422418

src/main/cpp/config/settings.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,6 @@ typedef enum class FSR1_Quality_Preset : int { // may be useless
157157
struct global_settings_t {
158158
AngleMode angle;
159159
IgnoreErrorLevel ignore_error;
160-
bool ext_gl43;
161160
bool ext_compute_shader;
162161
bool ext_timer_query;
163162
bool ext_direct_state_access;

src/main/cpp/gl/gl.cpp

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,7 @@ static GLuint g_depthClearProgram = 0;
2929
static GLuint g_depthClearVAO = 0;
3030
static GLuint g_depthClearVBO = 0;
3131

32-
static const GLfloat kFullScreenTri[3][2] = {
33-
{ -1.0f, -1.0f },
34-
{ 3.0f, -1.0f },
35-
{ -1.0f, 3.0f }
36-
};
32+
static const GLfloat kFullScreenTri[3][2] = {{-1.0f, -1.0f}, {3.0f, -1.0f}, {-1.0f, 3.0f}};
3733

3834
static const char* kDepthClearVS = R"glsl(
3935
#version 300 es
@@ -61,7 +57,7 @@ void InitDepthClearCoreProfile() {
6157
GLES.glShaderSource(s, 1, &src, nullptr);
6258
GLES.glCompileShader(s);
6359
return s;
64-
};
60+
};
6561
GLuint vs = compile(GL_VERTEX_SHADER, kDepthClearVS);
6662
GLuint fs = compile(GL_FRAGMENT_SHADER, kDepthClearFS);
6763

@@ -99,7 +95,7 @@ void DrawDepthClearTri() {
9995
GLES.glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
10096
GLES.glDepthMask(GL_TRUE);
10197
GLES.glDepthFunc(GL_ALWAYS);
102-
98+
10399
GLES.glUseProgram(g_depthClearProgram);
104100
GLES.glBindVertexArray(g_depthClearVAO);
105101
GLES.glDrawArrays(GL_TRIANGLES, 0, 3);
@@ -119,20 +115,18 @@ void glClear(GLbitfield mask) {
119115

120116
CHECK_GL_ERROR_NO_INIT
121117

122-
if (global_settings.angle == AngleMode::Enabled &&
123-
mask == GL_DEPTH_BUFFER_BIT &&
124-
fabs(currentDepthValue - 1.0f) <= 0.001f
125-
&& framebuffers[current_draw_fbo].color_attachments_all_none
126-
) {
118+
if (global_settings.angle == AngleMode::Enabled && mask == GL_DEPTH_BUFFER_BIT &&
119+
fabs(currentDepthValue - 1.0f) <= 0.001f && framebuffers[current_draw_fbo].color_attachments_all_none) {
127120
LOG_D("doing depth workaround")
128-
if (global_settings.angle_depth_clear_fix_mode == AngleDepthClearFixMode::Mode1)
129-
// Workaround for ANGLE depth-clear bug: if depth≈1.0, draw a fullscreen triangle at z=1.0 to force actual depth buffer write.
130-
DrawDepthClearTri();
131-
else if (global_settings.angle_depth_clear_fix_mode == AngleDepthClearFixMode::Mode2) {
132-
// Or just explicitly clear depth buffer and see what's happened
133-
const GLfloat clear_depth_value = 1.0f;
134-
GLES.glClearBufferfv(GL_DEPTH, 0, &clear_depth_value);
135-
}
121+
// if (global_settings.angle_depth_clear_fix_mode == AngleDepthClearFixMode::Mode1)
122+
// Workaround for ANGLE depth-clear bug: if depth≈1.0, draw a fullscreen triangle at z=1.0 to force actual
123+
// depth buffer write.
124+
// DrawDepthClearTri();
125+
// else if (global_settings.angle_depth_clear_fix_mode == AngleDepthClearFixMode::Mode2) {
126+
// Or just explicitly clear depth buffer and see what's happened
127+
const GLfloat clear_depth_value = 1.0f;
128+
GLES.glClearBufferfv(GL_DEPTH, 0, &clear_depth_value);
129+
//}
136130
// Clear again
137131
GLES.glClear(mask);
138132
} else {

src/main/cpp/gles/loader.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -192,10 +192,6 @@ void InitGLESCapabilities() {
192192
AppendExtension("GL_EXT_timer_query");
193193
}
194194

195-
if (global_settings.ext_gl43) {
196-
AppendExtension("OpenGL43");
197-
}
198-
199195
if (global_settings.ext_compute_shader) {
200196
AppendExtension("GL_ARB_compute_shader");
201197
}
@@ -207,7 +203,6 @@ void InitGLESCapabilities() {
207203

208204
int glVersion = GLVersion.toInt(2);
209205
for (int ver = 32; ver <= glVersion; ++ver) {
210-
if (global_settings.ext_gl43 && ver == 43) continue;
211206
if (ver > 33 && ver < 40) continue;
212207
LOG_D("Appending OpenGL extension for version %d", ver)
213208
AppendExtension(("OpenGL" + std::to_string(ver)).c_str());

0 commit comments

Comments
 (0)