WebGPU
The navigator.gpu
API performs operations such as rendering and computation on dedicated graphics hardware (also known as a Graphics Processing Unit).
To learn more, see
GPU,
GPU: getPreferredCanvasFormat() method,
GPU: requestAdapter() method,
GPU: wgslLanguageFeatures property,
GPUAdapter,
GPUAdapter: features property,
GPUAdapter: info property,
GPUAdapter: isFallbackAdapter property,
GPUAdapter: limits property,
GPUAdapter: requestDevice() method,
GPUAdapterInfo,
GPUAdapterInfo: architecture property,
GPUAdapterInfo: description property,
GPUAdapterInfo: device property,
GPUAdapterInfo: vendor property,
GPUBindGroup,
GPUBindGroup: label property,
GPUBindGroupLayout,
GPUBindGroupLayout: label property,
GPUBuffer,
GPUBuffer: destroy() method,
GPUBuffer: getMappedRange() method,
GPUBuffer: label property,
GPUBuffer: mapAsync() method,
GPUBuffer: mapState property,
GPUBuffer: size property,
GPUBuffer: unmap() method,
GPUBuffer: usage property,
GPUCanvasContext,
GPUCanvasContext: canvas property,
GPUCanvasContext: configure() method,
GPUCanvasContext: getConfiguration() method,
GPUCanvasContext: getCurrentTexture() method,
GPUCanvasContext: unconfigure() method,
GPUCommandBuffer,
GPUCommandBuffer: label property,
GPUCommandEncoder,
GPUCommandEncoder: beginComputePass() method,
GPUCommandEncoder: beginRenderPass() method,
GPUCommandEncoder: clearBuffer() method,
GPUCommandEncoder: copyBufferToBuffer() method,
GPUCommandEncoder: copyBufferToTexture() method,
GPUCommandEncoder: copyTextureToBuffer() method,
GPUCommandEncoder: copyTextureToTexture() method,
GPUCommandEncoder: finish() method,
GPUCommandEncoder: insertDebugMarker() method,
GPUCommandEncoder: label property,
GPUCommandEncoder: popDebugGroup() method,
GPUCommandEncoder: pushDebugGroup() method,
GPUCommandEncoder: resolveQuerySet() method,
GPUCompilationInfo,
GPUCompilationInfo: messages property,
GPUCompilationMessage,
GPUCompilationMessage: length property,
GPUCompilationMessage: lineNum property,
GPUCompilationMessage: linePos property,
GPUCompilationMessage: message property,
GPUCompilationMessage: offset property,
GPUCompilationMessage: type property,
GPUComputePassEncoder,
GPUComputePassEncoder: dispatchWorkgroups() method,
GPUComputePassEncoder: dispatchWorkgroupsIndirect() method,
GPUComputePassEncoder: end() method,
GPUComputePassEncoder: insertDebugMarker() method,
GPUComputePassEncoder: label property,
GPUComputePassEncoder: popDebugGroup() method,
GPUComputePassEncoder: pushDebugGroup() method,
GPUComputePassEncoder: setBindGroup() method,
GPUComputePassEncoder: setPipeline() method,
GPUComputePipeline,
GPUComputePipeline: getBindGroupLayout() method,
GPUComputePipeline: label property,
GPUDevice,
GPUDevice: createBindGroup() method,
GPUDevice: createBindGroupLayout() method,
GPUDevice: createBuffer() method,
GPUDevice: createCommandEncoder() method,
GPUDevice: createComputePipeline() method,
GPUDevice: createComputePipelineAsync() method,
GPUDevice: createPipelineLayout() method,
GPUDevice: createQuerySet() method,
GPUDevice: createRenderBundleEncoder() method,
GPUDevice: createRenderPipeline() method,
GPUDevice: createRenderPipelineAsync() method,
GPUDevice: createSampler() method,
GPUDevice: createShaderModule() method,
GPUDevice: createTexture() method,
GPUDevice: destroy() method,
GPUDevice: features property,
GPUDevice: importExternalTexture() method,
GPUDevice: label property,
GPUDevice: limits property,
GPUDevice: lost property,
GPUDevice: popErrorScope() method,
GPUDevice: pushErrorScope() method,
GPUDevice: queue property,
GPUDevice: uncapturederror event,
GPUDeviceLostInfo,
GPUDeviceLostInfo: message property,
GPUDeviceLostInfo: reason property,
GPUError,
GPUError: message property,
GPUExternalTexture,
GPUExternalTexture: label property,
GPUInternalError,
GPUInternalError: GPUInternalError() constructor,
GPUOutOfMemoryError,
GPUOutOfMemoryError: GPUOutOfMemoryError() constructor,
GPUPipelineError,
GPUPipelineError: GPUPipelineError() constructor,
GPUPipelineError: reason property,
GPUPipelineLayout,
GPUPipelineLayout: label property,
GPUQuerySet,
GPUQuerySet: count property,
GPUQuerySet: destroy() method,
GPUQuerySet: label property,
GPUQuerySet: type property,
GPUQueue,
GPUQueue: copyExternalImageToTexture() method,
GPUQueue: label property,
GPUQueue: onSubmittedWorkDone() method,
GPUQueue: submit() method,
GPUQueue: writeBuffer() method,
GPUQueue: writeTexture() method,
GPURenderBundle,
GPURenderBundle: label property,
GPURenderBundleEncoder,
GPURenderBundleEncoder: draw() method,
GPURenderBundleEncoder: drawIndexed() method,
GPURenderBundleEncoder: drawIndexedIndirect() method,
GPURenderBundleEncoder: drawIndirect() method,
GPURenderBundleEncoder: finish() method,
GPURenderBundleEncoder: insertDebugMarker() method,
GPURenderBundleEncoder: label property,
GPURenderBundleEncoder: popDebugGroup() method,
GPURenderBundleEncoder: pushDebugGroup() method,
GPURenderBundleEncoder: setBindGroup() method,
GPURenderBundleEncoder: setIndexBuffer() method,
GPURenderBundleEncoder: setPipeline() method,
GPURenderBundleEncoder: setVertexBuffer() method,
GPURenderPassEncoder,
GPURenderPassEncoder: beginOcclusionQuery() method,
GPURenderPassEncoder: draw() method,
GPURenderPassEncoder: drawIndexed() method,
GPURenderPassEncoder: drawIndexedIndirect() method,
GPURenderPassEncoder: drawIndirect() method,
GPURenderPassEncoder: end() method,
GPURenderPassEncoder: endOcclusionQuery() method,
GPURenderPassEncoder: executeBundles() method,
GPURenderPassEncoder: insertDebugMarker() method,
GPURenderPassEncoder: label property,
GPURenderPassEncoder: popDebugGroup() method,
GPURenderPassEncoder: pushDebugGroup() method,
GPURenderPassEncoder: setBindGroup() method,
GPURenderPassEncoder: setBlendConstant() method,
GPURenderPassEncoder: setIndexBuffer() method,
GPURenderPassEncoder: setPipeline() method,
GPURenderPassEncoder: setScissorRect() method,
GPURenderPassEncoder: setStencilReference() method,
GPURenderPassEncoder: setVertexBuffer() method,
GPURenderPassEncoder: setViewport() method,
GPURenderPipeline,
GPURenderPipeline: getBindGroupLayout() method,
GPURenderPipeline: label property,
GPUSampler,
GPUSampler: label property,
GPUShaderModule,
GPUShaderModule: getCompilationInfo() method,
GPUShaderModule: label property,
GPUSupportedFeatures,
GPUSupportedLimits,
GPUTexture,
GPUTexture: createView() method,
GPUTexture: depthOrArrayLayers property,
GPUTexture: destroy() method,
GPUTexture: dimension property,
GPUTexture: format property,
GPUTexture: height property,
GPUTexture: label property,
GPUTexture: mipLevelCount property,
GPUTexture: sampleCount property,
GPUTexture: usage property,
GPUTexture: width property,
GPUTextureView,
GPUTextureView: label property,
GPUUncapturedErrorEvent,
GPUUncapturedErrorEvent: GPUUncapturedErrorEvent() constructor,
GPUUncapturedErrorEvent: error property,
GPUValidationError,
GPUValidationError: GPUValidationError() constructor,
Navigator: gpu property,
WGSLLanguageFeatures,
WorkerNavigator: gpu property at MDN.
Compatibility (view on caniuse.com)
- Chrome 113 Released on 2023-05-02
- Chrome Android ❌ Search for bugs Search for Chromestatus entry
- Edge 113 Released on 2023-05-05
- Firefox ❌ Search for bugs Search for standards position
- Firefox for Android ❌ Search for bugs Search for standards position
- Safari ❌ Search for bugs Search for standards position
- Safari on iOS ❌ Search for bugs Search for standards position
Specifications
- WebGPU, from GPU for the Web Working Group (W3C).