4 <meta charset=
"utf-8" />
5 <script src=
"/tests/SimpleTest/SimpleTest.js"></script>
6 <link rel=
"stylesheet" href=
"/tests/SimpleTest/test.css" />
11 SpecialPowers
.getBoolPref("dom.webgpu.enabled"),
12 "Pref should be enabled."
15 async
function testBody() {
16 const adapter
= await navigator
.gpu
.requestAdapter({});
17 const device
= await adapter
.requestDevice({});
18 const bindGroupLayout
= device
.createBindGroupLayout({
22 storageTexture
: { format
: "bc1-rgba-unorm-srgb" },
23 visibility
: GPUShaderStage
.FRAGMENT
,
27 const buffer1
= device
.createBuffer({
29 usage
: GPUBufferUsage
.MAP_READ
,
32 // Call device.destroy, which makes the device invalid. Further object creation
33 // on device will create objects that are also invalid.
36 // Create an invalid buffer2.
37 const buffer2
= device
.createBuffer({
39 usage
: GPUBufferUsage
.MAP_WRITE
,
42 // Create an invalid bind group, referencing invalid buffer2.
43 const bindGroup
= device
.createBindGroup({
44 layout
: bindGroupLayout
,
46 { binding
: 1, resource
: { buffer
: buffer1
} },
47 { binding
: 2, resource
: { buffer
: buffer2
} },
51 ok(bindGroup
, "Created a bind group referencing an invalid buffer.");
54 SimpleTest
.waitForExplicitFinish();
56 .catch(e
=> ok(false, "Unhandled exception " + e
))
57 .finally(() => SimpleTest
.finish());