blob: 3674fb7c99ddaf52e0de21db51329d0bfb0c08fd [file] [edit]
<script>
globalThis.testRunner?.waitUntilDone();
globalThis.testRunner?.dumpAsText();
const log = console.debug;
onload = async () => {
let adapter = await navigator.gpu.requestAdapter({});
let device = await adapter.requestDevice({});
device.pushErrorScope('validation');
// A render pipeline with no fragment stage (depth-only) should be compatible with a render
// bundle encoder that declares no color formats and a matching depthStencilFormat.
let module = device.createShaderModule({
code: '@vertex fn v() -> @builtin(position) vec4f { return vec4f(); }',
});
let pipeline = device.createRenderPipeline({
layout: 'auto',
vertex: { module },
depthStencil: { format: 'depth24plus', depthWriteEnabled: true, depthCompare: 'less' },
});
let encoder = device.createRenderBundleEncoder({
colorFormats: [],
depthStencilFormat: 'depth24plus',
});
encoder.setPipeline(pipeline);
encoder.draw(3);
encoder.finish();
let error = await device.popErrorScope();
if (error)
log(error.message);
else
log('no validation error');
globalThis.testRunner?.notifyDone();
};
</script>