blob: 77c95009f63aab573a8c8097f529cc898e9633b5 [file]
<!-- 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 sampler = device.createSampler();
let video = new VideoFrame(new ArrayBuffer(16), { codedWidth: 2, codedHeight: 2, format: 'BGRA', timestamp: 0 });
let externalTexture = device.importExternalTexture({ source: video, colorSpace: 'srgb' });
let bindGroupLayout = device.createBindGroupLayout({
entries: [
{ binding: 1, visibility: GPUShaderStage.FRAGMENT, externalTexture: {} },
{ binding: 0, visibility: GPUShaderStage.FRAGMENT, sampler: {} },
],
});
let bindGroup = device.createBindGroup({
layout: bindGroupLayout,
entries: [
{ binding: 1, resource: externalTexture },
{ binding: 0, resource: sampler }
],
});
await device.queue.onSubmittedWorkDone();
debug('Pass')
globalThis.testRunner?.notifyDone();
}
globalThis.testRunner?.dumpAsText();
globalThis.testRunner?.waitUntilDone();
run();
</script>