Page MenuHome

Metal: Fix edge-case with point primitive restart index removal where all indices are restarts.
ClosedPublic

Authored by Jason Fielder (jason_apple) on Mon, Jan 23, 12:20 PM.

Details

Summary

Metal backend does not support primtiive restart for point primtiives. Hence strip_restart_indices removes restart indices by swapping them to the end of the index buffer and reducing the length.
An edge-case existed where all indices within the index buffer were restarts and no valid swap-index would be found, resulting in a buffer underflow.

Authored by Apple: Michael Parkin-White

Ref T96261

Diff Detail

Repository
rB Blender