Target: third_party/angle/src/libANGLE/renderer/metal/mtl_command_buffer.mm
— RenderCommandEncoder::drawIndexedInstancedBaseVertexBaseInstance declares
uint32_t baseVertex, so a spec-legal negative baseVertex is
zero-extended to a ~4 billion offset when handed to Metal's
-[MTLRenderCommandEncoder drawIndexedPrimitives:...baseVertex:]
(NSInteger / int64).
This page issues drawElementsInstancedBaseVertexBaseInstanceWEBGL(..., baseVertex = -5, ...)
with an index buffer of [5,6,7] against a 16-vertex VBO. Per GLES, this is
in-bounds (effective indices 0,1,2). On the ANGLE Metal backend the encoder forwards
baseVertex = 0xFFFFFFFB = 4294967291 to the Metal driver instead of -5.