blob: d8af3803a108ce50035e4cf00d91f3d36bd5c71e [file]
<!-- webkit-test-runner [ enableMetalShaderValidation=true ] -->
<script src="../../../resources/js-test-pre.js"></script>
<script>
async function run() {
let adapter = await navigator.gpu.requestAdapter();
let device = await adapter.requestDevice();
let shaderModule = device.createShaderModule({ code: `
struct d {
@location(0) e: vec4<f32>,
@location(3) f: vec4<f32>,
@location(1) g: vec4<i32>,
@location(2) p: i32
}
@fragment fn h() -> d {
return d();
}
@vertex fn k() -> @builtin(position) vec4f {
return vec4f();
}
`});
let pipelineLayout = device.createPipelineLayout({ bindGroupLayouts: [] });
let renderPipeline = await device.createRenderPipelineAsync({
layout: pipelineLayout,
fragment: {
module: shaderModule,
targets: [{ format: 'rgba8unorm-srgb' }]
},
vertex: { module: shaderModule }
});
let renderBundleEncoder = device.createRenderBundleEncoder({
colorFormats: ['rgba8unorm-srgb']
});
renderBundleEncoder.setVertexBuffer(0, null);
renderBundleEncoder.setPipeline(renderPipeline);
device.destroy();
renderBundleEncoder.draw(0);
renderBundleEncoder.finish();
await device.queue.onSubmittedWorkDone();
debug('Pass')
globalThis.testRunner?.notifyDone();
}
globalThis.testRunner?.dumpAsText();
globalThis.testRunner?.waitUntilDone();
run();
</script>