diff options
author | bunnei <bunneidev@gmail.com> | 2015-03-09 19:17:43 -0400 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2015-03-09 19:17:43 -0400 |
commit | e10a9b2f666344a4cdcf7846346b88f6825fa1ac (patch) | |
tree | 8aae70ab51a8d070770fe70efd9429897233277f /src | |
parent | 511bf30a6949a945af038e7d9bda3fddcd2d1dde (diff) | |
parent | 5742367341688e3f769e0dc86fddc593c2de767c (diff) |
Merge pull request #647 from neobrain/rip_culling_hack
Pica/PrimitiveAssembly: Fix triangle strips and fans being generated with incorrect winding order.
Diffstat (limited to 'src')
-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) { |