diff options
| author | bunnei <bunneidev@gmail.com> | 2015-10-05 20:52:04 -0400 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2015-10-21 21:53:05 -0400 |
| commit | 3c057bd3d80b049720b11d0b44391c18870c28e8 (patch) | |
| tree | a5c141dc0b3ff15d30e3bbd962d08826bbd26b42 /src/video_core/renderer_opengl/gl_rasterizer.cpp | |
| parent | b02a533d946fbf98897ee42334a343d2aa4d7bf4 (diff) | |
gl_rasterizer: Move logic for creating ShaderCacheKey to a static function.
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer.cpp')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index a69e09188..01b9c91c6 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -145,21 +145,7 @@ extern std::string GenerateFragmentShader(const ShaderCacheKey& config); } void RasterizerOpenGL::RegenerateShaders() { - const auto& regs = Pica::g_state.regs; - - ShaderCacheKey config; - config.alpha_test_func = regs.output_merger.alpha_test.enable ? - regs.output_merger.alpha_test.func.Value() : Pica::Regs::CompareFunc::Always; - config.tev_stages = regs.GetTevStages(); - for (auto& tev : config.tev_stages) { - tev.const_r = 0; - tev.const_g = 0; - tev.const_b = 0; - tev.const_a = 0; - } - config.combiner_buffer_input = - regs.tev_combiner_buffer_input.update_mask_rgb.Value() | - regs.tev_combiner_buffer_input.update_mask_a.Value() << 4; + ShaderCacheKey config = ShaderCacheKey::CurrentShaderConfig(); auto cached_shader = shader_cache.find(config); if (cached_shader != shader_cache.end()) { @@ -192,10 +178,9 @@ void RasterizerOpenGL::RegenerateShaders() { } } - // Sync alpha reference if (current_shader->uniform_alphatest_ref != -1) - glUniform1i(current_shader->uniform_alphatest_ref, regs.output_merger.alpha_test.ref); + glUniform1i(current_shader->uniform_alphatest_ref, Pica::g_state.regs.output_merger.alpha_test.ref); // Sync combiner buffer color if (current_shader->uniform_tev_combiner_buffer_color != -1) { |
