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.cpp77
1 files changed, 0 insertions, 77 deletions
diff --git a/src/video_core/primitive_assembly.cpp b/src/video_core/primitive_assembly.cpp
deleted file mode 100644
index 9c3dd4cab..000000000
--- a/src/video_core/primitive_assembly.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2014 Citra Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#include "common/logging/log.h"
-#include "video_core/primitive_assembly.h"
-#include "video_core/regs_pipeline.h"
-#include "video_core/shader/shader.h"
-
-namespace Pica {
-
-template <typename VertexType>
-PrimitiveAssembler<VertexType>::PrimitiveAssembler(PipelineRegs::TriangleTopology topology)
- : topology(topology), buffer_index(0) {}
-
-template <typename VertexType>
-void PrimitiveAssembler<VertexType>::SubmitVertex(const VertexType& vtx,
- TriangleHandler triangle_handler) {
- switch (topology) {
- case PipelineRegs::TriangleTopology::List:
- case PipelineRegs::TriangleTopology::Shader:
- if (buffer_index < 2) {
- buffer[buffer_index++] = vtx;
- } else {
- buffer_index = 0;
- if (topology == PipelineRegs::TriangleTopology::Shader && winding) {
- triangle_handler(buffer[1], buffer[0], vtx);
- winding = false;
- } else {
- triangle_handler(buffer[0], buffer[1], vtx);
- }
- }
- break;
-
- case PipelineRegs::TriangleTopology::Strip:
- case PipelineRegs::TriangleTopology::Fan:
- if (strip_ready)
- triangle_handler(buffer[0], buffer[1], vtx);
-
- buffer[buffer_index] = vtx;
-
- strip_ready |= (buffer_index == 1);
-
- if (topology == PipelineRegs::TriangleTopology::Strip)
- buffer_index = !buffer_index;
- else if (topology == PipelineRegs::TriangleTopology::Fan)
- buffer_index = 1;
- break;
-
- default:
- LOG_ERROR(HW_GPU, "Unknown triangle topology %x:", (int)topology);
- break;
- }
-}
-
-template <typename VertexType>
-void PrimitiveAssembler<VertexType>::SetWinding() {
- winding = true;
-}
-
-template <typename VertexType>
-void PrimitiveAssembler<VertexType>::Reset() {
- buffer_index = 0;
- strip_ready = false;
- winding = false;
-}
-
-template <typename VertexType>
-void PrimitiveAssembler<VertexType>::Reconfigure(PipelineRegs::TriangleTopology topology) {
- Reset();
- this->topology = topology;
-}
-
-// explicitly instantiate use cases
-template struct PrimitiveAssembler<Shader::OutputVertex>;
-
-} // namespace