GPUDevice: destroy() method

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is available in Web Workers.

The destroy() method of the GPUDevice interface destroys the device, preventing further operations on it.

Note that:

  • Any commands currently enqueued on the device's GPUQueue will be executed before the device is destroyed.
  • Any WebGPU resources created using the device (buffers, textures, etc.) are also destroyed.
  • Any mapped buffers created using the device will be unmapped.

Syntax

js
destroy()

Parameters

None.

Return value

None (undefined).

Examples

js
async function init() {
  if (!navigator.gpu) {
    throw Error("WebGPU not supported.");
  }

  const adapter = await navigator.gpu.requestAdapter();
  if (!adapter) {
    throw Error("Couldn't request WebGPU adapter.");
  }

  let device = await adapter.requestDevice();

  // Some time later

  device.destroy();
}

Specifications

Specification
WebGPU
# dom-gpudevice-destroy

Browser compatibility

BCD tables only load in the browser

See also