@ -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 =
ProgramResult program =
Decompile ( device , program_ir , Maxwell3D : : Regs : : ShaderStage : : Vertex , " vertex " ) ;
Decompile ( device , program_ir , Maxwell3D : : Regs : : ShaderStage : : Vertex , " vertex " ) ;
out + = program . first ;
out + = program . first ;
if ( setup . IsDualProgram ( ) ) {
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 =
ProgramResult program_b =
Decompile ( device , program_ir_b , Maxwell3D : : Regs : : ShaderStage : : Vertex , " vertex_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 ) {
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 =
ProgramResult program =
Decompile ( device , program_ir , Maxwell3D : : Regs : : ShaderStage : : Geometry , " geometry " ) ;
Decompile ( device , program_ir , Maxwell3D : : Regs : : ShaderStage : : Geometry , " geometry " ) ;
out + = program . first ;
out + = program . first ;
@ -107,7 +107,7 @@ void main() {
execute_geometry ( ) ;
execute_geometry ( ) ;
} ; ) " ;
} ; ) " ;
return { out, program. second } ;
return { std: : move ( out) , std: : move ( program. second ) } ;
}
}
ProgramResult GenerateFragmentShader ( const Device & device , const ShaderSetup & setup ) {
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 =
ProgramResult program =
Decompile ( device , program_ir , Maxwell3D : : Regs : : ShaderStage : : Fragment , " fragment " ) ;
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
} // namespace OpenGL::GLShader