Просмотр исходного кода

gl_shader_cache: Make CachedShader constructor private
Fixes missing review comments introduced.

Zach Hilman 7 лет назад
Родитель
Сommit
ad50cd7df9

+ 2 - 2
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,

+ 3 - 3
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.