From 5742367341688e3f769e0dc86fddc593c2de767c Mon Sep 17 00:00:00 2001 From: Tony Wasserka Date: Mon, 9 Mar 2015 21:49:49 +0100 Subject: 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(-) (limited to 'src/video_core/primitive_assembly.cpp') 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::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) { -- cgit v1.2.3