diff options
author | Tony Wasserka <neobrainx@gmail.com> | 2015-03-09 21:49:49 +0100 |
---|---|---|
committer | Tony Wasserka <neobrainx@gmail.com> | 2015-03-09 21:49:49 +0100 |
commit | 5742367341688e3f769e0dc86fddc593c2de767c (patch) | |
tree | 356eb606efa0bb872eac04c89084160e0af12cc1 /src/video_core/primitive_assembly.cpp | |
parent | 8a1cc5b8058686e9c73a363f22c48c4a3d10d4ec (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.cpp | 9 |
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) { |