<!-- webkit-test-runner [ enableMetalDebugDevice=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 bindGroupLayout = device.createBindGroupLayout({
        entries: [{ binding: 0, visibility: GPUShaderStage.FRAGMENT, texture: { viewDimension: '3d', sampleType: 'float' } }]
    });
    let texture = device.createTexture({ size: { width: 48, height: 2 }, mipLevelCount: 2, dimension: '3d', format: 'r8snorm', usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.TEXTURE_BINDING });
    let textureView = texture.createView();
    texture.destroy();
    device.createBindGroup({
        layout: bindGroupLayout,
        entries: [{ binding: 0, resource: textureView }]
    });
    await device.queue.onSubmittedWorkDone();
    debug('Pass')
    globalThis.testRunner?.notifyDone();
}
globalThis.testRunner?.dumpAsText();
globalThis.testRunner?.waitUntilDone();

run();
</script>

