diff options
| author | 2015-03-09 21:49:49 +0100 | |
|---|---|---|
| committer | 2015-03-09 21:49:49 +0100 | |
| commit | 5742367341688e3f769e0dc86fddc593c2de767c (patch) | |
| tree | 356eb606efa0bb872eac04c89084160e0af12cc1 /src/video_core/primitive_assembly.cpp | |
| parent | Merge pull request #589 from kevinhartman/config-errors (diff) | |
| download | yuzu-5742367341688e3f769e0dc86fddc593c2de767c.tar.gz yuzu-5742367341688e3f769e0dc86fddc593c2de767c.tar.xz yuzu-5742367341688e3f769e0dc86fddc593c2de767c.zip | |
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 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 | |||
| 33 | 33 | ||
| 34 | case Regs::TriangleTopology::Strip: | 34 | case Regs::TriangleTopology::Strip: |
| 35 | case Regs::TriangleTopology::Fan: | 35 | case Regs::TriangleTopology::Fan: |
| 36 | if (strip_ready) { | 36 | if (strip_ready) |
| 37 | // TODO: Should be "buffer[0], buffer[1], vtx" instead! | 37 | triangle_handler(buffer[0], buffer[1], vtx); |
| 38 | // Not quite sure why we need this order for things to show up properly. | 38 | |
| 39 | // Maybe a bug in the rasterizer? | ||
| 40 | triangle_handler(buffer[1], buffer[0], vtx); | ||
| 41 | } | ||
| 42 | buffer[buffer_index] = vtx; | 39 | buffer[buffer_index] = vtx; |
| 43 | 40 | ||
| 44 | if (topology == Regs::TriangleTopology::Strip) { | 41 | if (topology == Regs::TriangleTopology::Strip) { |