blob: 1ad835933a1068d9a7dc9f171b8916c43cf32b8b [file] [edit]
Two drawIndirect calls in one render pass, reading two different argument records out of one GPUBuffer, with a pipeline that declares a required vertex buffer layout so both draws take the min-count clamp path. The clamped arguments must land in per-draw scratch: a single per-Buffer scratch slot is written by the second draw's clamp dispatch at the same address the first draw fetches its arguments from, and no barrier can order a vertex-stage write against an indirect argument fetch. Each draw selects a differently coloured triangle via firstVertex and is scissored to its own pixel, so a clobbered record shows up as the wrong colour.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS leftPixel.join() is "0,255,0,255"
PASS rightPixel.join() is "0,0,255,255"
PASS successfullyParsed is true
TEST COMPLETE