From 5742367341688e3f769e0dc86fddc593c2de767c Mon Sep 17 00:00:00 2001
From: Tony Wasserka <neobrainx@gmail.com>
Date: Mon, 9 Mar 2015 21:49:49 +0100
Subject: [PATCH] Pica/PrimitiveAssembly: Fix triangle strips and fans being
 generated with incorrect winding order.

---
 src/video_core/primitive_assembly.cpp | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/video_core/primitive_assembly.cpp b/src/video_core/primitive_assembly.cpp
index 1776a1925..0120f2896 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) {