1
0
Fork 0
forked from suyu/suyu

Merge pull request #2496 from lioncash/move-con

gl_shader_gen: std::move objects where applicable
This commit is contained in:
Sebastian Valle 2019-05-19 08:35:47 -05:00 committed by GitHub
commit b42ca9888d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -33,14 +33,14 @@ layout (std140, binding = EMULATION_UBO_BINDING) uniform vs_config {
};
)";
ShaderIR program_ir(setup.program.code, PROGRAM_OFFSET);
const ShaderIR program_ir(setup.program.code, PROGRAM_OFFSET);
ProgramResult program =
Decompile(device, program_ir, Maxwell3D::Regs::ShaderStage::Vertex, "vertex");
out += program.first;
if (setup.IsDualProgram()) {
ShaderIR program_ir_b(setup.program.code_b, PROGRAM_OFFSET);
const ShaderIR program_ir_b(setup.program.code_b, PROGRAM_OFFSET);
ProgramResult program_b =
Decompile(device, program_ir_b, Maxwell3D::Regs::ShaderStage::Vertex, "vertex_b");
@ -76,7 +76,7 @@ void main() {
}
})";
return {out, program.second};
return {std::move(out), std::move(program.second)};
}
ProgramResult GenerateGeometryShader(const Device& device, const ShaderSetup& setup) {
@ -97,7 +97,7 @@ layout (std140, binding = EMULATION_UBO_BINDING) uniform gs_config {
};
)";
ShaderIR program_ir(setup.program.code, PROGRAM_OFFSET);
const ShaderIR program_ir(setup.program.code, PROGRAM_OFFSET);
ProgramResult program =
Decompile(device, program_ir, Maxwell3D::Regs::ShaderStage::Geometry, "geometry");
out += program.first;
@ -107,7 +107,7 @@ void main() {
execute_geometry();
};)";
return {out, program.second};
return {std::move(out), std::move(program.second)};
}
ProgramResult GenerateFragmentShader(const Device& device, const ShaderSetup& setup) {
@ -160,7 +160,7 @@ bool AlphaFunc(in float value) {
}
)";
ShaderIR program_ir(setup.program.code, PROGRAM_OFFSET);
const ShaderIR program_ir(setup.program.code, PROGRAM_OFFSET);
ProgramResult program =
Decompile(device, program_ir, Maxwell3D::Regs::ShaderStage::Fragment, "fragment");
@ -172,7 +172,7 @@ void main() {
}
)";
return {out, program.second};
return {std::move(out), std::move(program.second)};
}
} // namespace OpenGL::GLShader