| <!-- webkit-test-runner [ enableMetalShaderValidation=true ] --> |
| <script src="../../../resources/js-test-pre.js"></script> |
| <script> |
| globalThis.testRunner?.dumpAsText(); |
| globalThis.testRunner?.waitUntilDone(); |
| |
| |
| async function window0() { |
| let adapter0 = await navigator.gpu.requestAdapter({}); |
| let device0 = await adapter0.requestDevice({ |
| requiredFeatures: [ |
| 'depth32float-stencil8', |
| 'texture-compression-astc', |
| ], |
| requiredLimits: { |
| }, |
| }); |
| let bindGroupLayout0 = device0.createBindGroupLayout({ |
| entries: [ |
| { |
| binding: 290, |
| visibility: GPUShaderStage.COMPUTE, |
| }, |
| ], |
| }); |
| let = device0.createTexture({ |
| size: {width: 440}, |
| format: 'rgba8sint', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let = device0.createBindGroupLayout({ |
| entries: [ |
| { |
| binding: 13, |
| visibility: GPUShaderStage.VERTEX, |
| }, |
| ], |
| }); |
| let = device0.createTexture({ |
| size: {width: 1760, depthOrArrayLayers: 1}, |
| format: 'rgba32uint', |
| usage: GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let bindGroupLayout2 = device0.createBindGroupLayout({ |
| entries: [ |
| { |
| binding: 189, |
| visibility: GPUShaderStage.COMPUTE, |
| }, |
| ], |
| }); |
| let = device0.createTexture({ |
| size: {width: 56}, |
| format: 'rgba32sint', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let bindGroupLayout3 = device0.createBindGroupLayout({entries: [{binding: 309, visibility: GPUShaderStage.VERTEX, externalTexture: {}}]}); |
| let = device0.createTexture({ |
| size: [600], |
| format: 'r32sint', |
| usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let texture4 = device0.createTexture({ |
| size: {width: 1}, |
| format: 'depth32float-stencil8', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let texture5 = device0.createTexture({ |
| size: {width: 880, depthOrArrayLayers: 1}, |
| format: 'astc-5x5-unorm-srgb', |
| usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| try { |
| } catch {} |
| let = device0.createTexture({ |
| size: [130], |
| format: 'rgba8sint', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let textureView4 = texture4.createView({format: 'depth32float-stencil8', mipLevelCount: 1}); |
| let pipelineLayout1 = device0.createPipelineLayout({bindGroupLayouts: [bindGroupLayout3]}); |
| let texture8 = device0.createTexture({ |
| size: [3520], |
| format: 'rgba8sint', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let = device0.createSampler({ |
| }); |
| try { |
| } catch {} |
| let pipelineLayout2 = device0.createPipelineLayout({bindGroupLayouts: [bindGroupLayout2]}); |
| let = device0.createTexture({ |
| size: {width: 3520, depthOrArrayLayers: 1}, |
| format: 'rg16uint', |
| usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let = device0.createTexture({ |
| size: [260, 1], |
| format: 'rgba32uint', |
| usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| try { |
| } catch {} |
| try { |
| device0.queue.writeTexture({ |
| }, /* */ |
| {offset: 0}); |
| } catch {} |
| let textureView6 = texture8.createView({format: 'rgba8sint', mipLevelCount: 1}); |
| let = device0.createSampler({ |
| }); |
| try { |
| } catch {} |
| let = device0.createTexture({ |
| size: [2, 16], |
| format: 'rg16uint', |
| usage: GPUTextureUsage.RENDER_ATTACHMENT, |
| }); |
| let shaderModule0 = device0.createShaderModule({ |
| code: ` |
| }`, |
| }); |
| let textureView9 = texture5.createView({label: 0}); |
| let = device0.createBindGroup({ |
| layout: bindGroupLayout0, |
| entries: [{binding: 290, resource: textureView6}], |
| }); |
| try { |
| gpuCanvasContext0.configure({ |
| }); |
| } catch {} |
| let = device0.createBindGroupLayout({ |
| entries: [ |
| { |
| binding: 122, |
| visibility: GPUShaderStage.FRAGMENT, |
| }, |
| ], |
| }); |
| let = device0.createTexture({ |
| size: {width: 888, depthOrArrayLayers: 1}, |
| format: 'astc-12x10-unorm-srgb', |
| usage: GPUTextureUsage.COPY_SRC | GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let = device0.createShaderModule({ |
| code: ` |
| }`, |
| }); |
| let = device0.createTexture({ |
| size: [3520, 1], |
| format: 'astc-8x5-unorm', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let shaderModule4 = device0.createShaderModule({ |
| code: ` |
| fn unconst_u32(v: u32) -> u32 { return v; } |
| @group(0) @binding(309) var et3: texture_external; |
| struct T0 { |
| f0: array<u32>, |
| } |
| struct S1 { |
| f0: vec3u, |
| } |
| struct FragmentOutput2 { |
| @location(0) f0: vec4u, |
| } |
| fn fn0(a0: array<S1, 2>, a1: mat3x4f) -> mat4x2h { |
| var out: mat4x2h; |
| return out; |
| } |
| var<workgroup> vw19: array<atomic<i32>, 1>; |
| @vertex |
| fn vertex3() -> @builtin(position) vec4f { |
| var out = textureLoad(et3, vec2u(unconst_u32(112), unconst_u32(115))); |
| return out; |
| } |
| @fragment |
| fn fragment2() -> FragmentOutput2 { |
| var out: FragmentOutput2; |
| return out; |
| } |
| fn compute5(a0: S1) { |
| }`, |
| }); |
| try { |
| } catch {} |
| let texture24 = device0.createTexture({ |
| size: [19], |
| format: 'rgba16sint', |
| usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| try { |
| gpuCanvasContext0.configure({ |
| }); |
| } catch {} |
| try { |
| } catch {} |
| let = device0.createTexture({ |
| size: {width: 1}, |
| format: 'astc-10x10-unorm', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let texture26 = device0.createTexture({ |
| size: {width: 600, depthOrArrayLayers: 1}, |
| mipLevelCount: 3, |
| format: 'rg16uint', |
| usage: GPUTextureUsage.RENDER_ATTACHMENT, |
| }); |
| let = texture24.createView({ |
| }); |
| try { |
| } catch {} |
| let = device0.createTexture({ |
| size: [600, 33], |
| format: 'rgb10a2unorm', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| try { |
| } catch {} |
| try { |
| } catch {} |
| let = device0.createTexture({ |
| size: {width: 2310, depthOrArrayLayers: 1}, |
| format: 'astc-10x8-unorm-srgb', |
| usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| try { |
| } catch {} |
| try { |
| } catch {} |
| try { |
| } catch {} |
| let = device0.createBindGroup({ |
| layout: bindGroupLayout0, |
| entries: [{binding: 6, resource: textureView4}], |
| }); |
| let = device0.createTexture({ |
| size: {width: 3520, depthOrArrayLayers: 1}, |
| format: 'astc-10x10-unorm', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| try { |
| } catch {} |
| let pipeline0 = device0.createRenderPipeline({ |
| layout: pipelineLayout1, |
| fragment: { |
| module: shaderModule4, |
| targets: [{format: 'rg16uint', writeMask: GPUColorWrite.ALPHA}], |
| }, |
| vertex: {module: shaderModule4, constants: []}, |
| }); |
| try { |
| } catch {} |
| try { |
| device0.queue.writeTexture({ |
| }, /* */ |
| {offset: 27, bytesPerRow: 1571}, {width: 389, depthOrArrayLayers: 0}); |
| } catch {} |
| let = device0.createTexture({ |
| size: {width: 1}, |
| format: 'rg16uint', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| try { |
| } catch {} |
| let commandEncoder14 = device0.createCommandEncoder({label: '\u6375\u0a75\u{1f617}\u045b\u1823\u{1f7f6}\u907a\uf5fe'}); |
| let = device0.createTexture({ |
| size: {width: 1}, |
| format: 'astc-4x4-unorm-srgb', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| try { |
| } catch {} |
| try { |
| } catch {} |
| let = device0.createTexture({ |
| size: {width: 78, depthOrArrayLayers: 58}, |
| format: 'rgba32sint', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let = device0.createSampler({ |
| }); |
| try { |
| } catch {} |
| try { |
| } catch {} |
| let = device0.createRenderPipeline({ |
| layout: pipelineLayout2, |
| fragment: { |
| module: shaderModule0, |
| targets: [{format: 'rg16uint', writeMask: GPUColorWrite.ALPHA}], |
| }, |
| vertex: { |
| module: shaderModule0, |
| buffers: [ |
| { |
| arrayStride: 244, |
| attributes: [ |
| ], |
| }, |
| ], |
| }, |
| }); |
| let = device0.createShaderModule({ |
| code: ` |
| }`, |
| }); |
| let = device0.createBuffer({ |
| size: 3994, |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| try { |
| } catch {} |
| let shaderModule6 = device0.createShaderModule({ |
| code: ` |
| }`, |
| }); |
| try { |
| } catch {} |
| try { |
| device0.queue.copyExternalImageToTexture(/* |
| */ |
| { |
| }, {width: 1, depthOrArrayLayers: 0}); |
| } catch {} |
| let = device0.createTexture({ |
| size: [3222, 1], |
| format: [1760, 1], |
| format: 'astc-8x5-unorm', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let textureView21 = texture26.createView({format: 'rg16uint', baseMipLevel: 1, mipLevelCount: 1}); |
| let = commandEncoder14.beginRenderPass({ |
| colorAttachments: [{ |
| view: textureView21, |
| loadOp: 'clear', |
| storeOp: 'discard', |
| }], |
| }); |
| let = device0.createTexture({ |
| size: [1760, 1], |
| format: 'astc-10x5-unorm', |
| usage: GPUTextureUsage.COPY_SRC | GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| try { |
| } catch {} |
| let commandEncoder23 = device0.createCommandEncoder({label: '\u7dbb\u{1f77e}\u463d\u6f49\ueabc\u0010\uad5b\u0baf'}); |
| try { |
| } catch {} |
| let = device0.createTexture({ |
| size: {width: 1}, |
| format: 'astc-6x5-unorm-srgb', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| try { |
| } catch {} |
| let texture66 = device0.createTexture({ |
| size: {width: 16}, |
| format: 'rg16uint', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let renderPassEncoder1 = commandEncoder23.beginRenderPass({ |
| colorAttachments: [{ |
| view: textureView21, |
| loadOp: 'clear', |
| storeOp: 'store', |
| }], |
| }); |
| let bindGroupLayout7 = device0.createBindGroupLayout({ |
| entries: [ |
| { |
| binding: 28, |
| visibility: GPUShaderStage.FRAGMENT, |
| }, |
| ], |
| }); |
| let texture69 = device0.createTexture({ |
| size: [39, 67], |
| format: 'rg32sint', |
| usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| try { |
| } catch {} |
| try { |
| commandEncoder28.copyBufferToTexture({ |
| }, {width: 176, depthOrArrayLayers: 0}); |
| } catch {} |
| let = device0.createRenderPipeline({ |
| layout: pipelineLayout2, |
| fragment: { |
| module: shaderModule6, |
| targets: [{ |
| format: 'rg16uint', |
| }], |
| }, |
| vertex: { |
| module: shaderModule6, |
| buffers: [ |
| { |
| arrayStride: 516, |
| attributes: [ |
| ], |
| }, |
| ], |
| }, |
| }); |
| try { |
| } catch {} |
| let = device0.createTexture({ |
| size: {width: 21}, |
| format: 'rgba16float', |
| usage: GPUTextureUsage.RENDER_ATTACHMENT, |
| }); |
| try { |
| } catch {} |
| try { |
| } catch {} |
| let bindGroupLayout8 = device0.createBindGroupLayout({ |
| entries: [ |
| { |
| binding: 285, |
| visibility: GPUShaderStage.VERTEX, |
| }, |
| ], |
| }); |
| let = device0.createBindGroup({ |
| layout: bindGroupLayout2, |
| entries: [ |
| ], |
| }); |
| let = device0.createTexture({ |
| size: {width: 16}, |
| format: 'r32float', |
| usage: GPUTextureUsage.STORAGE_BINDING, |
| }); |
| try { |
| } catch {} |
| let = device0.createShaderModule({ |
| code: ` |
| }`, |
| }); |
| try { |
| } catch {} |
| try { |
| } catch {} |
| let videoFrame1 = new VideoFrame(new ArrayBuffer(16), { codedWidth: 2, codedHeight: 2, format: 'RGBX', timestamp: 0, colorSpace: {fullRange: true, transfer: 'pq'} }); |
| let = device0.createTexture({ |
| size: {width: 39, depthOrArrayLayers: 76}, |
| format: 'rg16uint', |
| usage: GPUTextureUsage.COPY_DST, |
| vertex: { |
| buffers: [ |
| ], |
| }, |
| }); |
| let = device0.createTexture({ |
| size: {width: 300}, |
| format: 'rgba32sint', |
| usage: GPUTextureUsage.STORAGE_BINDING, |
| }); |
| let bindGroupLayout9 = device0.createBindGroupLayout({ |
| entries: [ |
| { |
| binding: 289, |
| visibility: GPUShaderStage.COMPUTE, |
| }, |
| ], |
| }); |
| let = device0.createBindGroup({ |
| layout: bindGroupLayout8, |
| entries: [ |
| ], |
| }); |
| let buffer19 = device0.createBuffer({size: 16930, usage: GPUBufferUsage.STORAGE}); |
| let = device0.createTexture({ |
| size: {width: 1760, depthOrArrayLayers: 113}, |
| format: 'rgba16float', |
| usage: GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| try { |
| } catch {} |
| let = device0.createTexture({ |
| size: [600, 1], |
| format: 'depth16unorm', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| try { |
| } catch {} |
| try { |
| gpuCanvasContext0.configure({ |
| }); |
| } catch {} |
| let = device0.createTexture({ |
| size: [78, 1], |
| format: 'rgba32sint', |
| usage: GPUTextureUsage.STORAGE_BINDING, |
| }); |
| try { |
| } catch {} |
| let = device0.createTexture({ |
| size: {width: 1}, |
| format: 'bgra8unorm-srgb', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let = texture69.createView({dimension: '2d', baseArrayLayer: 6}); |
| try { |
| } catch {} |
| try { |
| gpuCanvasContext0.configure({ |
| }); |
| } catch {} |
| let = device0.createTexture({ |
| size: {width: 600, depthOrArrayLayers: 83}, |
| format: 'rgba32sint', |
| usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let = externalTexture0 = device0.importExternalTexture({source: videoFrame1}); |
| try { |
| device0.queue.copyExternalImageToTexture(/* |
| */ |
| { |
| }, {width: 2, depthOrArrayLayers: 0}); |
| } catch {} |
| try { |
| } catch {} |
| try { |
| } catch {} |
| let = device0.createTexture({ |
| size: {width: 28}, |
| format: 'rgba16float', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| try { |
| } catch {} |
| let = device0.createBindGroup({ |
| layout: bindGroupLayout2, |
| entries: [ |
| ], |
| }); |
| try { |
| } catch {} |
| try { |
| } catch {} |
| let commandEncoder46 = device0.createCommandEncoder({}); |
| try { |
| } catch {} |
| let = device0.createTexture({ |
| size: [440, 210], |
| format: 'rgba16float', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let = device0.createSampler({ |
| }); |
| let = commandEncoder46.beginRenderPass({ |
| colorAttachments: [{ |
| view: textureView21, |
| loadOp: 'load', |
| storeOp: 'store', |
| }], |
| }); |
| try { |
| } catch {} |
| try { |
| } catch {} |
| let bindGroup25 = device0.createBindGroup({ |
| layout: bindGroupLayout3, |
| entries: [{binding: 309, resource: externalTexture0}], |
| }); |
| try { |
| commandEncoder50.copyBufferToTexture({ |
| }, {width: 50, depthOrArrayLayers: 0}); |
| } catch {} |
| let = device0.createBuffer({ |
| size: 13143, |
| usage: GPUBufferUsage.VERTEX, |
| }); |
| let = device0.createTexture({ |
| size: [150, 118], |
| format: 'rgba16float', |
| usage: GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| let = device0.createTexture({ |
| size: {width: 39, depthOrArrayLayers: 1}, |
| format: 'rgba32sint', |
| usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.TEXTURE_BINDING, |
| }); |
| try { |
| } catch {} |
| try { |
| renderPassEncoder1.setPipeline(pipeline0); |
| } catch {} |
| try { |
| } catch {} |
| try { |
| } catch {} |
| try { |
| gpuCanvasContext0.configure({ |
| }); |
| } catch {} |
| let = device0.createBindGroup({ |
| layout: bindGroupLayout7, |
| entries: [{binding: 28, resource: textureView9}], |
| }); |
| let buffer30 = device0.createBuffer({ |
| size: 32590, |
| usage: GPUBufferUsage.COPY_SRC | GPUBufferUsage.UNIFORM, |
| }); |
| try { |
| } catch {} |
| try { |
| renderPassEncoder1.setBindGroup(0, bindGroup25, new Uint32Array(1410), 363, 0); |
| } catch {} |
| try { |
| } catch {} |
| try { |
| } catch {} |
| let bindGroup27 = device0.createBindGroup({ |
| layout: bindGroupLayout2, |
| entries: [ |
| ], |
| }); |
| try { |
| renderPassEncoder1.draw(221, 25, 449_657_573); |
| } catch {} |
| try { |
| } catch {} |
| let = texture66.createView({ |
| }); |
| let = device0.createTexture({ |
| size: {width: 3}, |
| format: 'rgba32sint', |
| usage: 'rg32float', |
| usage: GPUTextureUsage.COPY_SRC | GPUTextureUsage.RENDER_ATTACHMENT, |
| }); |
| try { |
| } catch {} |
| try { |
| } catch {} |
| try { |
| device0.queue.copyExternalImageToTexture(/* |
| */ |
| { |
| }, {width: 0}); |
| } catch {} |
| try { |
| } catch {} |
| try { |
| } catch {} |
| let = device0.createShaderModule({ |
| code: GPUTextureUsage.STORAGE_BINDING, |
| }); |
| try { |
| } catch {} |
| try { |
| renderPassEncoder1.end(); |
| } catch {} |
| try { |
| } catch {} |
| let commandBuffer4 = commandEncoder23.finish(); |
| try { |
| } catch {} |
| let = device0.createBindGroup({ |
| layout: bindGroupLayout9, |
| entries: [{binding: 289, resource: {buffer: buffer19, offset: 1972}}], |
| }); |
| try { |
| } catch {} |
| try { |
| device0.queue.submit([commandBuffer4]); |
| } catch {} |
| try { |
| device0.queue.copyExternalImageToTexture(/* |
| */ |
| { |
| }, {width: 0, depthOrArrayLayers: 0}); |
| } catch {} |
| let = device0.createBindGroup({ |
| layout: bindGroupLayout3, |
| entries: [{binding: 309, resource: externalTexture0}], |
| }); |
| try { |
| } catch {} |
| try { |
| device0.queue.writeTexture({ |
| }, /* */ |
| {offset: 0}); |
| } catch {} |
| try { |
| } catch {} |
| let = device0.createBindGroup({ |
| entries: [ |
| ], |
| }); |
| try { |
| } catch {} |
| try { |
| } catch {} |
| } |
| onload = async => { |
| try { |
| let = [ window0() ]; |
| } catch { |
| if (e instanceof GPUPipelineError) { |
| } |
| } |
| debug('Pass') |
| globalThis.testRunner?.notifyDone(); |
| }; |
| </script> |
| |