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), static_cast<u32>(code_size_b / sizeof(u64)), std::move(program_code),
std::move(program_code_b))); 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, Shader CachedShader::CreateStageFromCache(const ShaderParameters& params,
Maxwell::ShaderProgram program_type, Maxwell::ShaderProgram program_type,
GLShader::ProgramResult result) { 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, std::tuple<GLuint, BaseBindings> CachedShader::GetProgramHandle(GLenum primitive_mode,

View File

@ -52,9 +52,6 @@ struct ShaderParameters {
class CachedShader final : public RasterizerCacheObject { class CachedShader final : public RasterizerCacheObject {
public: public:
explicit CachedShader(const ShaderParameters& params, Maxwell::ShaderProgram program_type,
GLShader::ProgramResult result);
static Shader CreateStageFromMemory(const ShaderParameters& params, static Shader CreateStageFromMemory(const ShaderParameters& params,
Maxwell::ShaderProgram program_type, Maxwell::ShaderProgram program_type,
ProgramCode&& program_code, ProgramCode&& program_code_b); ProgramCode&& program_code, ProgramCode&& program_code_b);
@ -81,6 +78,9 @@ public:
BaseBindings base_bindings); BaseBindings base_bindings);
private: 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 // 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 // declared by the hardware. Workaround this issue by generating a different shader per input
// topology class. // topology class.