diff options
Diffstat (limited to 'dom/webgpu/tests/cts/checkout/src/webgpu/api/validation/encoding/queries/common.ts')
-rw-r--r-- | dom/webgpu/tests/cts/checkout/src/webgpu/api/validation/encoding/queries/common.ts | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/api/validation/encoding/queries/common.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/api/validation/encoding/queries/common.ts new file mode 100644 index 0000000000..66e8e78b13 --- /dev/null +++ b/dom/webgpu/tests/cts/checkout/src/webgpu/api/validation/encoding/queries/common.ts @@ -0,0 +1,37 @@ +import { GPUTest } from '../../../../gpu_test.js'; + +export function createQuerySetWithType( + t: GPUTest, + type: GPUQueryType, + count: GPUSize32 +): GPUQuerySet { + return t.device.createQuerySet({ + type, + count, + }); +} + +export function beginRenderPassWithQuerySet( + t: GPUTest, + encoder: GPUCommandEncoder, + querySet?: GPUQuerySet +): GPURenderPassEncoder { + const view = t.device + .createTexture({ + format: 'rgba8unorm' as const, + size: { width: 16, height: 16, depthOrArrayLayers: 1 }, + usage: GPUTextureUsage.RENDER_ATTACHMENT, + }) + .createView(); + return encoder.beginRenderPass({ + colorAttachments: [ + { + view, + clearValue: { r: 1.0, g: 0.0, b: 0.0, a: 1.0 }, + loadOp: 'clear', + storeOp: 'store', + }, + ], + occlusionQuerySet: querySet, + }); +} |