| <script src="../../../resources/js-test-pre.js"></script> |
| <script> |
| function gc() { |
| if (globalThis.GCController) { |
| globalThis.GCController.collect(); |
| } else if (globalThis.$vm) { |
| globalThis.$vm.gc(); |
| } |
| } |
| |
| async function run() { |
| let adapter = await navigator.gpu.requestAdapter(); |
| let device = await adapter.requestDevice(); |
| let commandEncoder = device.createCommandEncoder(); |
| let texture = device.createTexture({ |
| size: [201], |
| format: 'depth24plus-stencil8', |
| usage: GPUTextureUsage.RENDER_ATTACHMENT |
| }); |
| let textureView = texture.createView(); |
| let renderBundleEncoder = device.createRenderBundleEncoder({ |
| colorFormats: [undefined], |
| depthReadOnly: true |
| }); |
| let renderBundle = renderBundleEncoder.finish(); |
| let renderPass = commandEncoder.beginRenderPass({ |
| colorAttachments: [undefined], |
| depthStencilAttachment: { |
| view: textureView, |
| depthReadOnly: true, |
| stencilLoadOp: 'load', |
| stencilStoreOp: 'discard' |
| } |
| }); |
| await 0; |
| gc(); |
| renderPass.executeBundles([renderBundle]); |
| await device.queue.onSubmittedWorkDone(); |
| debug('Pass') |
| globalThis.testRunner?.notifyDone(); |
| } |
| |
| globalThis.testRunner?.dumpAsText(); |
| globalThis.testRunner?.waitUntilDone(); |
| |
| run(); |
| </script> |
| |