Browse Source

GPU/PrimitiveAssembler: Fixed drawing triangle fans.

It was skipping the second vertex assignment and using uninitialized garbage when assembling the corresponding triangle.
nce_cpp
Subv 10 years ago
parent
commit
c94a1a0375
  1. 9
      src/video_core/primitive_assembly.cpp

9
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:

Loading…
Cancel
Save