GPUQuerySet
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The GPUQuerySet interface of the WebGPU API is used to record the results of queries on passes, such as occlusion or timestamp queries.
-
Occlusion queries are available on render passes to query whether any fragment samples pass all the per-fragment tests for a set of drawing commands (including scissor, sample mask, alpha to coverage, stencil, and depth tests). To run an occlusion query, an appropriate
GPUQuerySetmust be provided as the value of theocclusionQuerySetdescriptor property when invokingGPUCommandEncoder.beginRenderPass()to run a render pass. -
Timestamp queries allow applications to write timestamps to a
GPUQuerySet. To run a timestamp query, appropriateGPUQuerySets must be provided inside the value of thetimestampWritesdescriptor property when invokingGPUCommandEncoder.beginRenderPass()to run a render pass, orGPUCommandEncoder.beginComputePass()to run a compute pass.
Note:
The timestamp-query feature needs to be enabled to use timestamp queries.
A GPUQuerySet object instance is created using the GPUDevice.createQuerySet() method.
Instance properties
countRead only-
A number specifying the number of queries managed by the
GPUQuerySet. label-
A string providing a label that can be used to identify the object, for example in
GPUErrormessages or console warnings. typeRead only-
An enumerated value specifying the type of queries managed by the
GPUQuerySet.
Instance methods
destroy()-
Destroys the
GPUQuerySet.
Examples
The following snippet creates a GPUQuerySet that holds 32 occlusion query results, and then returns the type and count:
const querySet = device.createQuerySet({
type: "occlusion",
count: 32,
});
console.log(querySet.count); // 32
console.log(querySet.type); // "occlusion"
Specifications
| Specification |
|---|
| WebGPU> # gpuqueryset> |
Browser compatibility
Loading…
See also
- The WebGPU API