From 59bb84b86c232844e9b945fd7ccf7a4416591766 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sat, 18 Apr 2020 20:40:43 -0400 Subject: [PATCH] primitive_assembly: Take triangle_handler by reference Avoids copying the std::function when we don't need to. Particularly given the std::function isn't actually stored anywhere, so there's no need to move it. --- src/video_core/primitive_assembly.cpp | 2 +- src/video_core/primitive_assembly.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/video_core/primitive_assembly.cpp b/src/video_core/primitive_assembly.cpp index 182a69772..60b0af059 100644 --- a/src/video_core/primitive_assembly.cpp +++ b/src/video_core/primitive_assembly.cpp @@ -15,7 +15,7 @@ PrimitiveAssembler::PrimitiveAssembler(PipelineRegs::TriangleTopolog template void PrimitiveAssembler::SubmitVertex(const VertexType& vtx, - TriangleHandler triangle_handler) { + const TriangleHandler& triangle_handler) { switch (topology) { case PipelineRegs::TriangleTopology::List: case PipelineRegs::TriangleTopology::Shader: diff --git a/src/video_core/primitive_assembly.h b/src/video_core/primitive_assembly.h index f453ac82e..c650646db 100644 --- a/src/video_core/primitive_assembly.h +++ b/src/video_core/primitive_assembly.h @@ -29,7 +29,7 @@ struct PrimitiveAssembler { * NOTE: We could specify the triangle handler in the constructor, but this way we can * keep event and handler code next to each other. */ - void SubmitVertex(const VertexType& vtx, TriangleHandler triangle_handler); + void SubmitVertex(const VertexType& vtx, const TriangleHandler& triangle_handler); /** * Invert the vertex order of the next triangle. Called by geometry shader emitter.