فهرست منبع

GPU/PrimitiveAssembler: Fixed drawing triangle fans.

It was skipping the second vertex assignment and using uninitialized garbage when assembling the corresponding triangle.
Subv 10 سال پیش
والد
کامیت
7b33e163b9
1فایلهای تغییر یافته به همراه4 افزوده شده و 5 حذف شده
  1. 4 5
      src/video_core/primitive_assembly.cpp

+ 4 - 5
src/video_core/primitive_assembly.cpp

@@ -39,13 +39,12 @@ void PrimitiveAssembler<VertexType>::SubmitVertex(VertexType& vtx, TriangleHandl
 
             buffer[buffer_index] = vtx;
 
-            if (topology == Regs::TriangleTopology::Strip) {
-                strip_ready |= (buffer_index == 1);
+            strip_ready |= (buffer_index == 1);
+
+            if (topology == Regs::TriangleTopology::Strip)
                 buffer_index = !buffer_index;
-            } else if (topology == Regs::TriangleTopology::Fan) {
+            else if (topology == Regs::TriangleTopology::Fan)
                 buffer_index = 1;
-                strip_ready = true;
-            }
             break;
 
         default: