From efcb42af2c15fbe5e837dcdc159384ca87034551 Mon Sep 17 00:00:00 2001 From: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com> Date: Thu, 25 Jul 2024 23:36:22 +0300 Subject: [PATCH] Shader decompiler: Fix redundant compilations --- include/renderer_gl/renderer_gl.hpp | 1 - src/core/renderer_gl/renderer_gl.cpp | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/include/renderer_gl/renderer_gl.hpp b/include/renderer_gl/renderer_gl.hpp index 41dba6eb..2471bae0 100644 --- a/include/renderer_gl/renderer_gl.hpp +++ b/include/renderer_gl/renderer_gl.hpp @@ -95,7 +95,6 @@ class RendererGL final : public Renderer { for (auto& it : programCache) { CachedProgram& cachedProgram = it.second; cachedProgram.program.free(); - glDeleteBuffers(1, &cachedProgram.uboBinding); } for (auto& it : vertexShaderCache) { diff --git a/src/core/renderer_gl/renderer_gl.cpp b/src/core/renderer_gl/renderer_gl.cpp index 6f0cab1a..5cd7cced 100644 --- a/src/core/renderer_gl/renderer_gl.cpp +++ b/src/core/renderer_gl/renderer_gl.cpp @@ -944,7 +944,7 @@ bool RendererGL::prepareForDraw(ShaderUnit& shaderUnit, bool isImmediateMode) { // If the optional is false, we have never tried to recompile the shader before. Try to recompile it and see if it works. if (!shader.has_value()) { // Initialize shader to a "null" shader (handle == 0) - *shader = OpenGL::Shader(); + shader = OpenGL::Shader(); std::string picaShaderSource = PICA::ShaderGen::decompileShader( shaderUnit.vs, *emulatorConfig, shaderUnit.vs.entrypoint, PICA::ShaderGen::API::GL, PICA::ShaderGen::Language::GLSL