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

gl_shader_cache: Make CachedShader constructor private
This commit is contained in:
bunnei 2019-07-04 03:03:44 -04:00 committed by GitHub
commit cca663792f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 5 deletions

View File

@ -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,

View File

@ -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.