-
Notifications
You must be signed in to change notification settings - Fork 340
Description
Under step 2.2.3 of the index resolution process it is stated:
Append drawCall.baseVertex + relativeVertexIndex to the vertexIndexList.
in the case drawCall.baseVertex
is negative and relativeVertexIndex < -drawCall.baseVertex
, i.e., drawCall.baseVertex + relativeVertexIndex < 0
, is it expected for the vertex index to wrap around or is the call rejected / invalid memory reference applies?
I was unable to find corresponding reference in Metal, but the OpenGL specification for glDrawElementsBaseVertex says:
The operation is undefined if the sum would be negative.
Is it allowed for an implementation to reject the call in this case per the note under https://www.w3.org/TR/webgpu/#dom-gpurendercommandsmixin-drawindexed? In the case of 16-indices and negative baseIndex values, it is not clear that all APIs have the same semantics and polyfilling it would seem expensive.