aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_opengl/gl_rasterizer.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-10-09 22:46:47 -0400
committerbunnei <bunneidev@gmail.com>2015-10-21 21:58:59 -0400
commit240a3b80d970b56b4ed3671536489eb0e32532ae (patch)
tree487d5b0cda1965e8e80cd8e3c17b0cece3ad3cec /src/video_core/renderer_opengl/gl_rasterizer.cpp
parent71edb55114af129d6f580e271ad5196043342abe (diff)
gl_rasterizer: Use MMH3 hash for shader cache hey.
- Includes a check to confirm no hash collisions.
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer.cpp')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 64639ed26..4ae42f226 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -461,7 +461,8 @@ void RasterizerOpenGL::ReconfigureDepthTexture(DepthTextureInfo& texture, Pica::
}
void RasterizerOpenGL::SetShader() {
- ShaderCacheKey config = ShaderCacheKey::CurrentConfig();
+ PicaShaderConfig config = PicaShaderConfig::CurrentConfig();
+ std::unique_ptr<PicaShader> shader = Common::make_unique<PicaShader>();
// Find (or generate) the GLSL shader for the current TEV state
auto cached_shader = shader_cache.find(config);
@@ -471,9 +472,7 @@ void RasterizerOpenGL::SetShader() {
state.draw.shader_program = current_shader->shader.handle;
state.Apply();
} else {
- LOG_DEBUG(Render_OpenGL, "Creating new shader: %08X", hash(config));
-
- std::unique_ptr<TEVShader> shader = Common::make_unique<TEVShader>();
+ LOG_DEBUG(Render_OpenGL, "Creating new shader");
shader->shader.Create(GLShader::GenerateVertexShader().c_str(), GLShader::GenerateFragmentShader(config).c_str());