Crate dawn_sys

Source
Expand description

dawn-sys provides unsafe Rust bindings for Dawn, the open-source and cross-platform implementation of the WebGPU standard that powers Google Chrome, Microsoft Edge, and other Chromium-based browsers. It also provides Pre-built Dawn binaries (webgpu_dawn.dll), kindly provided by Mārtiņš Možeiko’s build-dawn automation on GitHub Actions that rebuilds the Dawn binaries once per week. This crate contains a build script that handles chores like copying necessary binaries to the output directory, making everything ready out of the box.

If you are looking for safe and idiomatic Rust wrappers for Dawn or webgpu.h, you should consider dawn-rs instead of this crate, which provides higher-level and more “Rust-style” abstractions based on this crate. If you are just looking for a higher-level graphics API wrapper and guarenteed consistent behavior and performance with mainstream browsers (Google Chrome, Microsoft Edge, …) isn’t one your major concerns, please also try wgpu before reaching for dawn-rs or dawn-sys. wgpu is another open source and cross-platform implementation of the WebGPU specification that is fully written in Rust and is used in Mozilla Firefox, Servo and Deno for WebGPU support. It also serves as the de-facto standard of high-level, cross-platform graphics development in the Rust ecosystem.

This crate is still a work in progress. USE AT YOUR OWN RISK. It should serve in most common cases but may lack certain APIs or fail on corner cases. The aforementioned wgpu crate is way more mature and should always be considered ahead of this crate.

This crate is currently Windows-only. Given the cross-platform capabilities of Dawn, it is planned to eventually support macOS, Linux and web in the long term, but it is not currently a key focus of the maintainer of this crate. If you’d like to help, you are welcome to open an issue for further discussion.

This crate assumes your familiarity with GPU development using the Dawn C API. This crate is not providing rustdoc for its exported items and those that are re-exported in dawn-rs. Completing the missing docs is not currently a key focus of the maintainer of this crate.

This crate is licensed under the BSD-3-Clause license, aligning to Dawn and WebGPU-Headers. This whole repository, including the code generator, is licensed under the GNU General Public License, Version 3.0, see README.md at the repository root.

This crate welcomes all kind of contributions. Open an issue or PR at any time for bugfixes or feature requests.

Modules§

WGPUAdapterType
WGPUAddressMode
WGPUAlphaMode
WGPUBackendType
WGPUBlendFactor
WGPUBlendOperation
WGPUBufferBindingType
WGPUBufferMapState
WGPUBufferUsage
WGPUCallbackMode
WGPUColorWriteMask
WGPUCompareFunction
WGPUCompilationInfoRequestStatus
WGPUCompilationMessageType
WGPUCompositeAlphaMode
WGPUCreatePipelineAsyncStatus
WGPUCullMode
WGPUDeviceLostReason
WGPUErrorFilter
WGPUErrorType
WGPUExternalTextureRotation
WGPUFeatureLevel
WGPUFeatureName
WGPUFilterMode
WGPUFrontFace
WGPUHeapProperty
WGPUIndexFormat
WGPULoadOp
WGPULoggingType
WGPUMapAsyncStatus
WGPUMapMode
WGPUMipmapFilterMode
WGPUOptionalBool
WGPUPopErrorScopeStatus
WGPUPowerPreference
WGPUPredefinedColorSpace
WGPUPresentMode
WGPUPrimitiveTopology
WGPUQueryType
WGPUQueueWorkDoneStatus
WGPURequestAdapterStatus
WGPURequestDeviceStatus
WGPUSType
WGPUSamplerBindingType
WGPUShaderStage
WGPUSharedFenceType
WGPUStatus
WGPUStencilOperation
WGPUStorageTextureAccess
WGPUStoreOp
WGPUSubgroupMatrixComponentType
WGPUSurfaceGetCurrentTextureStatus
WGPUTextureAspect
WGPUTextureDimension
WGPUTextureFormat
WGPUTextureSampleType
WGPUTextureUsage
WGPUTextureViewDimension
WGPUToneMappingMode
WGPUVertexFormat
WGPUVertexStepMode
WGPUWGSLLanguageFeatureName
WGPUWaitStatus

Structs§

WGPUAHardwareBufferProperties
WGPUAdapterInfo
WGPUAdapterPropertiesD3D
WGPUAdapterPropertiesMemoryHeaps
WGPUAdapterPropertiesSubgroupMatrixConfigs
WGPUAdapterPropertiesSubgroups
WGPUAdapterPropertiesVk
WGPUBindGroupDescriptor
WGPUBindGroupEntry
WGPUBindGroupLayoutDescriptor
WGPUBindGroupLayoutEntry
WGPUBindGroupLayoutEntryArraySize
WGPUBlendComponent
WGPUBlendState
WGPUBufferBindingLayout
WGPUBufferDescriptor
WGPUBufferHostMappedPointer
WGPUBufferMapCallbackInfo
WGPUChainedStruct
WGPUColor
WGPUColorTargetState
WGPUColorTargetStateExpandResolveTextureDawn
WGPUCommandBufferDescriptor
WGPUCommandEncoderDescriptor
WGPUCompilationInfo
WGPUCompilationInfoCallbackInfo
WGPUCompilationMessage
WGPUComputePassDescriptor
WGPUComputePipelineDescriptor
WGPUComputeState
WGPUConstantEntry
WGPUCopyTextureForBrowserOptions
WGPUCreateComputePipelineAsyncCallbackInfo
WGPUCreateRenderPipelineAsyncCallbackInfo
WGPUDawnAdapterPropertiesPowerPreference
WGPUDawnBufferDescriptorErrorInfoFromWireClient
WGPUDawnCacheDeviceDescriptor
WGPUDawnCompilationMessageUtf16
WGPUDawnDeviceAllocatorControl
WGPUDawnDrmFormatCapabilities
WGPUDawnDrmFormatProperties
WGPUDawnEncoderInternalUsageDescriptor
WGPUDawnFakeBufferOOMForTesting
WGPUDawnFormatCapabilities
WGPUDawnHostMappedPointerLimits
WGPUDawnInjectedInvalidSType
WGPUDawnRenderPassColorAttachmentRenderToSingleSampled
WGPUDawnShaderModuleSPIRVOptionsDescriptor
WGPUDawnTexelCopyBufferRowAlignmentLimits
WGPUDawnTextureInternalUsageDescriptor
WGPUDawnTogglesDescriptor
WGPUDawnWGSLBlocklist
WGPUDawnWireWGSLControl
WGPUDepthStencilState
WGPUDeviceDescriptor
WGPUDeviceLostCallbackInfo
WGPUEmscriptenSurfaceSourceCanvasHTMLSelector
WGPUExtent2D
WGPUExtent3D
WGPUExternalTextureBindingEntry
WGPUExternalTextureBindingLayout
WGPUExternalTextureDescriptor
WGPUFragmentState
WGPUFuture
WGPUFutureWaitInfo
WGPUINTERNAL_HAVE_EMDAWNWEBGPU_HEADER
WGPUImageCopyExternalTexture
WGPUInstanceCapabilities
WGPUInstanceDescriptor
WGPULimits
WGPULoggingCallbackInfo
WGPUMemoryHeapInfo
WGPUMultisampleState
WGPUOrigin2D
WGPUOrigin3D
WGPUPassTimestampWrites
WGPUPipelineLayoutDescriptor
WGPUPipelineLayoutPixelLocalStorage
WGPUPipelineLayoutStorageAttachment
WGPUPopErrorScopeCallbackInfo
WGPUPrimitiveState
WGPUQuerySetDescriptor
WGPUQueueDescriptor
WGPUQueueWorkDoneCallbackInfo
WGPURenderBundleDescriptor
WGPURenderBundleEncoderDescriptor
WGPURenderPassColorAttachment
WGPURenderPassDepthStencilAttachment
WGPURenderPassDescriptor
WGPURenderPassDescriptorExpandResolveRect
WGPURenderPassDescriptorResolveRect
WGPURenderPassMaxDrawCount
WGPURenderPassPixelLocalStorage
WGPURenderPassStorageAttachment
WGPURenderPipelineDescriptor
WGPURequestAdapterCallbackInfo
WGPURequestAdapterOptions
WGPURequestAdapterWebXROptions
WGPURequestDeviceCallbackInfo
WGPUSamplerBindingLayout
WGPUSamplerDescriptor
WGPUShaderModuleCompilationOptions
WGPUShaderModuleDescriptor
WGPUShaderSourceSPIRV
WGPUShaderSourceWGSL
WGPUSharedBufferMemoryBeginAccessDescriptor
WGPUSharedBufferMemoryDescriptor
WGPUSharedBufferMemoryEndAccessState
WGPUSharedBufferMemoryProperties
WGPUSharedFenceDXGISharedHandleDescriptor
WGPUSharedFenceDXGISharedHandleExportInfo
WGPUSharedFenceDescriptor
WGPUSharedFenceEGLSyncDescriptor
WGPUSharedFenceEGLSyncExportInfo
WGPUSharedFenceExportInfo
WGPUSharedFenceMTLSharedEventDescriptor
WGPUSharedFenceMTLSharedEventExportInfo
WGPUSharedFenceSyncFDDescriptor
WGPUSharedFenceSyncFDExportInfo
WGPUSharedFenceVkSemaphoreOpaqueFDDescriptor
WGPUSharedFenceVkSemaphoreOpaqueFDExportInfo
WGPUSharedFenceVkSemaphoreZirconHandleDescriptor
WGPUSharedFenceVkSemaphoreZirconHandleExportInfo
WGPUSharedTextureMemoryAHardwareBufferDescriptor
WGPUSharedTextureMemoryAHardwareBufferProperties
WGPUSharedTextureMemoryBeginAccessDescriptor
WGPUSharedTextureMemoryD3DSwapchainBeginState
WGPUSharedTextureMemoryDXGISharedHandleDescriptor
WGPUSharedTextureMemoryDescriptor
WGPUSharedTextureMemoryDmaBufDescriptor
WGPUSharedTextureMemoryDmaBufPlane
WGPUSharedTextureMemoryEGLImageDescriptor
WGPUSharedTextureMemoryEndAccessState
WGPUSharedTextureMemoryIOSurfaceDescriptor
WGPUSharedTextureMemoryOpaqueFDDescriptor
WGPUSharedTextureMemoryProperties
WGPUSharedTextureMemoryVkDedicatedAllocationDescriptor
WGPUSharedTextureMemoryVkImageLayoutBeginState
WGPUSharedTextureMemoryVkImageLayoutEndState
WGPUSharedTextureMemoryZirconHandleDescriptor
WGPUStaticSamplerBindingLayout
WGPUStencilFaceState
WGPUStorageTextureBindingLayout
WGPUStringView
WGPUSubgroupMatrixConfig
WGPUSupportedFeatures
WGPUSupportedWGSLLanguageFeatures
WGPUSurfaceCapabilities
WGPUSurfaceColorManagement
WGPUSurfaceConfiguration
WGPUSurfaceDescriptor
WGPUSurfaceDescriptorFromWindowsCoreWindow
WGPUSurfaceDescriptorFromWindowsUWPSwapChainPanel
WGPUSurfaceDescriptorFromWindowsWinUISwapChainPanel
WGPUSurfaceSourceAndroidNativeWindow
WGPUSurfaceSourceMetalLayer
WGPUSurfaceSourceWaylandSurface
WGPUSurfaceSourceWindowsHWND
WGPUSurfaceSourceXCBWindow
WGPUSurfaceSourceXlibWindow
WGPUSurfaceTexture
WGPUTexelCopyBufferInfo
WGPUTexelCopyBufferLayout
WGPUTexelCopyTextureInfo
WGPUTextureBindingLayout
WGPUTextureBindingViewDimensionDescriptor
WGPUTextureDescriptor
WGPUTextureViewDescriptor
WGPUUncapturedErrorCallbackInfo
WGPUVertexAttribute
WGPUVertexBufferLayout
WGPUVertexState
WGPUYCbCrVkDescriptor

Constants§

WGPU_ARRAY_LAYER_COUNT_UNDEFINED
Indicates no array layer count is specified.
WGPU_COPY_STRIDE_UNDEFINED
Indicates no copy stride is specified.
WGPU_DEPTH_CLEAR_VALUE_UNDEFINED
Indicates no depth clear value is specified.
WGPU_DEPTH_SLICE_UNDEFINED
Indicates no depth slice is specified.
WGPU_FALSE
false value of WGPUBool.
WGPU_LIMIT_U32_UNDEFINED
For u32 limits, indicates no limit value is specified.
WGPU_LIMIT_U64_UNDEFINED
For u64 limits, indicates no limit value is specified.
WGPU_MIP_LEVEL_COUNT_UNDEFINED
Indicates no mip level count is specified.
WGPU_QUERY_SET_INDEX_UNDEFINED
Indicates no query set index is specified.
WGPU_STRLEN
Sentinel value used in WGPUStringView.
WGPU_TRUE
true value of WGPUBool.
WGPU_WHOLE_MAP_SIZE
Indicates a size extending to the end of the buffer.
WGPU_WHOLE_SIZE
Indicates a size extending to the end of the buffer.

Functions§

wgpuAdapterAddRef
wgpuAdapterCreateDevice
wgpuAdapterGetFeatures
wgpuAdapterGetFormatCapabilities
wgpuAdapterGetInfo
wgpuAdapterGetInstance
wgpuAdapterGetLimits
wgpuAdapterHasFeature
wgpuAdapterInfoFreeMembers
wgpuAdapterPropertiesMemoryHeapsFreeMembers
wgpuAdapterPropertiesSubgroupMatrixConfigsFreeMembers
wgpuAdapterRelease
wgpuAdapterRequestDevice
wgpuBindGroupAddRef
wgpuBindGroupLayoutAddRef
wgpuBindGroupLayoutRelease
wgpuBindGroupLayoutSetLabel
wgpuBindGroupRelease
wgpuBindGroupSetLabel
wgpuBufferAddRef
wgpuBufferDestroy
wgpuBufferGetConstMappedRange
wgpuBufferGetMapState
wgpuBufferGetMappedRange
wgpuBufferGetSize
wgpuBufferGetUsage
wgpuBufferMapAsync
wgpuBufferReadMappedRange
wgpuBufferRelease
wgpuBufferSetLabel
wgpuBufferUnmap
wgpuBufferWriteMappedRange
wgpuCommandBufferAddRef
wgpuCommandBufferRelease
wgpuCommandBufferSetLabel
wgpuCommandEncoderAddRef
wgpuCommandEncoderBeginComputePass
wgpuCommandEncoderBeginRenderPass
wgpuCommandEncoderClearBuffer
wgpuCommandEncoderCopyBufferToBuffer
wgpuCommandEncoderCopyBufferToTexture
wgpuCommandEncoderCopyTextureToBuffer
wgpuCommandEncoderCopyTextureToTexture
wgpuCommandEncoderFinish
wgpuCommandEncoderInjectValidationError
wgpuCommandEncoderInsertDebugMarker
wgpuCommandEncoderPopDebugGroup
wgpuCommandEncoderPushDebugGroup
wgpuCommandEncoderRelease
wgpuCommandEncoderResolveQuerySet
wgpuCommandEncoderSetLabel
wgpuCommandEncoderWriteBuffer
wgpuCommandEncoderWriteTimestamp
wgpuComputePassEncoderAddRef
wgpuComputePassEncoderDispatchWorkgroups
wgpuComputePassEncoderDispatchWorkgroupsIndirect
wgpuComputePassEncoderEnd
wgpuComputePassEncoderInsertDebugMarker
wgpuComputePassEncoderPopDebugGroup
wgpuComputePassEncoderPushDebugGroup
wgpuComputePassEncoderRelease
wgpuComputePassEncoderSetBindGroup
wgpuComputePassEncoderSetImmediateData
wgpuComputePassEncoderSetLabel
wgpuComputePassEncoderSetPipeline
wgpuComputePassEncoderWriteTimestamp
wgpuComputePipelineAddRef
wgpuComputePipelineGetBindGroupLayout
wgpuComputePipelineRelease
wgpuComputePipelineSetLabel
wgpuCreateInstance
wgpuDawnDrmFormatCapabilitiesFreeMembers
wgpuDeviceAddRef
wgpuDeviceCreateBindGroup
wgpuDeviceCreateBindGroupLayout
wgpuDeviceCreateBuffer
wgpuDeviceCreateCommandEncoder
wgpuDeviceCreateComputePipeline
wgpuDeviceCreateComputePipelineAsync
wgpuDeviceCreateErrorBuffer
wgpuDeviceCreateErrorExternalTexture
wgpuDeviceCreateErrorShaderModule
wgpuDeviceCreateErrorTexture
wgpuDeviceCreateExternalTexture
wgpuDeviceCreatePipelineLayout
wgpuDeviceCreateQuerySet
wgpuDeviceCreateRenderBundleEncoder
wgpuDeviceCreateRenderPipeline
wgpuDeviceCreateRenderPipelineAsync
wgpuDeviceCreateSampler
wgpuDeviceCreateShaderModule
wgpuDeviceCreateTexture
wgpuDeviceDestroy
wgpuDeviceForceLoss
wgpuDeviceGetAHardwareBufferProperties
wgpuDeviceGetAdapter
wgpuDeviceGetAdapterInfo
wgpuDeviceGetFeatures
wgpuDeviceGetLimits
wgpuDeviceGetLostFuture
wgpuDeviceGetQueue
wgpuDeviceHasFeature
wgpuDeviceImportSharedBufferMemory
wgpuDeviceImportSharedFence
wgpuDeviceImportSharedTextureMemory
wgpuDeviceInjectError
wgpuDevicePopErrorScope
wgpuDevicePushErrorScope
wgpuDeviceRelease
wgpuDeviceSetLabel
wgpuDeviceSetLoggingCallback
wgpuDeviceTick
wgpuDeviceValidateTextureDescriptor
wgpuExternalTextureAddRef
wgpuExternalTextureDestroy
wgpuExternalTextureExpire
wgpuExternalTextureRefresh
wgpuExternalTextureRelease
wgpuExternalTextureSetLabel
wgpuGetInstanceCapabilities
wgpuGetProcAddress
wgpuInstanceAddRef
wgpuInstanceCreateSurface
wgpuInstanceGetWGSLLanguageFeatures
wgpuInstanceHasWGSLLanguageFeature
wgpuInstanceProcessEvents
wgpuInstanceRelease
wgpuInstanceRequestAdapter
wgpuInstanceWaitAny
wgpuPipelineLayoutAddRef
wgpuPipelineLayoutRelease
wgpuPipelineLayoutSetLabel
wgpuQuerySetAddRef
wgpuQuerySetDestroy
wgpuQuerySetGetCount
wgpuQuerySetGetType
wgpuQuerySetRelease
wgpuQuerySetSetLabel
wgpuQueueAddRef
wgpuQueueCopyExternalTextureForBrowser
wgpuQueueCopyTextureForBrowser
wgpuQueueOnSubmittedWorkDone
wgpuQueueRelease
wgpuQueueSetLabel
wgpuQueueSubmit
wgpuQueueWriteBuffer
wgpuQueueWriteTexture
wgpuRenderBundleAddRef
wgpuRenderBundleEncoderAddRef
wgpuRenderBundleEncoderDraw
wgpuRenderBundleEncoderDrawIndexed
wgpuRenderBundleEncoderDrawIndexedIndirect
wgpuRenderBundleEncoderDrawIndirect
wgpuRenderBundleEncoderFinish
wgpuRenderBundleEncoderInsertDebugMarker
wgpuRenderBundleEncoderPopDebugGroup
wgpuRenderBundleEncoderPushDebugGroup
wgpuRenderBundleEncoderRelease
wgpuRenderBundleEncoderSetBindGroup
wgpuRenderBundleEncoderSetImmediateData
wgpuRenderBundleEncoderSetIndexBuffer
wgpuRenderBundleEncoderSetLabel
wgpuRenderBundleEncoderSetPipeline
wgpuRenderBundleEncoderSetVertexBuffer
wgpuRenderBundleRelease
wgpuRenderBundleSetLabel
wgpuRenderPassEncoderAddRef
wgpuRenderPassEncoderBeginOcclusionQuery
wgpuRenderPassEncoderDraw
wgpuRenderPassEncoderDrawIndexed
wgpuRenderPassEncoderDrawIndexedIndirect
wgpuRenderPassEncoderDrawIndirect
wgpuRenderPassEncoderEnd
wgpuRenderPassEncoderEndOcclusionQuery
wgpuRenderPassEncoderExecuteBundles
wgpuRenderPassEncoderInsertDebugMarker
wgpuRenderPassEncoderMultiDrawIndexedIndirect
wgpuRenderPassEncoderMultiDrawIndirect
wgpuRenderPassEncoderPixelLocalStorageBarrier
wgpuRenderPassEncoderPopDebugGroup
wgpuRenderPassEncoderPushDebugGroup
wgpuRenderPassEncoderRelease
wgpuRenderPassEncoderSetBindGroup
wgpuRenderPassEncoderSetBlendConstant
wgpuRenderPassEncoderSetImmediateData
wgpuRenderPassEncoderSetIndexBuffer
wgpuRenderPassEncoderSetLabel
wgpuRenderPassEncoderSetPipeline
wgpuRenderPassEncoderSetScissorRect
wgpuRenderPassEncoderSetStencilReference
wgpuRenderPassEncoderSetVertexBuffer
wgpuRenderPassEncoderSetViewport
wgpuRenderPassEncoderWriteTimestamp
wgpuRenderPipelineAddRef
wgpuRenderPipelineGetBindGroupLayout
wgpuRenderPipelineRelease
wgpuRenderPipelineSetLabel
wgpuSamplerAddRef
wgpuSamplerRelease
wgpuSamplerSetLabel
wgpuShaderModuleAddRef
wgpuShaderModuleGetCompilationInfo
wgpuShaderModuleRelease
wgpuShaderModuleSetLabel
wgpuSharedBufferMemoryAddRef
wgpuSharedBufferMemoryBeginAccess
wgpuSharedBufferMemoryCreateBuffer
wgpuSharedBufferMemoryEndAccess
wgpuSharedBufferMemoryEndAccessStateFreeMembers
wgpuSharedBufferMemoryGetProperties
wgpuSharedBufferMemoryIsDeviceLost
wgpuSharedBufferMemoryRelease
wgpuSharedBufferMemorySetLabel
wgpuSharedFenceAddRef
wgpuSharedFenceExportInfo
wgpuSharedFenceRelease
wgpuSharedTextureMemoryAddRef
wgpuSharedTextureMemoryBeginAccess
wgpuSharedTextureMemoryCreateTexture
wgpuSharedTextureMemoryEndAccess
wgpuSharedTextureMemoryEndAccessStateFreeMembers
wgpuSharedTextureMemoryGetProperties
wgpuSharedTextureMemoryIsDeviceLost
wgpuSharedTextureMemoryRelease
wgpuSharedTextureMemorySetLabel
wgpuSupportedFeaturesFreeMembers
wgpuSupportedWGSLLanguageFeaturesFreeMembers
wgpuSurfaceAddRef
wgpuSurfaceCapabilitiesFreeMembers
wgpuSurfaceConfigure
wgpuSurfaceGetCapabilities
wgpuSurfaceGetCurrentTexture
wgpuSurfacePresent
wgpuSurfaceRelease
wgpuSurfaceSetLabel
wgpuSurfaceUnconfigure
wgpuTextureAddRef
wgpuTextureCreateErrorView
wgpuTextureCreateView
wgpuTextureDestroy
wgpuTextureGetDepthOrArrayLayers
wgpuTextureGetDimension
wgpuTextureGetFormat
wgpuTextureGetHeight
wgpuTextureGetMipLevelCount
wgpuTextureGetSampleCount
wgpuTextureGetUsage
wgpuTextureGetWidth
wgpuTextureRelease
wgpuTextureSetLabel
wgpuTextureViewAddRef
wgpuTextureViewRelease
wgpuTextureViewSetLabel

Type Aliases§

WGPUAdapter
WGPUBindGroup
WGPUBindGroupLayout
WGPUBool
WGPUBuffer
WGPUBufferMapCallback
WGPUCallback
WGPUCommandBuffer
WGPUCommandEncoder
WGPUCompilationInfoCallback
WGPUComputePassEncoder
WGPUComputePipeline
WGPUCreateComputePipelineAsyncCallback
WGPUCreateRenderPipelineAsyncCallback
WGPUDawnLoadCacheDataFunction
WGPUDawnStoreCacheDataFunction
WGPUDevice
WGPUDeviceLostCallback
WGPUExternalTexture
WGPUFlags
WGPUInstance
WGPULoggingCallback
WGPUPipelineLayout
WGPUPopErrorScopeCallback
WGPUProc
WGPUQuerySet
WGPUQueue
WGPUQueueWorkDoneCallback
WGPURenderBundle
WGPURenderBundleEncoder
WGPURenderPassEncoder
WGPURenderPipeline
WGPURequestAdapterCallback
WGPURequestDeviceCallback
WGPUSampler
WGPUShaderModule
WGPUSharedBufferMemory
WGPUSharedFence
WGPUSharedTextureMemory
WGPUSurface
WGPUTexture
WGPUTextureView
WGPUUncapturedErrorCallback