From 688569e5c884efd809c5f710cd1bad1b9c9569cc Mon Sep 17 00:00:00 2001 From: kd-11 Date: Thu, 28 Dec 2017 15:46:57 +0300 Subject: [PATCH] gl: Remove flag test optimization as it does not work properly - Most texture cache operations will break sampler state and the extra complexity is not worth the very small speed bump --- rpcs3/Emu/RSX/GL/GLGSRender.cpp | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/rpcs3/Emu/RSX/GL/GLGSRender.cpp b/rpcs3/Emu/RSX/GL/GLGSRender.cpp index d3892b4d68..fad9bfb21c 100644 --- a/rpcs3/Emu/RSX/GL/GLGSRender.cpp +++ b/rpcs3/Emu/RSX/GL/GLGSRender.cpp @@ -318,11 +318,6 @@ void GLGSRender::end() if (m_program->uniforms.has_location("tex" + std::to_string(i), &unused_location)) { auto sampler_state = static_cast(fs_sampler_state[i].get()); - - if (sampler_state->flag) - continue; - - sampler_state->flag = true; auto &tex = rsx::method_registers.fragment_textures[i]; glActiveTexture(GL_TEXTURE0 + i); @@ -338,7 +333,6 @@ void GLGSRender::end() { void *unused = nullptr; glBindTexture(target, m_gl_texture_cache.create_temporary_subresource(unused, sampler_state->external_subresource_desc)); - sampler_state->flag = false; } else { @@ -357,11 +351,6 @@ void GLGSRender::end() if (m_program->uniforms.has_location("vtex" + std::to_string(i), &unused_location)) { auto sampler_state = static_cast(vs_sampler_state[i].get()); - - if (sampler_state->flag) - continue; - - sampler_state->flag = true; glActiveTexture(GL_TEXTURE0 + rsx::limits::fragment_textures_count + i); if (sampler_state->image_handle) @@ -372,7 +361,6 @@ void GLGSRender::end() { void *unused = nullptr; glBindTexture(GL_TEXTURE_2D, m_gl_texture_cache.create_temporary_subresource(unused, sampler_state->external_subresource_desc)); - sampler_state->flag = false; } else {