summaryrefslogtreecommitdiffstats
path: root/src/video_core/primitive_assembly.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/primitive_assembly.h')
-rw-r--r--src/video_core/primitive_assembly.h57
1 files changed, 0 insertions, 57 deletions
diff --git a/src/video_core/primitive_assembly.h b/src/video_core/primitive_assembly.h
deleted file mode 100644
index 12de8e3b9..000000000
--- a/src/video_core/primitive_assembly.h
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2014 Citra Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#pragma once
-
-#include <functional>
-#include "video_core/regs_pipeline.h"
-
-namespace Pica {
-
-/*
- * Utility class to build triangles from a series of vertices,
- * according to a given triangle topology.
- */
-template <typename VertexType>
-struct PrimitiveAssembler {
- using TriangleHandler =
- std::function<void(const VertexType& v0, const VertexType& v1, const VertexType& v2)>;
-
- PrimitiveAssembler(
- PipelineRegs::TriangleTopology topology = PipelineRegs::TriangleTopology::List);
-
- /*
- * Queues a vertex, builds primitives from the vertex queue according to the given
- * triangle topology, and calls triangle_handler for each generated primitive.
- * 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);
-
- /**
- * Invert the vertex order of the next triangle. Called by geometry shader emitter.
- * This only takes effect for TriangleTopology::Shader.
- */
- void SetWinding();
-
- /**
- * Resets the internal state of the PrimitiveAssembler.
- */
- void Reset();
-
- /**
- * Reconfigures the PrimitiveAssembler to use a different triangle topology.
- */
- void Reconfigure(PipelineRegs::TriangleTopology topology);
-
-private:
- PipelineRegs::TriangleTopology topology;
-
- int buffer_index;
- VertexType buffer[2];
- bool strip_ready = false;
- bool winding = false;
-};
-
-} // namespace