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
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
5 additions and
5 deletions
-
src/video_core/renderer_opengl/gl_shader_cache.cpp
-
src/video_core/renderer_opengl/gl_shader_cache.h
|
|
|
@ -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, |
|
|
|
|
|
|
|
@ -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. |
|
|
|
|