Browse Source

Merge pull request #2670 from DarkLordZach/fix-merge-discrep-1

gl_shader_cache: Make CachedShader constructor private
pull/15/merge
bunnei 7 years ago
committed by GitHub
parent
commit
cca663792f
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      src/video_core/renderer_opengl/gl_shader_cache.cpp
  2. 6
      src/video_core/renderer_opengl/gl_shader_cache.h

4
src/video_core/renderer_opengl/gl_shader_cache.cpp

@ -245,13 +245,13 @@ Shader CachedShader::CreateStageFromMemory(const ShaderParameters& params,
static_cast<u32>(code_size_b / sizeof(u64)), std::move(program_code),
std::move(program_code_b)));
return std::make_shared<CachedShader>(params, program_type, std::move(result));
return std::shared_ptr<CachedShader>(new CachedShader(params, program_type, std::move(result)));
}
Shader CachedShader::CreateStageFromCache(const ShaderParameters& params,
Maxwell::ShaderProgram program_type,
GLShader::ProgramResult result) {
return std::make_shared<CachedShader>(params, program_type, std::move(result));
return std::shared_ptr<CachedShader>(new CachedShader(params, program_type, std::move(result)));
}
std::tuple<GLuint, BaseBindings> CachedShader::GetProgramHandle(GLenum primitive_mode,

6
src/video_core/renderer_opengl/gl_shader_cache.h

@ -52,9 +52,6 @@ struct ShaderParameters {
class CachedShader final : public RasterizerCacheObject {
public:
explicit CachedShader(const ShaderParameters& params, Maxwell::ShaderProgram program_type,
GLShader::ProgramResult result);
static Shader CreateStageFromMemory(const ShaderParameters& params,
Maxwell::ShaderProgram program_type,
ProgramCode&& program_code, ProgramCode&& program_code_b);
@ -81,6 +78,9 @@ public:
BaseBindings base_bindings);
private:
explicit CachedShader(const ShaderParameters& params, Maxwell::ShaderProgram program_type,
GLShader::ProgramResult result);
// Geometry programs. These are needed because GLSL needs an input topology but it's not
// declared by the hardware. Workaround this issue by generating a different shader per input
// topology class.

Loading…
Cancel
Save