We're sort of bending over backwards to support the fact that the PassDescriptor.timestampWrites can be arbitrarily long. But, in the common case, developers will probably just need at most 1 of each TimestampWrite.location. In fact, I don't know why anyone would ever actually want multiple items in the timestampWrites array that target the same TimestampWrite.location.
Can we simplify this, and just have, like...
dictionary GPUQuerySetAndIndex {
GPUQuerySet querySet;
GPUSize32 indexWithinQuerySet;
}
dictionary GPUComputePassTimestampWrites {
GPUQuerySetAndIndex beginningOfPassWrite;
GPUQuerySetAndIndex endOfPassWrite;
}
Or, even better...
dictionary GPUComputePassTimestampWrites {
GPUQuerySet querySet;
GPUSize32 beginningOfPassWrite;
GPUSize32 endOfPassWrite;
}
If the site wants to copy the data out of there to a new place, they can go right ahead.