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