Documentation Schedule a pilot

WebGPU

The WebGPU API ↗ allows you to use the GPU directly from JavaScript.

The WebGPU API is only accessible from within Durable Objects. You cannot use the WebGPU API from within Workers.

To use the WebGPU API in local development, enable the experimental and webgpu compatibility flags in the Wrangler configuration file of your Durable Object.

compatibility_flags = ["experimental", "webgpu"]

The following subset of the WebGPU API is available from within Durable Objects:

API Supported? Notes
navigator.gpu ↗ ✅
GPU.requestAdapter ↗ ✅
GPUAdapterInfo ↗ ✅
GPUAdapter ↗ ✅
GPUBindGroupLayout ↗ ✅
GPUBindGroup ↗ ✅
GPUBuffer ↗ ✅
GPUCommandBuffer ↗ ✅
GPUCommandEncoder ↗ ✅
GPUComputePassEncoder ↗ ✅
GPUComputePipeline ↗ ✅
GPUComputePipelineError ↗ ✅
GPUDevice ↗ ✅
GPUOutOfMemoryError ↗ ✅
GPUValidationError ↗ ✅
GPUInternalError ↗ ✅
GPUDeviceLostInfo ↗ ✅
GPUPipelineLayout ↗ ✅
GPUQuerySet ↗ ✅
GPUQueue ↗ ✅
GPUSampler ↗ ✅
GPUCompilationMessage ↗ ✅
GPUShaderModule ↗ ✅
GPUSupportedFeatures ↗ ✅
GPUSupportedLimits ↗ ✅
GPUMapMode ↗ ✅
GPUShaderStage ↗ ✅
GPUUncapturedErrorEvent ↗ ✅

The following subset of the WebGPU API is not yet supported:

API Supported? Notes
GPU.getPreferredCanvasFormat ↗
GPURenderBundle ↗
GPURenderBundleEncoder ↗
GPURenderPassEncoder ↗
GPURenderPipeline ↗
GPUShaderModule ↗
GPUTexture ↗
GPUTextureView ↗
GPUExternalTexture ↗

Examples

Request your free pilot

Schedule a pilot