-
Notifications
You must be signed in to change notification settings - Fork 345
Open
Labels
apiWebGPU APIWebGPU API
Milestone
Description
As raised earlier in #856, it would be great if GPUBufferUsage.QUERY_RESOLVE | GPUBufferUsage.MAP_READ was valid so that we don't have to create a separate GPUBuffer mapped for reading and use copyBufferToBuffer() after resolveQuerySet().
In other words, this would allow web developers to write code:
const resolveBuffer = myDevice.createBuffer({
size: 16,
usage: GPUBufferUsage.QUERY_RESOLVE | GPUBufferUsage.MAP_READ, // New
});
myCommandEncoder.resolveQuerySet(myQuerySet, 0, 2, resolveBuffer, 0);instead of:
const resolveBuffer = myDevice.createBuffer({
size: 16,
usage: GPUBufferUsage.QUERY_RESOLVE | GPUBufferUsage.COPY_SRC,
});
myCommandEncoder.resolveQuerySet(myQuerySet, 0, 2, resolveBuffer, 0);
// Currently, we have to create a separate GPUBuffer mapped for reading and use copyBufferToBuffer()...
const resultBuffer = myDevice.createBuffer({
size: 16,
usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ,
});
myCommandEncoder.copyBufferToBuffer(resolveBuffer, 0, resultBuffer, 0, 16);I believe this could work with WebGPU Compat mode as well.
kainino0x, Kangz, warvstar, toji and amirsojoodi
Metadata
Metadata
Assignees
Labels
apiWebGPU APIWebGPU API