aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/video_core/primitive_assembly.cpp
diff options
context:
space:
mode:
authorGravatar Tony Wasserka <neobrainx@gmail.com>2015-03-09 21:49:49 +0100
committerGravatar Tony Wasserka <neobrainx@gmail.com>2015-03-09 21:49:49 +0100
commit5742367341688e3f769e0dc86fddc593c2de767c (patch)
tree356eb606efa0bb872eac04c89084160e0af12cc1 /src/video_core/primitive_assembly.cpp
parent8a1cc5b8058686e9c73a363f22c48c4a3d10d4ec (diff)
Pica/PrimitiveAssembly: Fix triangle strips and fans being generated with incorrect winding order.
Diffstat (limited to 'src/video_core/primitive_assembly.cpp')
-rw-r--r--src/video_core/primitive_assembly.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/video_core/primitive_assembly.cpp b/src/video_core/primitive_assembly.cpp
index 1776a192..0120f289 100644
--- a/src/video_core/primitive_assembly.cpp
+++ b/src/video_core/primitive_assembly.cpp
@@ -33,12 +33,9 @@ void PrimitiveAssembler<VertexType>::SubmitVertex(VertexType& vtx, TriangleHandl
case Regs::TriangleTopology::Strip:
case Regs::TriangleTopology::Fan:
- if (strip_ready) {
- // TODO: Should be "buffer[0], buffer[1], vtx" instead!
- // Not quite sure why we need this order for things to show up properly.
- // Maybe a bug in the rasterizer?
- triangle_handler(buffer[1], buffer[0], vtx);
- }
+ if (strip_ready)
+ triangle_handler(buffer[0], buffer[1], vtx);
+
buffer[buffer_index] = vtx;
if (topology == Regs::TriangleTopology::Strip) {