blob: 5f5debe3613f36a73918294e3becd530e0c6a389 [file]
<script>
globalThis.testRunner?.waitUntilDone();
const log = console.debug;
onload = async () => {
let adapter = await navigator.gpu.requestAdapter({});
let device = await adapter.requestDevice({});
device.pushErrorScope('validation');
let code = `
@group(0) @binding(0) var t: texture_1d<f32>;
@vertex
fn v() -> @builtin(position) vec4f {
return vec4();
}
@fragment
fn f() -> @location(0) vec4f {
_ = textureDimensions(t, 1);
return vec4();
}
`;
let module = device.createShaderModule({code});
let bindGroupLayout = device.createBindGroupLayout({
entries: [{binding: 0, visibility: GPUShaderStage.FRAGMENT, texture: {viewDimension: '1d'}}],
});
device.createRenderPipeline({
layout: device.createPipelineLayout({bindGroupLayouts: [bindGroupLayout]}),
vertex: {module, buffers: []},
fragment: {module, targets: [{format: 'bgra8unorm'}]},
});
let error = await device.popErrorScope();
if (error) {
log('validation error');
log(error.message);
} else {
log('no validation error');
}
globalThis.testRunner?.notifyDone();
};
</script>