| <!-- 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 texture = device.createTexture({ size: [], mipLevelCount: 5, format: 'stencil8', usage: GPUTextureUsage.RENDER_ATTACHMENT, viewFormats: []}); |
| let buffer = device.createBuffer({ size: 70725, usage: GPUBufferUsage.COPY_DST }); |
| let commandEncoder = device.createCommandEncoder(); |
| commandEncoder.copyTextureToTexture( |
| { texture: texture, mipLevel: 1, origin: {}, aspect: 'all'}, |
| { texture: texture, mipLevel: 0, origin: {}, aspect: 'stencil-only'}, |
| { width: 48, height: 0, depthOrArrayLayers: 1 } |
| ); |
| device.queue.writeBuffer(buffer, 18040, new DataView(new ArrayBuffer(61249)), 20749); |
| let commandBuffers = []; |
| for (let i = 0; i < 100; i++) { |
| commandBuffers.push(device.createCommandEncoder()); |
| } |
| await device.queue.onSubmittedWorkDone(); |
| debug('Pass') |
| globalThis.testRunner?.notifyDone(); |
| } |
| globalThis.testRunner?.dumpAsText(); |
| globalThis.testRunner?.waitUntilDone(); |
| |
| run(); |
| </script> |
| |