GPURenderPassEncoder: beginOcclusionQuery() method
The beginOcclusionQuery()
method of the GPURenderPassEncoder
interface begins an occlusion query at the specified index of the relevant GPUQuerySet
(provided as the value of the occlusionQuerySet
descriptor property when invoking GPUCommandEncoder.beginRenderPass()
to run the render pass).
Syntax
beginOcclusionQuery(queryIndex)
Parameters
-
queryIndex
-
The index in the GPUQuerySet
to begin the occlusion query at.
Return value
Validation
The following criteria must be met when calling beginOcclusionQuery()
, otherwise a GPUValidationError
is generated and the GPURenderPassEncoder
becomes invalid:
- A
GPUQuerySet
was specified in the occlusionQuerySet
descriptor property when invoking the originating GPUCommandEncoder.beginRenderPass()
.
queryIndex
is smaller than GPUQuerySet.count
.
- The
queryIndex
has not already been written to in the same render pass.
- An occlusion query is not already active for this render pass (i.e. via a previous
beginOcclusionQuery()
call).
Examples
const querySet = device.createQuerySet({
type: "occlusion",
count: 32,
});
const renderPassDescriptor = {
colorAttachments: [
{
clearValue: clearColor,
loadOp: "clear",
storeOp: "store",
view: context.getCurrentTexture().createView(),
},
],
occlusionQuerySet: querySet,
};
const passEncoder = commandEncoder.beginRenderPass(renderPassDescriptor);
passEncoder.beginOcclusionQuery(0);
passEncoder.setPipeline(renderPipeline);
passEncoder.setVertexBuffer(0, vertexBuffer);
passEncoder.draw(3);
passEncoder.endOcclusionQuery();
Specifications
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
beginOcclusionQuery |
113Currently supported on ChromeOS, macOS, and Windows only.
|
113Currently supported on ChromeOS, macOS, and Windows only.
|
No |
No |
99Currently supported on ChromeOS, macOS, and Windows only.
|
No |
No |
No |
No |
No |
No |
No |
See also