summaryrefslogtreecommitdiffstats
path: root/src/video_core/primitive_assembly.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/video_core/primitive_assembly.cpp63
1 files changed, 31 insertions, 32 deletions
diff --git a/src/video_core/primitive_assembly.cpp b/src/video_core/primitive_assembly.cpp
index 68ea3c08a..343edb191 100644
--- a/src/video_core/primitive_assembly.cpp
+++ b/src/video_core/primitive_assembly.cpp
@@ -10,62 +10,61 @@
namespace Pica {
-template<typename VertexType>
+template <typename VertexType>
PrimitiveAssembler<VertexType>::PrimitiveAssembler(Regs::TriangleTopology topology)
: topology(topology), buffer_index(0) {
}
-template<typename VertexType>
-void PrimitiveAssembler<VertexType>::SubmitVertex(VertexType& vtx, TriangleHandler triangle_handler)
-{
+template <typename VertexType>
+void PrimitiveAssembler<VertexType>::SubmitVertex(VertexType& vtx,
+ TriangleHandler triangle_handler) {
switch (topology) {
- // TODO: Figure out what's different with TriangleTopology::Shader.
- case Regs::TriangleTopology::List:
- case Regs::TriangleTopology::Shader:
- if (buffer_index < 2) {
- buffer[buffer_index++] = vtx;
- } else {
- buffer_index = 0;
+ // TODO: Figure out what's different with TriangleTopology::Shader.
+ case Regs::TriangleTopology::List:
+ case Regs::TriangleTopology::Shader:
+ if (buffer_index < 2) {
+ buffer[buffer_index++] = vtx;
+ } else {
+ buffer_index = 0;
- triangle_handler(buffer[0], buffer[1], vtx);
- }
- break;
+ triangle_handler(buffer[0], buffer[1], vtx);
+ }
+ break;
- case Regs::TriangleTopology::Strip:
- case Regs::TriangleTopology::Fan:
- if (strip_ready)
- triangle_handler(buffer[0], buffer[1], vtx);
+ case Regs::TriangleTopology::Strip:
+ case Regs::TriangleTopology::Fan:
+ if (strip_ready)
+ triangle_handler(buffer[0], buffer[1], vtx);
- buffer[buffer_index] = vtx;
+ buffer[buffer_index] = vtx;
- strip_ready |= (buffer_index == 1);
+ strip_ready |= (buffer_index == 1);
- if (topology == Regs::TriangleTopology::Strip)
- buffer_index = !buffer_index;
- else if (topology == Regs::TriangleTopology::Fan)
- buffer_index = 1;
- break;
+ if (topology == Regs::TriangleTopology::Strip)
+ buffer_index = !buffer_index;
+ else if (topology == Regs::TriangleTopology::Fan)
+ buffer_index = 1;
+ break;
- default:
- LOG_ERROR(HW_GPU, "Unknown triangle topology %x:", (int)topology);
- break;
+ default:
+ LOG_ERROR(HW_GPU, "Unknown triangle topology %x:", (int)topology);
+ break;
}
}
-template<typename VertexType>
+template <typename VertexType>
void PrimitiveAssembler<VertexType>::Reset() {
buffer_index = 0;
strip_ready = false;
}
-template<typename VertexType>
+template <typename VertexType>
void PrimitiveAssembler<VertexType>::Reconfigure(Regs::TriangleTopology topology) {
Reset();
this->topology = topology;
}
// explicitly instantiate use cases
-template
-struct PrimitiveAssembler<Shader::OutputVertex>;
+template struct PrimitiveAssembler<Shader::OutputVertex>;
} // namespace