Interfaces
- GPU
- GPUAdapter
- GPUAdapterInfo
- GPUBindGroup
- GPUBindGroupLayout
- GPUBuffer
- GPUCanvasContext
- GPUCommandBuffer
- GPUCommandEncoder
- GPUCompilationInfo
- GPUCompilationMessage
- GPUComputePassEncoder
- GPUComputePipeline
- GPUDevice
- GPUDeviceLostInfo
- GPUError
- GPUExternalTexture
- GPUInternalError
- GPUOutOfMemoryError
- GPUPipelineError
- GPUPipelineLayout
- GPUQuerySet
- GPUQueue
- GPURenderBundle
- GPURenderBundleEncoder
- GPURenderPassEncoder
- GPURenderPipeline
- GPUSampler
- GPUShaderModule
- GPUSupportedFeatures
- GPUSupportedLimits
- GPUTexture
- GPUTextureView
- GPUUncapturedErrorEvent
- GPUValidationError
Dictionaries
- GPUBindGroupDescriptor
- GPUBindGroupEntry
- GPUBindGroupLayoutDescriptor
- GPUBindGroupLayoutEntry
- GPUBlendComponent
- GPUBlendState
- GPUBufferBinding
- GPUBufferBindingLayout
- GPUBufferDescriptor
- GPUCanvasConfiguration
- GPUColorDict
- GPUColorTargetState
- GPUCommandBufferDescriptor
- GPUCommandEncoderDescriptor
- GPUComputePassDescriptor
- GPUComputePassTimestampWrite
- GPUComputePipelineDescriptor
- GPUDepthStencilState
- GPUDeviceDescriptor
- GPUExtent3DDict
- GPUExternalTextureBindingLayout
- GPUExternalTextureDescriptor
- GPUFragmentState
- GPUMultisampleState
- GPUObjectDescriptorBase
- GPUOrigin2DDict
- GPUOrigin3DDict
- GPUPipelineDescriptorBase
- GPUPipelineErrorInit
- GPUPipelineLayoutDescriptor
- GPUPrimitiveState
- GPUProgrammableStage
- GPUQuerySetDescriptor
- GPUQueueDescriptor
- GPURenderBundleDescriptor
- GPURenderBundleEncoderDescriptor
- GPURenderPassColorAttachment
- GPURenderPassDepthStencilAttachment
- GPURenderPassDescriptor
- GPURenderPassLayout
- GPURenderPassTimestampWrite
- GPURenderPipelineDescriptor
- GPURequestAdapterOptions
- GPUSamplerBindingLayout
- GPUSamplerDescriptor
- GPUShaderModuleCompilationHint
- GPUShaderModuleDescriptor
- GPUStencilFaceState
- GPUStorageTextureBindingLayout
- GPUTextureBindingLayout
- GPUTextureDescriptor
- GPUTextureViewDescriptor
- GPUUncapturedErrorEventInit
- GPUVertexAttribute
- GPUVertexBufferLayout
- GPUVertexState
Enums
- GPUAddressMode
- GPUAutoLayoutMode
- GPUBlendFactor
- GPUBlendOperation
- GPUBufferBindingType
- GPUBufferMapState
- GPUCanvasAlphaMode
- GPUCompareFunction
- GPUCompilationMessageType
- GPUComputePassTimestampLocation
- GPUCullMode
- GPUDeviceLostReason
- GPUErrorFilter
- GPUFeatureName
- GPUFilterMode
- GPUFrontFace
- GPUIndexFormat
- GPULoadOp
- GPUMipmapFilterMode
- GPUPipelineErrorReason
- GPUPowerPreference
- GPUPrimitiveTopology
- GPUQueryType
- GPURenderPassTimestampLocation
- GPUSamplerBindingType
- GPUStencilOperation
- GPUStorageTextureAccess
- GPUStoreOp
- GPUTextureAspect
- GPUTextureDimension
- GPUTextureFormat
- GPUTextureSampleType
- GPUTextureViewDimension
- GPUVertexFormat
- GPUVertexStepMode
Typedefs
- GPUBindingResource
- GPUBufferDynamicOffset
- GPUBufferUsageFlags
- GPUColor
- GPUColorWriteFlags
- GPUComputePassTimestampWrites
- GPUDepthBias
- GPUExtent3D
- GPUFlagsConstant
- GPUIndex32
- GPUIntegerCoordinate
- GPUMapModeFlags
- GPUOrigin2D
- GPUOrigin3D
- GPUPipelineConstantValue
- GPURenderPassTimestampWrites
- GPUSampleMask
- GPUShaderStageFlags
- GPUSignedOffset32
- GPUSize32
- GPUSize64
- GPUStencilValue
- GPUTextureUsageFlags
WebGPU/WGSL Reference
What’s on this website?
This is a quick reference for WebGPU and WGSL, the WebGPU shading language. While the WebGPU specification aims to describe the API as accurately and detailed as possible, the reference provides an easy to navigate API summary for daily use. For now, this is not a detailed introduction or programming guide.
This site is free of advertising and ad-trackers. Content is provided “as is”, with no warranty of any kind. If you find errors or want to contribute, please open an issue on Github.
What is WebGPU?
WebGPU is a future web standard and JavaScript API for interfacing with the GPU, the graphics processing unit. It is based on concepts of other modern graphics APIs such as Vulkan, Metal, and Direct3D 12. The specification is under development.
- WebGPU Specification, editor’s draft
- WGSL Specification, W3C working draft
- Implementation status
- Samples
- TypeScript definitions
- Awesome WebGPU
Getting started
Let’s say you want to create a GPUDevice
object.
- Select
GPUDevice
from the list of interfaces on the left. - The first line(s) show you where to look for creating a
GPUDevice
. You see immediately thatGPUAdapter
provides a.requestDevice()
method. - Click on any method name to expand all information you need in order to prepare the arguments for calling this method.
- Click on any type name to get detailed information about it.
Are these pages up to date?
The WebGPU specification is still under development and changes frequently. The reference pages are auto-generated regularly from the evolving WebGPU specification. If you find them outdated, open an issue or drop me a message.