summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_cache.cpp4
-rw-r--r--src/video_core/renderer_opengl/gl_shader_cache.h6
2 files changed, 5 insertions, 5 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_cache.cpp b/src/video_core/renderer_opengl/gl_shader_cache.cpp
index 2d78e2b60..8d3d7bfdc 100644
--- a/src/video_core/renderer_opengl/gl_shader_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_cache.cpp
@@ -245,13 +245,13 @@ Shader CachedShader::CreateStageFromMemory(const ShaderParameters& params,
245 static_cast<u32>(code_size_b / sizeof(u64)), std::move(program_code), 245 static_cast<u32>(code_size_b / sizeof(u64)), std::move(program_code),
246 std::move(program_code_b))); 246 std::move(program_code_b)));
247 247
248 return std::make_shared<CachedShader>(params, program_type, std::move(result)); 248 return std::shared_ptr<CachedShader>(new CachedShader(params, program_type, std::move(result)));
249} 249}
250 250
251Shader CachedShader::CreateStageFromCache(const ShaderParameters& params, 251Shader CachedShader::CreateStageFromCache(const ShaderParameters& params,
252 Maxwell::ShaderProgram program_type, 252 Maxwell::ShaderProgram program_type,
253 GLShader::ProgramResult result) { 253 GLShader::ProgramResult result) {
254 return std::make_shared<CachedShader>(params, program_type, std::move(result)); 254 return std::shared_ptr<CachedShader>(new CachedShader(params, program_type, std::move(result)));
255} 255}
256 256
257std::tuple<GLuint, BaseBindings> CachedShader::GetProgramHandle(GLenum primitive_mode, 257std::tuple<GLuint, BaseBindings> CachedShader::GetProgramHandle(GLenum primitive_mode,
diff --git a/src/video_core/renderer_opengl/gl_shader_cache.h b/src/video_core/renderer_opengl/gl_shader_cache.h
index 964f680bc..01af9b28a 100644
--- a/src/video_core/renderer_opengl/gl_shader_cache.h
+++ b/src/video_core/renderer_opengl/gl_shader_cache.h
@@ -52,9 +52,6 @@ struct ShaderParameters {
52 52
53class CachedShader final : public RasterizerCacheObject { 53class CachedShader final : public RasterizerCacheObject {
54public: 54public:
55 explicit CachedShader(const ShaderParameters& params, Maxwell::ShaderProgram program_type,
56 GLShader::ProgramResult result);
57
58 static Shader CreateStageFromMemory(const ShaderParameters& params, 55 static Shader CreateStageFromMemory(const ShaderParameters& params,
59 Maxwell::ShaderProgram program_type, 56 Maxwell::ShaderProgram program_type,
60 ProgramCode&& program_code, ProgramCode&& program_code_b); 57 ProgramCode&& program_code, ProgramCode&& program_code_b);
@@ -81,6 +78,9 @@ public:
81 BaseBindings base_bindings); 78 BaseBindings base_bindings);
82 79
83private: 80private:
81 explicit CachedShader(const ShaderParameters& params, Maxwell::ShaderProgram program_type,
82 GLShader::ProgramResult result);
83
84 // Geometry programs. These are needed because GLSL needs an input topology but it's not 84 // Geometry programs. These are needed because GLSL needs an input topology but it's not
85 // declared by the hardware. Workaround this issue by generating a different shader per input 85 // declared by the hardware. Workaround this issue by generating a different shader per input
86 // topology class. 86 // topology class.