From 9df592004a723c803547cb35b1be8bd28b50bf6f Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 2 Aug 2018 11:07:07 -0400 Subject: [PATCH] gl_shader_manager: Take ShaderSetup instances by const reference in UseProgrammableVertexShader() and UseProgrammableFragmentShader() Avoids performing unnecessary copies of 65560 byte sized ShaderSetup instances, considering it's only used as part of lookup and not modified. Given the parameters were already const, it's likely taking these parameters by reference was intended but the ampersand was forgotten. --- src/video_core/renderer_opengl/gl_shader_manager.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/video_core/renderer_opengl/gl_shader_manager.h b/src/video_core/renderer_opengl/gl_shader_manager.h index e29d551e16..2214c348a7 100644 --- a/src/video_core/renderer_opengl/gl_shader_manager.h +++ b/src/video_core/renderer_opengl/gl_shader_manager.h @@ -105,14 +105,14 @@ public: } ShaderEntries UseProgrammableVertexShader(const MaxwellVSConfig& config, - const ShaderSetup setup) { + const ShaderSetup& setup) { ShaderEntries result; std::tie(current.vs, result) = vertex_shaders.Get(config, setup); return result; } ShaderEntries UseProgrammableFragmentShader(const MaxwellFSConfig& config, - const ShaderSetup setup) { + const ShaderSetup& setup) { ShaderEntries result; std::tie(current.fs, result) = fragment_shaders.Get(config, setup); return result;