| <!-- webkit-test-runner [ enableMetalDebugDevice=true ] --> |
| <script src="../../../resources/js-test-pre.js"></script> |
| <script> |
| async function run() { |
| let adapter0 = await navigator.gpu.requestAdapter(); |
| let device0 = await adapter0.requestDevice(); |
| let texture1 = device0.createTexture({ size: [4, 210, 1], dimension: '3d', format: 'rgba16uint', usage: GPUTextureUsage.RENDER_ATTACHMENT}); |
| let bindGroupLayout1 = device0.createBindGroupLayout({ entries: [] }); |
| let pipelineLayout1 = device0.createPipelineLayout({ bindGroupLayouts: [ bindGroupLayout1 ] }); |
| let bindGroup17 = device0.createBindGroup({ layout: bindGroupLayout1, entries: [] }); |
| let shaderModule = device0.createShaderModule({ code: ` |
| struct FragmentOutput0 { |
| @location(0) f0: vec4u, |
| } |
| @fragment fn fragment0() -> FragmentOutput0 { |
| var out: FragmentOutput0; |
| return out; |
| } |
| struct VertexOutput1 { |
| @invariant @builtin(position) f7: vec4f, |
| } |
| @vertex fn vertex1() -> VertexOutput1 { |
| var out: VertexOutput1; |
| return out; |
| } |
| `}); |
| let pipeline2 = device0.createRenderPipeline({ |
| layout: pipelineLayout1, |
| fragment: { module: shaderModule, targets: [{ format: 'rgba16uint' }] }, |
| vertex: { module: shaderModule, buffers: [] } |
| }); |
| let commandEncoder36 = device0.createCommandEncoder(); |
| let renderPassEncoder8 = commandEncoder36.beginRenderPass({ |
| colorAttachments: [ |
| { view: texture1.createView(), depthSlice: 0, loadOp: 'clear', storeOp: 'store' } |
| ] |
| }); |
| renderPassEncoder8.setPipeline(pipeline2) |
| renderPassEncoder8.setBindGroup(0, bindGroup17); |
| renderPassEncoder8.draw(54, 42, 4_294_967_295) |
| await device0.queue.onSubmittedWorkDone(); |
| debug('Pass') |
| globalThis.testRunner?.notifyDone(); |
| } |
| globalThis.testRunner?.dumpAsText(); |
| globalThis.testRunner?.waitUntilDone(); |
| |
| run(); |
| </script> |
| |