package vendor:wgpu
Overview
A cross-platform (and WASM) GPU API.
WASM support is achieved by providing wrappers around the browser native WebGPU API that are called instead of the wgpu-native library, the wgpu-native library provides support for all other targets.
Examples
You can find a number of examples on Odin's official examples repository.
Getting the wgpu-native libraries
For native support (not the browser), some libraries are required. Fortunately this is extremely easy, just download them from the releases on GitHub. the bindings are for v29.0.1.1 at the moment.
These are expected in the lib folder under the same name as they are released (just unzipped).
By default it will look for a static release version (wgpu-OS-ARCH-release.a|lib),
you can set -define:WGPU_DEBUG=true for it to look for a debug version,
and use -define:WGPU_SHARED=true to look for the shared libraries.
WASM
For WASM, the module has to be built with a function table to enable callbacks.
You can do so using -extra-linker-flags:"--export-table".
Being able to allocate is also required (for some auxiliary APIs but also for mapping/unmapping buffers).
You can set the context that is used for allocations by setting the global variable wpgu.g_context.
It will default to the runtime.default_context.
Have a look at the example build file and html file
to see how it looks when set up, doing the --import-memory and the likes
is not strictly necessary but allows your app more memory than the minimal default.
The bindings work on both -target:js_wasm32 and -target:js_wasm64p32.
SDL Glue
There is an inner package sdl2glue (and sdl3glue) that can be used to glue together WGPU and SDL.
It exports one procedure GetSurface(wgpu.Instance, ^SDL.Window) -> wgpu.Surface.
The procedure will call the needed target specific procedures and return a surface configured
for the given window.
GLFW Glue
There is an inner package glfwglue that can be used to glue together WGPU and GLFW.
It exports one procedure GetSurface(wgpu.Instance, glfw.WindowHandle) -> wgpu.Surface.
The procedure will call the needed target specific procedures and return a surface configured
for the given window.
Do note that wgpu does not require GLFW, you can use native windows or another windowing library too.
For that you can take inspiration from glfwglue on glueing them together.
GLFW and Wayland
GLFW supports Wayland from version 3.4 onwards and only if it is compiled with -DGLFW_EXPOSE_NATIVE_WAYLAND.
Odin links against your system's glfw library (probably installed through a package manager).
If that version is lower than 3.4 or hasn't been compiled with the previously mentioned define,
you will have to compile glfw from source yourself and adjust the foreign import declarations in vendor:glfw/bindings to
point to it.
Packages 3
| glfwglue | WGPU glue for GLFW. | |
| sdl2glue | WGPU glue for SDL2. | |
| sdl3glue | WGPU glue for SDL3. |
External Examples 3 ¶
The programs in odin-lang/examples about this package, and how many of its declarations each uses.
- wgpu/
Index
Types (234)
- Adapter
- AdapterInfo
- AdapterType
- AddressMode
- BackendType
- BindGroup
- BindGroupDescriptor
- BindGroupEntry
- BindGroupEntryExtras
- BindGroupLayout
- BindGroupLayoutDescriptor
- BindGroupLayoutEntry
- BindGroupLayoutEntryExtras
- BlendComponent
- BlendFactor
- BlendOperation
- BlendState
- Bool
- Buffer
- BufferBindingLayout
- BufferBindingType
- BufferDescriptor
- BufferMapCallback
- BufferMapCallbackInfo
- BufferMapState
- BufferUsage
- BufferUsageFlags
- BufferWithDataDescriptor
- CallbackMode
- ChainedStruct
- Color
- ColorTargetState
- ColorWriteMask
- ColorWriteMaskFlags
- CommandBuffer
- CommandBufferDescriptor
- CommandEncoder
- CommandEncoderDescriptor
- CompareFunction
- CompatibilityModeLimits
- CompilationInfo
- CompilationInfoCallback
- CompilationInfoCallbackInfo
- CompilationInfoRequestStatus
- CompilationMessage
- CompilationMessageType
- ComponentSwizzle
- CompositeAlphaMode
- ComputePassDescriptor
- ComputePassEncoder
- ComputePipeline
- ComputePipelineDescriptor
- ComputeState
- ConstantEntry
- CreateComputePipelineAsyncCallback
- CreateComputePipelineAsyncCallbackInfo
- CreatePipelineAsyncStatus
- CreateRenderPipelineAsyncCallback
- CreateRenderPipelineAsyncCallbackInfo
- CullMode
- DepthStencilState
- Device
- DeviceDescriptor
- DeviceExtras
- DeviceLostCallback
- DeviceLostCallbackInfo
- DeviceLostReason
- Dx12Compiler
- Dx12SwapchainKind
- DxcMaxShaderModel
- ErrorFilter
- ErrorType
- Extent3D
- ExternalTexture
- ExternalTextureBindingEntry
- ExternalTextureBindingLayout
- FeatureLevel
- FeatureName
- FilterMode
- Flags
- FragmentState
- FrontFace
- Future
- FutureWaitInfo
- GLFenceBehaviour
- Gles3MinorVersion
- GlobalReport
- HubReport
- ImageSubresourceRange
- IndexFormat
- Instance
- InstanceBackend
- InstanceBackendFlags
- InstanceDescriptor
- InstanceEnumerateAdapterOptions
- InstanceExtras
- InstanceFeatureName
- InstanceFlag
- InstanceFlags
- InstanceLimits
- Limits
- LoadOp
- LogCallback
- LogLevel
- MapAsyncStatus
- MapMode
- MapModeFlags
- MipmapFilterMode
- MultisampleState
- NativeDisplayHandle
- NativeDisplayHandleType
- NativeLimits
- OptionalBool
- Origin3D
- PassTimestampWrites
- PipelineLayout
- PipelineLayoutDescriptor
- PipelineStatisticName
- PolygonMode
- PopErrorScopeCallback
- PopErrorScopeCallbackInfo
- PopErrorScopeStatus
- PowerPreference
- PredefinedColorSpace
- PresentMode
- PrimitiveState
- PrimitiveStateExtras
- PrimitiveTopology
- Proc
- QuerySet
- QuerySetDescriptor
- QuerySetDescriptorExtras
- QueryType
- Queue
- QueueDescriptor
- QueueWorkDoneCallback
- QueueWorkDoneCallbackInfo
- QueueWorkDoneStatus
- RegistryReport
- RenderBundle
- RenderBundleDescriptor
- RenderBundleEncoder
- RenderBundleEncoderDescriptor
- RenderPassColorAttachment
- RenderPassDepthStencilAttachment
- RenderPassDescriptor
- RenderPassEncoder
- RenderPassMaxDrawCount
- RenderPipeline
- RenderPipelineDescriptor
- RequestAdapterCallback
- RequestAdapterCallbackInfo
- RequestAdapterOptions
- RequestAdapterStatus
- RequestAdapterWebXROptions
- RequestDeviceCallback
- RequestDeviceCallbackInfo
- RequestDeviceStatus
- SType
- Sampler
- SamplerBindingLayout
- SamplerBindingType
- SamplerBorderColor
- SamplerDescriptor
- SamplerDescriptorExtras
- ShaderDefine
- ShaderModule
- ShaderModuleDescriptor
- ShaderModuleDescriptorSpirV
- ShaderRuntimeCheck
- ShaderRuntimeChecks
- ShaderSourceGLSL
- ShaderSourceSPIRV
- ShaderSourceWGSL
- ShaderStage
- ShaderStageFlags
- Status
- StencilFaceState
- StencilOperation
- StorageTextureAccess
- StorageTextureBindingLayout
- StoreOp
- StringView
- SubmissionIndex
- SupportedFeatures
- SupportedInstanceFeatures
- SupportedWGSLLanguageFeatures
- Surface
- SurfaceCapabilities
- SurfaceColorManagement
- SurfaceConfiguration
- SurfaceConfigurationExtras
- SurfaceDescriptor
- SurfaceGetCurrentTextureStatus
- SurfaceSourceAndroidNativeWindow
- SurfaceSourceCanvasHTMLSelector
- SurfaceSourceMetalLayer
- SurfaceSourceSwapChainPanel
- SurfaceSourceWaylandSurface
- SurfaceSourceWindowsHWND
- SurfaceSourceXcbWindow
- SurfaceSourceXlibWindow
- SurfaceTexture
- TexelCopyBufferInfo
- TexelCopyBufferLayout
- TexelCopyTextureInfo
- Texture
- TextureAspect
- TextureBindingLayout
- TextureBindingViewDimension
- TextureComponentSwizzle
- TextureComponentSwizzleDescriptor
- TextureDescriptor
- TextureDimension
- TextureFormat
- TextureSampleType
- TextureUsage
- TextureUsageFlags
- TextureView
- TextureViewDescriptor
- TextureViewDimension
- ToneMappingMode
- UncapturedErrorCallback
- UncapturedErrorCallbackInfo
- VertexAttribute
- VertexBufferLayout
- VertexFormat
- VertexState
- VertexStepMode
- WGSLLanguageFeatureName
- WaitStatus
- WaylandDisplayHandle
- XcbDisplayHandle
- XlibDisplayHandle
Constants (19)
- ARRAY_LAYER_COUNT_UNDEFINED
- BINDINGS_VERSION
- BINDINGS_VERSION_STRING
- COPY_STRIDE_UNDEFINED
- ColorWriteMaskFlags_All
- DEPTH_SLICE_UNDEFINED
InstanceBackendFlags_… (3)
- InstanceFlags_Empty
- LIMIT_U32_UNDEFINED
- LIMIT_U64_UNDEFINED
- MIP_LEVEL_COUNT_UNDEFINED
- QUERY_SET_INDEX_UNDEFINED
- STRLEN
- WGPU_DEBUG
- WGPU_SHARED
- WHOLE_MAP_SIZE
- WHOLE_SIZE
Variables (0)
This section is empty.
Procedures (256)
- AdapterAddRef
- AdapterGetFeatures
- AdapterGetInfo
- AdapterGetLimits
- AdapterHasFeature
- AdapterInfoFreeMembers
- AdapterRelease
- AdapterRequestDevice
- BindGroupAddRef
- BindGroupLayoutAddRef
- BindGroupLayoutRelease
- BindGroupLayoutSetLabel
- BindGroupRelease
- BindGroupSetLabel
- BufferAddRef
- BufferDestroy
- BufferGetConstMappedRange
- BufferGetConstMappedRangeSlice
- BufferGetConstMappedRangeTyped
- BufferGetMapState
- BufferGetMappedRange
- BufferGetMappedRangeSlice
- BufferGetMappedRangeTyped
- BufferGetSize
- BufferGetUsage
- BufferMapAsync
- BufferReadMappedRange
- BufferRelease
- BufferSetLabel
- BufferUnmap
- BufferWriteMappedRange
- CommandBufferAddRef
- CommandBufferRelease
- CommandBufferSetLabel
- CommandEncoderAddRef
- CommandEncoderBeginComputePass
- CommandEncoderBeginRenderPass
- CommandEncoderClearBuffer
- CommandEncoderClearTexture
- CommandEncoderCopyBufferToBuffer
- CommandEncoderCopyBufferToTexture
- CommandEncoderCopyTextureToBuffer
- CommandEncoderCopyTextureToTexture
- CommandEncoderFinish
- CommandEncoderInsertDebugMarker
- CommandEncoderPopDebugGroup
- CommandEncoderPushDebugGroup
- CommandEncoderRelease
- CommandEncoderResolveQuerySet
- CommandEncoderSetLabel
- CommandEncoderWriteTimestamp
- ComputePassEncoderAddRef
- ComputePassEncoderBeginPipelineStatisticsQuery
- ComputePassEncoderDispatchWorkgroups
- ComputePassEncoderDispatchWorkgroupsIndirect
- ComputePassEncoderEnd
- ComputePassEncoderEndPipelineStatisticsQuery
- ComputePassEncoderInsertDebugMarker
- ComputePassEncoderPopDebugGroup
- ComputePassEncoderPushDebugGroup
- ComputePassEncoderRelease
- ComputePassEncoderSetBindGroup
- ComputePassEncoderSetImmediates
- ComputePassEncoderSetLabel
- ComputePassEncoderSetPipeline
- ComputePassEncoderWriteTimestamp
- ComputePipelineAddRef
- ComputePipelineGetBindGroupLayout
- ComputePipelineRelease
- ComputePipelineSetLabel
- ConvertOdinToWGPULogLevel
- ConvertWGPUToOdinLogLevel
- CreateInstance
- DeviceAddRef
- DeviceCreateBindGroup
- DeviceCreateBindGroupLayout
- DeviceCreateBuffer
- DeviceCreateBufferWithDataSlice
- DeviceCreateBufferWithDataTyped
- DeviceCreateCommandEncoder
- DeviceCreateComputePipeline
- DeviceCreateComputePipelineAsync
- DeviceCreatePipelineLayout
- DeviceCreateQuerySet
- DeviceCreateRenderBundleEncoder
- DeviceCreateRenderPipeline
- DeviceCreateRenderPipelineAsync
- DeviceCreateSampler
- DeviceCreateShaderModule
- DeviceCreateShaderModuleSpirV
- DeviceCreateShaderModuleTrusted
- DeviceCreateTexture
- DeviceDestroy
- DeviceGetAdapterInfo
- DeviceGetFeatures
- DeviceGetLimits
- DeviceGetLostFuture
- DeviceGetNativeMetalCommandQueue
- DeviceGetNativeMetalDevice
- DeviceGetNativeMetalTexture
- DeviceGetQueue
- DeviceHasFeature
- DevicePoll
- DevicePopErrorScope
- DevicePushErrorScope
- DeviceRelease
- DeviceSetLabel
- DeviceStartGraphicsDebuggerCapture
- DeviceStopGraphicsDebuggerCapture
- ExternalTextureAddRef
- ExternalTextureRelease
- ExternalTextureSetLabel
- GenerateReport
- GetInstanceFeatures
- GetInstanceLimits
- GetProcAddress
- GetVersion
- HasInstanceFeature
- InstanceAddRef
- InstanceCreateSurface
- InstanceEnumerateAdapters
- InstanceGetWGSLLanguageFeatures
- InstanceHasWGSLLanguageFeature
- InstanceProcessEvents
- InstanceRelease
- InstanceRequestAdapter
- InstanceWaitAny
- PipelineLayoutAddRef
- PipelineLayoutRelease
- PipelineLayoutSetLabel
- QuerySetAddRef
- QuerySetDestroy
- QuerySetGetCount
- QuerySetGetType
- QuerySetRelease
- QuerySetSetLabel
- QueueAddRef
- QueueGetTimestampPeriod
- QueueOnSubmittedWorkDone
- QueueRelease
- QueueSetLabel
- QueueSubmit
- QueueSubmitForIndex
- QueueWriteBuffer
- QueueWriteTexture
- RawAdapterGetFeatures
- RawAdapterGetInfo
- RawAdapterGetLimits
- RawBufferGetConstMappedRange
- RawBufferGetMappedRange
- RawComputePassEncoderSetBindGroup
- RawCreateInstance
- RawDeviceGetAdapterInfo
- RawDeviceGetFeatures
- RawDeviceGetLimits
- RawGenerateReport
- RawGetInstanceLimits
- RawInstanceEnumerateAdapters
- RawQueueSubmit
- RawQueueSubmitForIndex
- RawRenderBundleEncoderSetBindGroup
- RawRenderPassEncoderExecuteBundles
- RawRenderPassEncoderSetBindGroup
- RawSurfaceGetCapabilities
- RawSurfaceGetCurrentTexture
- RenderBundleAddRef
- RenderBundleEncoderAddRef
- RenderBundleEncoderDraw
- RenderBundleEncoderDrawIndexed
- RenderBundleEncoderDrawIndexedIndirect
- RenderBundleEncoderDrawIndirect
- RenderBundleEncoderFinish
- RenderBundleEncoderInsertDebugMarker
- RenderBundleEncoderPopDebugGroup
- RenderBundleEncoderPushDebugGroup
- RenderBundleEncoderRelease
- RenderBundleEncoderSetBindGroup
- RenderBundleEncoderSetImmediates
- RenderBundleEncoderSetIndexBuffer
- RenderBundleEncoderSetLabel
- RenderBundleEncoderSetPipeline
- RenderBundleEncoderSetVertexBuffer
- RenderBundleRelease
- RenderBundleSetLabel
- RenderPassEncoderAddRef
- RenderPassEncoderBeginOcclusionQuery
- RenderPassEncoderBeginPipelineStatisticsQuery
- RenderPassEncoderDraw
- RenderPassEncoderDrawIndexed
- RenderPassEncoderDrawIndexedIndirect
- RenderPassEncoderDrawIndirect
- RenderPassEncoderEnd
- RenderPassEncoderEndOcclusionQuery
- RenderPassEncoderEndPipelineStatisticsQuery
- RenderPassEncoderExecuteBundles
- RenderPassEncoderInsertDebugMarker
- RenderPassEncoderMultiDrawIndexedIndirect
- RenderPassEncoderMultiDrawIndexedIndirectCount
- RenderPassEncoderMultiDrawIndirect
- RenderPassEncoderMultiDrawIndirectCount
- RenderPassEncoderPopDebugGroup
- RenderPassEncoderPushDebugGroup
- RenderPassEncoderRelease
- RenderPassEncoderSetBindGroup
- RenderPassEncoderSetBlendConstant
- RenderPassEncoderSetImmediates
- RenderPassEncoderSetIndexBuffer
- RenderPassEncoderSetLabel
- RenderPassEncoderSetPipeline
- RenderPassEncoderSetScissorRect
- RenderPassEncoderSetStencilReference
- RenderPassEncoderSetVertexBuffer
- RenderPassEncoderSetViewport
- RenderPassEncoderWriteTimestamp
- RenderPipelineAddRef
- RenderPipelineGetBindGroupLayout
- RenderPipelineRelease
- RenderPipelineSetLabel
- SamplerAddRef
- SamplerRelease
- SamplerSetLabel
- SetLogCallback
- SetLogLevel
- ShaderModuleAddRef
- ShaderModuleGetCompilationInfo
- ShaderModuleRelease
- ShaderModuleSetLabel
- SupportedFeaturesFreeMembers
- SupportedInstanceFeaturesFreeMembers
- SupportedWGSLLanguageFeaturesFreeMembers
- SurfaceAddRef
- SurfaceCapabilitiesFreeMembers
- SurfaceConfigure
- SurfaceGetCapabilities
- SurfaceGetCurrentTexture
- SurfacePresent
- SurfaceRelease
- SurfaceSetLabel
- SurfaceUnconfigure
- TextureAddRef
- TextureCreateView
- TextureDestroy
- TextureGetDepthOrArrayLayers
- TextureGetDimension
- TextureGetFormat
- TextureGetHeight
- TextureGetMipLevelCount
- TextureGetSampleCount
- TextureGetTextureBindingViewDimension
- TextureGetUsage
- TextureGetWidth
- TextureRelease
- TextureSetLabel
- TextureViewAddRef
- TextureViewRelease
- TextureViewSetLabel
Procedure Groups (2)
`#config` values (2)
Types
Adapter ¶
Adapter :: distinct rawptr
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
AdapterInfo ¶
AdapterInfo :: struct { nextInChain: ^ChainedStruct, vendor: string, architecture: string, device: string, description: string, backendType: BackendType, adapterType: AdapterType, vendorID: u32, deviceID: u32, subgroupMinSize: u32, subgroupMaxSize: u32, }
Related Procedures With Parameters
Related Procedures With Returns
AdapterType ¶
AdapterType :: enum i32 { DiscreteGPU = 0x00000001, IntegratedGPU = 0x00000002, CPU = 0x00000003, Unknown = 0x00000004, }
AddressMode ¶
AddressMode :: enum i32 { Undefined = 0x00000000, ClampToEdge = 0x00000001, Repeat = 0x00000002, MirrorRepeat = 0x00000003, ClampToBorder = 0x00000004, }
BackendType ¶
BackendType :: enum i32 { Undefined = 0x00000000, Null = 0x00000001, WebGPU = 0x00000002, D3D11 = 0x00000003, D3D12 = 0x00000004, Metal = 0x00000005, Vulkan = 0x00000006, OpenGL = 0x00000007, OpenGLES = 0x00000008, }
BindGroupDescriptor ¶
BindGroupDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, layout: BindGroupLayout, entryCount: uint, entries: [^]BindGroupEntry `fmt:"v,entryCount"`, }
BindGroupEntry ¶
BindGroupEntry :: struct { nextInChain: ^ChainedStruct, binding: u32, buffer: Buffer, offset: u64, size: u64, sampler: Sampler, textureView: TextureView, }
External examples wgpu/microui
BindGroupEntryExtras ¶
BindGroupEntryExtras :: struct { using chain: ChainedStruct, buffers: [^]Buffer `fmt:"v,bufferCount"`, bufferCount: uint, samplers: [^]Sampler `fmt:"v,samplerCount"`, samplerCount: uint, textureViews: [^]TextureView `fmt:"v,textureViewCount"`, textureViewCount: uint, }
BindGroupLayout ¶
BindGroupLayout :: distinct rawptr
External examples wgpu/microui
Related Procedures With Parameters
Related Procedures With Returns
BindGroupLayoutDescriptor ¶
BindGroupLayoutDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, entryCount: uint, entries: [^]BindGroupLayoutEntry `fmt:"v,entryCount"`, }
BindGroupLayoutEntry ¶
BindGroupLayoutEntry :: struct { nextInChain: ^ChainedStruct, binding: u32, visibility: bit_set[ShaderStage; u64], bindingArraySize: u32, buffer: BufferBindingLayout, sampler: SamplerBindingLayout, texture: TextureBindingLayout, storageTexture: StorageTextureBindingLayout, }
External examples wgpu/microui
BindGroupLayoutEntryExtras ¶
BindGroupLayoutEntryExtras :: struct { using chain: ChainedStruct, count: u32, }
BlendComponent ¶
BlendComponent :: struct { operation: BlendOperation, srcFactor: BlendFactor, dstFactor: BlendFactor, }
BlendFactor ¶
BlendFactor :: enum i32 { Undefined = 0x00000000, Zero = 0x00000001, One = 0x00000002, Src = 0x00000003, OneMinusSrc = 0x00000004, SrcAlpha = 0x00000005, OneMinusSrcAlpha = 0x00000006, Dst = 0x00000007, OneMinusDst = 0x00000008, DstAlpha = 0x00000009, OneMinusDstAlpha = 0x0000000A, SrcAlphaSaturated = 0x0000000B, Constant = 0x0000000C, OneMinusConstant = 0x0000000D, Src1 = 0x0000000E, OneMinusSrc1 = 0x0000000F, Src1Alpha = 0x00000010, OneMinusSrc1Alpha = 0x00000011, }
BlendOperation ¶
BlendOperation :: enum i32 { Undefined = 0x00000000, Add = 0x00000001, Subtract = 0x00000002, ReverseSubtract = 0x00000003, Min = 0x00000004, Max = 0x00000005, }
BlendState ¶
BlendState :: struct { color: BlendComponent, alpha: BlendComponent, }
Buffer ¶
Buffer :: distinct rawptr
External examples wgpu/microui
Related Procedures With Parameters
- BufferAddRef
- BufferDestroy
- BufferGetConstMappedRange
- BufferGetConstMappedRangeSlice
- BufferGetConstMappedRangeTyped
- BufferGetMapState
- BufferGetMappedRange
- BufferGetMappedRangeSlice
- BufferGetMappedRangeTyped
- BufferGetSize
- BufferGetUsage
- BufferMapAsync
- BufferReadMappedRange
- BufferRelease
- BufferSetLabel
- BufferUnmap
- BufferWriteMappedRange
- CommandEncoderClearBuffer
- CommandEncoderCopyBufferToBuffer
- CommandEncoderResolveQuerySet
- ComputePassEncoderDispatchWorkgroupsIndirect
- QueueWriteBuffer
- RawBufferGetConstMappedRange
- RawBufferGetMappedRange
- RenderBundleEncoderDrawIndexedIndirect
- RenderBundleEncoderDrawIndirect
- RenderBundleEncoderSetIndexBuffer
- RenderBundleEncoderSetVertexBuffer
- RenderPassEncoderDrawIndexedIndirect
- RenderPassEncoderDrawIndirect
- RenderPassEncoderMultiDrawIndexedIndirect
- RenderPassEncoderMultiDrawIndexedIndirectCount
- RenderPassEncoderMultiDrawIndirect
- RenderPassEncoderMultiDrawIndirectCount
- RenderPassEncoderSetIndexBuffer
- RenderPassEncoderSetVertexBuffer
Related Procedures With Returns
BufferBindingLayout ¶
BufferBindingLayout :: struct { nextInChain: ^ChainedStruct, type: BufferBindingType, hasDynamicOffset: b32, minBindingSize: u64, }
BufferBindingType ¶
BufferBindingType :: enum i32 { BindingNotUsed = 0x00000000, Undefined = 0x00000001, Uniform = 0x00000002, Storage = 0x00000003, ReadOnlyStorage = 0x00000004, }
BufferDescriptor ¶
BufferDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, usage: bit_set[BufferUsage; u64], size: u64, mappedAtCreation: b32, }
BufferMapCallback ¶
BufferMapCallback :: proc "c" (status: MapAsyncStatus, message: string, userdata1: rawptr, userdata2: rawptr)
BufferMapCallbackInfo ¶
BufferMapCallbackInfo :: struct { nextInChain: ^ChainedStruct, mode: CallbackMode, callback: BufferMapCallback, userdata1: rawptr, userdata2: rawptr, }
BufferMapState ¶
BufferMapState :: enum i32 { Unmapped = 0x00000001, Pending = 0x00000002, Mapped = 0x00000003, }
BufferUsage ¶
BufferUsage :: enum i32 { MapRead = 0x00000000, MapWrite = 0x00000001, CopySrc = 0x00000002, CopyDst = 0x00000003, Index = 0x00000004, Vertex = 0x00000005, Uniform = 0x00000006, Storage = 0x00000007, Indirect = 0x00000008, QueryResolve = 0x00000009, }
BufferUsageFlags ¶
BufferUsageFlags :: bit_set[BufferUsage; u64]
BufferWithDataDescriptor ¶
BufferWithDataDescriptor :: struct { label: string, usage: bit_set[BufferUsage; u64], }
Related Procedures With Parameters
CallbackMode ¶
CallbackMode :: enum i32 { WaitAnyOnly = 0x00000001, AllowProcessEvents = 0x00000002, AllowSpontaneos = 0x00000003, }
ChainedStruct ¶
ChainedStruct :: struct { next: ^ChainedStruct, sType: SType, }
ColorTargetState ¶
ColorTargetState :: struct { nextInChain: ^ChainedStruct, format: TextureFormat, blend: ^BlendState, writeMask: bit_set[ColorWriteMask; u64], }
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
ColorWriteMask ¶
ColorWriteMask :: enum i32 { Red = 0x00000000, Green = 0x00000001, Blue = 0x00000002, Alpha = 0x00000003, }
CommandBufferDescriptor ¶
CommandBufferDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, }
CommandEncoder ¶
CommandEncoder :: distinct rawptr
External examples wgpu/microui
Related Procedures With Parameters
- CommandEncoderAddRef
- CommandEncoderBeginComputePass
- CommandEncoderBeginRenderPass
- CommandEncoderClearBuffer
- CommandEncoderClearTexture
- CommandEncoderCopyBufferToBuffer
- CommandEncoderCopyBufferToTexture
- CommandEncoderCopyTextureToBuffer
- CommandEncoderCopyTextureToTexture
- CommandEncoderFinish
- CommandEncoderInsertDebugMarker
- CommandEncoderPopDebugGroup
- CommandEncoderPushDebugGroup
- CommandEncoderRelease
- CommandEncoderResolveQuerySet
- CommandEncoderSetLabel
- CommandEncoderWriteTimestamp
CommandEncoderDescriptor ¶
CommandEncoderDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, }
CompareFunction ¶
CompareFunction :: enum i32 { Undefined = 0x00000000, Never = 0x00000001, Less = 0x00000002, Equal = 0x00000003, LessEqual = 0x00000004, Greater = 0x00000005, NotEqual = 0x00000006, GreaterEqual = 0x00000007, Always = 0x00000008, }
CompatibilityModeLimits ¶
CompatibilityModeLimits :: struct { using chain: ChainedStruct, maxStorageBuffersInVertexStage: u32, maxStorageTexturesInVertexStage: u32, maxStorageBuffersInFragmentStage: u32, maxStorageTexturesInFragmentStage: u32, }
CompilationInfo ¶
CompilationInfo :: struct { nextInChain: ^ChainedStruct, messageCount: uint, messages: [^]CompilationMessage `fmt:"v,messageCount"`, }
CompilationInfoCallback ¶
CompilationInfoCallback :: proc "c" (status: CompilationInfoRequestStatus, compilationInfo: ^CompilationInfo, userdata1: rawptr, userdata2: rawptr)
CompilationInfoCallbackInfo ¶
CompilationInfoCallbackInfo :: struct { nextInChain: ^ChainedStruct, mode: CallbackMode, callback: CompilationInfoCallback, userdata1: rawptr, userdata2: rawptr, }
CompilationInfoRequestStatus ¶
CompilationInfoRequestStatus :: enum i32 { Success = 0x00000001, CallbackCancelled = 0x00000002, }
CompilationMessage ¶
CompilationMessage :: struct { nextInChain: ^ChainedStruct, message: string, type: CompilationMessageType, lineNum: u64, linePos: u64, offset: u64, length: u64, }
CompilationMessageType ¶
CompilationMessageType :: enum i32 { Error = 0x00000001, Warning = 0x00000002, Info = 0x00000003, }
ComponentSwizzle ¶
ComponentSwizzle :: enum i32 { Undefined, Zero, One, R, G, B, A, }
CompositeAlphaMode ¶
CompositeAlphaMode :: enum i32 { Auto = 0x00000000, Opaque = 0x00000001, Premultiplied = 0x00000002, Unpremultiplied = 0x00000003, Inherit = 0x00000004, }
ComputePassDescriptor ¶
ComputePassDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, timestampWrites: ^PassTimestampWrites, }
ComputePassEncoder ¶
ComputePassEncoder :: distinct rawptr
Related Procedures With Parameters
- ComputePassEncoderAddRef
- ComputePassEncoderBeginPipelineStatisticsQuery
- ComputePassEncoderDispatchWorkgroups
- ComputePassEncoderDispatchWorkgroupsIndirect
- ComputePassEncoderEnd
- ComputePassEncoderEndPipelineStatisticsQuery
- ComputePassEncoderInsertDebugMarker
- ComputePassEncoderPopDebugGroup
- ComputePassEncoderPushDebugGroup
- ComputePassEncoderRelease
- ComputePassEncoderSetBindGroup
- ComputePassEncoderSetImmediates
- ComputePassEncoderSetLabel
- ComputePassEncoderSetPipeline
- ComputePassEncoderWriteTimestamp
- RawComputePassEncoderSetBindGroup
ComputePipelineDescriptor ¶
ComputePipelineDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, layout: PipelineLayout, compute: ComputeState, }
Related Procedures With Parameters
ComputeState ¶
ComputeState :: struct { nextInChain: ^ChainedStruct, module: ShaderModule, entryPoint: string, constantCount: uint, constants: [^]ConstantEntry `fmt:"v,constantCount"`, }
ConstantEntry ¶
ConstantEntry :: struct { nextInChain: ^ChainedStruct, key: string, value: f64, }
CreateComputePipelineAsyncCallback ¶
CreateComputePipelineAsyncCallback :: proc "c" (status: CreatePipelineAsyncStatus, pipeline: ComputePipeline, message: string, userdata1: rawptr, userdata2: rawptr)
CreateComputePipelineAsyncCallbackInfo ¶
CreateComputePipelineAsyncCallbackInfo :: struct { nextInChain: ^ChainedStruct, mode: CallbackMode, callback: CreateComputePipelineAsyncCallback, userdata1: rawptr, userdata2: rawptr, }
CreatePipelineAsyncStatus ¶
CreatePipelineAsyncStatus :: enum i32 { Success = 0x00000001, CallbackCancelled = 0x00000002, ValidationError = 0x00000003, InternalError = 0x00000004, }
CreateRenderPipelineAsyncCallback ¶
CreateRenderPipelineAsyncCallback :: proc "c" (status: CreatePipelineAsyncStatus, pipeline: RenderPipeline, message: string, userdata1: rawptr, userdata2: rawptr)
CreateRenderPipelineAsyncCallbackInfo ¶
CreateRenderPipelineAsyncCallbackInfo :: struct { nextInChain: ^ChainedStruct, mode: CallbackMode, callback: CreateRenderPipelineAsyncCallback, userdata1: rawptr, userdata2: rawptr, }
CullMode ¶
CullMode :: enum i32 { Undefined = 0x00000000, None = 0x00000001, Front = 0x00000002, Back = 0x00000003, }
DepthStencilState ¶
DepthStencilState :: struct { nextInChain: ^ChainedStruct, format: TextureFormat, depthWriteEnabled: OptionalBool, depthCompare: CompareFunction, stencilFront: StencilFaceState, stencilBack: StencilFaceState, stencilReadMask: u32, stencilWriteMask: u32, depthBias: i32, depthBiasSlopeScale: f32, depthBiasClamp: f32, }
Device ¶
Device :: distinct rawptr
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
Related Procedures With Parameters
- DeviceAddRef
- DeviceCreateBindGroup
- DeviceCreateBindGroupLayout
- DeviceCreateBuffer
- DeviceCreateBufferWithDataSlice
- DeviceCreateBufferWithDataTyped
- DeviceCreateCommandEncoder
- DeviceCreateComputePipeline
- DeviceCreateComputePipelineAsync
- DeviceCreatePipelineLayout
- DeviceCreateQuerySet
- DeviceCreateRenderBundleEncoder
- DeviceCreateRenderPipeline
- DeviceCreateRenderPipelineAsync
- DeviceCreateSampler
- DeviceCreateShaderModule
- DeviceCreateShaderModuleSpirV
- DeviceCreateShaderModuleTrusted
- DeviceCreateTexture
- DeviceDestroy
- DeviceGetAdapterInfo
- DeviceGetFeatures
- DeviceGetLimits
- DeviceGetLostFuture
- DeviceGetNativeMetalCommandQueue
- DeviceGetNativeMetalDevice
- DeviceGetNativeMetalTexture
- DeviceGetQueue
- DeviceHasFeature
- DevicePoll
- DevicePopErrorScope
- DevicePushErrorScope
- DeviceRelease
- DeviceSetLabel
- DeviceStartGraphicsDebuggerCapture
- DeviceStopGraphicsDebuggerCapture
- RawDeviceGetAdapterInfo
- RawDeviceGetFeatures
- RawDeviceGetLimits
- DeviceCreateBufferWithData (procedure groups)
DeviceDescriptor ¶
DeviceDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, requiredFeatureCount: uint, requiredFeatures: [^]FeatureName `fmt:"v,requiredFeatureCount"`, requiredLimits: ^Limits, defaultQueue: QueueDescriptor, deviceLostCallbackInfo: DeviceLostCallbackInfo, uncapturedErrorCallbackInfo: UncapturedErrorCallbackInfo, }
DeviceExtras ¶
DeviceExtras :: struct { using chain: ChainedStruct, tracePath: string, }
DeviceLostCallback ¶
DeviceLostCallback :: proc "c" (device: ^Device, reason: DeviceLostReason, message: string, userdata1: rawptr, userdata2: rawptr)
DeviceLostCallbackInfo ¶
DeviceLostCallbackInfo :: struct { nextInChain: ^ChainedStruct, mode: CallbackMode, callback: DeviceLostCallback, userdata1: rawptr, userdata2: rawptr, }
DeviceLostReason ¶
DeviceLostReason :: enum i32 { Undefined = 0x00000000, Unknown = 0x00000001, Destroyed = 0x00000002, CallbackCancelled = 0x00000003, FailedCreation = 0x00000004, }
Dx12Compiler ¶
Dx12Compiler :: enum i32 { Undefined, Fxc, Dxc, }
Dx12SwapchainKind ¶
Dx12SwapchainKind :: enum i32 { Undefined, DxgiFromHwnd, DxgiFromVisual, }
DxcMaxShaderModel ¶
DxcMaxShaderModel :: enum i32 { V6_0, V6_1, V6_2, V6_3, V6_4, V6_5, V6_6, V6_7, }
ErrorFilter ¶
ErrorFilter :: enum i32 { Validation = 0x00000001, OutOfMemory = 0x00000002, Internal = 0x00000003, }
ErrorType ¶
ErrorType :: enum i32 { NoError = 0x00000001, Validation = 0x00000002, OutOfMemory = 0x00000003, Internal = 0x00000004, Unknown = 0x00000005, }
Extent3D ¶
Related Procedures With Parameters
ExternalTextureBindingEntry ¶
ExternalTextureBindingEntry :: struct { using chain: ChainedStruct, externalTexture: ExternalTexture, }
Chained in a BindGroupEntry.
ExternalTextureBindingLayout ¶
ExternalTextureBindingLayout :: struct { using chain: ChainedStruct, }
Chained in a BindGroupLayoutEntry.
FeatureLevel ¶
FeatureLevel :: enum i32 { Undefined, Compatibility = 0x00000001, Core = 0x00000002, }
FeatureName ¶
FeatureName :: enum i32 { // WebGPU. Undefined = 0x00000000, CoreFeaturesAndLimits = 0x00000001, DepthClipControl = 0x00000002, Depth32FloatStencil8 = 0x00000003, TextureCompressionBC = 0x00000004, TextureCompressionBCSliced3D = 0x00000005, TextureCompressionETC2 = 0x00000006, TextureCompressionASTC = 0x00000007, TextureCompressionASTCSliced3D = 0x00000008, TimestampQuery = 0x00000009, IndirectFirstInstance = 0x0000000A, ShaderF16 = 0x0000000B, RG11B10UfloatRenderable = 0x0000000C, BGRA8UnormStorage = 0x0000000D, Float32Filterable = 0x0000000E, Float32Blendable = 0x0000000F, ClipDistances = 0x00000010, DualSourceBlending = 0x00000011, Subgroups = 0x00000012, TextureFormatsTier1 = 0x00000013, TextureFormatsTier2 = 0x00000014, PrimitiveIndex = 0x00000015, TextureComponentSwizzle = 0x00000016, // Native. Immediates = 0x00030001, TextureAdapterSpecificFormatFeatures, MultiDrawIndirectCount = 0x00030004, VertexWritableStorage, TextureBindingArray, SampledTextureAndStorageBufferArrayNonUniformIndexing, PipelineStatisticsQuery, StorageResourceBindingArray, PartiallyBoundBindingArray, TextureFormat16bitNorm, TextureCompressionAstcHdr, MappablePrimaryBuffers = 0x0003000E, BufferBindingArray, StorageTextureArrayNonUniformIndexing = 0x00030010, AdressModeClampToZero = 0x00030011, AdressModeClampToBorder = 0x00030012, PolygonModeLine = 0x00030013, PolygonModePoint, ConservativeRasterization, ClearTexture, MultiView = 0x00030018, VertexAttribute64bit = 0x00030019, TextureFormatNv12, RayQuery = 0x0003001C, ShaderF64, ShaderI16, ShaderEarlyDepthTest = 0x00030020, Subgroup, SubgroupVertex, SubgroupBarrier, TimestampQueryInsideEncoders, TimestampQueryInsidePasses, ShaderInt64, ShaderFloat32Atomic, TextureAtomic, TextureFormatP010, // TODO: requires wgpu.h api change // ExternalTexture, PipelineCache = 0x0003002B, ShaderInt64AtomicMinMax, ShaderInt64AtomicAllOps, // TODO: requires wgpu.h api change // VulkanGoogleDisplayTiming, // VulkanExternalMemoryWin32, TextureInt64Atomic = 0x00030030, // TODO: not implemented yet, see https://github.com/gfx-rs/wgpu/issues/7149 UniformBufferBindingArrays, // TODO: requires wgpu.h api change // MeshShader, // RayHitVertexReturn, // MeshShaderMultiview, // ExtendedAccelerationStructureVertexFormat, // PassThroughShaders, ShaderBarycentrics = 0x00030037, SelectiveMultiview, // TODO: requires wgpu.h api change // MeshShaderPoints, MultisampleArray = 0x0003003A, CooperativeMatrix, ShaderPerVertex, ShaderDrawIndex, AccelerationStructureBindingArray, MemoryDecorationCoherent, MemoryDecorationVolative, }
Related Procedures With Parameters
FilterMode ¶
FilterMode :: enum i32 { Undefined = 0x00000000, Nearest = 0x00000001, Linear = 0x00000002, }
Flags ¶
Flags :: u64
Related Procedures With Parameters
- CommandEncoderClearBuffer
- CommandEncoderCopyBufferToBuffer
- CommandEncoderResolveQuerySet
- ComputePassEncoderDispatchWorkgroupsIndirect
- InstanceWaitAny
- QueueWriteBuffer
- RenderBundleEncoderDrawIndexedIndirect
- RenderBundleEncoderDrawIndirect
- RenderBundleEncoderSetIndexBuffer
- RenderBundleEncoderSetVertexBuffer
- RenderPassEncoderDrawIndexedIndirect
- RenderPassEncoderDrawIndirect
- RenderPassEncoderMultiDrawIndexedIndirect
- RenderPassEncoderMultiDrawIndexedIndirectCount
- RenderPassEncoderMultiDrawIndirect
- RenderPassEncoderMultiDrawIndirectCount
- RenderPassEncoderSetIndexBuffer
- RenderPassEncoderSetVertexBuffer
FragmentState ¶
FragmentState :: struct { nextInChain: ^ChainedStruct, module: ShaderModule, entryPoint: string, constantCount: uint, constants: [^]ConstantEntry `fmt:"v,constantCount"`, targetCount: uint, targets: [^]ColorTargetState `fmt:"v,targetCount"`, }
FrontFace ¶
FrontFace :: enum i32 { Undefined = 0x00000000, CCW = 0x00000001, CW = 0x00000002, }
GLFenceBehaviour ¶
GLFenceBehaviour :: enum i32 { Normal, AutoFinish, }
Gles3MinorVersion ¶
Gles3MinorVersion :: enum i32 { Automatic, Version0, Version1, Version2, }
GlobalReport ¶
GlobalReport :: struct { surfaces: RegistryReport, hub: HubReport, }
HubReport ¶
HubReport :: struct { adapters: RegistryReport, devices: RegistryReport, queues: RegistryReport, pipelineLayouts: RegistryReport, shaderModules: RegistryReport, bindGroupLayouts: RegistryReport, bindGroups: RegistryReport, commandBuffers: RegistryReport, renderBundles: RegistryReport, renderPipelines: RegistryReport, computePipelines: RegistryReport, pipelineCaches: RegistryReport, querySets: RegistryReport, buffers: RegistryReport, textures: RegistryReport, textureViews: RegistryReport, samplers: RegistryReport, }
ImageSubresourceRange ¶
ImageSubresourceRange :: struct { aspect: TextureAspect, baseMipLevel: u32, mipLevelCount: u32, baseArrayLayer: u32, arrayLayerCount: u32, }
IndexFormat ¶
IndexFormat :: enum i32 { Undefined = 0x00000000, Uint16 = 0x00000001, Uint32 = 0x00000002, }
Related Procedures With Parameters
Instance ¶
Instance :: distinct rawptr
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
Related Procedures With Parameters
Related Procedures With Returns
InstanceBackend ¶
InstanceBackend :: enum i32 { Vulkan, GL, Metal, DX12, // DX11, BrowserWebGPU = 5, }
InstanceDescriptor ¶
InstanceDescriptor :: struct { nextInChain: ^ChainedStruct, requiredFeatureCount: uint, requiredFeatures: [^]InstanceFeatureName `fmt:"v,requiredFeatureCount"`, requiredLimits: ^InstanceLimits, }
Related Procedures With Parameters
InstanceEnumerateAdapterOptions ¶
InstanceEnumerateAdapterOptions :: struct { nextInChain: ^ChainedStruct, backends: bit_set[InstanceBackend; u64], }
Related Procedures With Parameters
InstanceExtras ¶
InstanceExtras :: struct { using chain: ChainedStruct, backends: bit_set[InstanceBackend; u64], flags: bit_set[InstanceFlag; u64], dx12ShaderCompiler: Dx12Compiler, gles3MinorVersion: Gles3MinorVersion, glFenceBehaviour: GLFenceBehaviour, dxcPath: string, dcxMaxShaderModel: DxcMaxShaderModel, dx12PresentationSystem: Dx12SwapchainKind, budgetForDeviceCreation: ^u8, budgetForDeviceLoss: ^u8, displayHandle: NativeDisplayHandle, }
InstanceFeatureName ¶
InstanceFeatureName :: enum i32 { TimedWaitAny = 1, ShaderSourceSPIRV = 2, MultipleDevicesPerAdapter = 3, }
InstanceFlag ¶
InstanceFlag :: enum i32 { Debug, Validation, DiscardHalLabels, AllowUnderlyingNoncompliantAdapter, GPUBasedValidation, ValidationIndirectCall, AutomaticTimestampNormalization, Default = 24, Debugging, AdvancedDebugging, WithEnv, }
InstanceLimits ¶
InstanceLimits :: struct { nextInChain: ^ChainedStruct, timedWaitAnyMaxCount: uint, }
Limits ¶
Limits :: struct { nextInChain: ^ChainedStruct, maxTextureDimension1D: u32, maxTextureDimension2D: u32, maxTextureDimension3D: u32, maxTextureArrayLayers: u32, maxBindGroups: u32, maxBindGroupsPlusVertexBuffers: u32, maxBindingsPerBindGroup: u32, maxDynamicUniformBuffersPerPipelineLayout: u32, maxDynamicStorageBuffersPerPipelineLayout: u32, maxSampledTexturesPerShaderStage: u32, maxSamplersPerShaderStage: u32, maxStorageBuffersPerShaderStage: u32, maxStorageTexturesPerShaderStage: u32, maxUniformBuffersPerShaderStage: u32, maxUniformBufferBindingSize: u64, maxStorageBufferBindingSize: u64, minUniformBufferOffsetAlignment: u32, minStorageBufferOffsetAlignment: u32, maxVertexBuffers: u32, maxBufferSize: u64, maxVertexAttributes: u32, maxVertexBufferArrayStride: u32, maxInterStageShaderVariables: u32, maxColorAttachments: u32, maxColorAttachmentBytesPerSample: u32, maxComputeWorkgroupStorageSize: u32, maxComputeInvocationsPerWorkgroup: u32, maxComputeWorkgroupSizeX: u32, maxComputeWorkgroupSizeY: u32, maxComputeWorkgroupSizeZ: u32, maxComputeWorkgroupsPerDimension: u32, maxImmediateSize: u32, }
Related Procedures With Parameters
Related Procedures With Returns
LogLevel ¶
LogLevel :: enum i32 { Off, Error, Warn, Info, Debug, Trace, }
Related Procedures With Parameters
- ConvertWGPUToOdinLogLevel
- SetLogLevel
- ConvertLogLevel (procedure groups)
MapAsyncStatus ¶
MapAsyncStatus :: enum i32 { Success = 0x00000001, CallbackCancelled = 0x00000002, Error = 0x00000003, Aborted = 0x00000004, }
MipmapFilterMode ¶
MipmapFilterMode :: enum i32 { Undefined = 0x00000000, Nearest = 0x00000001, Linear = 0x00000002, }
MultisampleState ¶
MultisampleState :: struct { nextInChain: ^ChainedStruct, count: u32, mask: u32, alphaToCoverageEnabled: b32, }
NativeDisplayHandle ¶
NativeDisplayHandle :: struct { type: NativeDisplayHandleType, using data: struct #raw_union { xlib: XlibDisplayHandle, xcb: XcbDisplayHandle, wayland: WaylandDisplayHandle, }, }
NativeDisplayHandleType ¶
NativeDisplayHandleType :: enum i32 { None, Xlib, Xcb, Wayland, }
NativeLimits ¶
NativeLimits :: struct { using chain: ChainedStruct, maxNonSamplerBindings: u32, maxBindingArrayElementsPerShaderStage: u32, maxBindingArraySamplerElementsPerShaderStage: u32, maxMultiviewCount: u32, }
OptionalBool ¶
OptionalBool :: enum i32 { False = 0x00000000, True = 0x00000001, Undefined = 0x00000002, }
PassTimestampWrites ¶
PassTimestampWrites :: struct { nextInChain: ^ChainedStruct, querySet: QuerySet, beginningOfPassWriteIndex: u32, endOfPassWriteIndex: u32, }
PipelineLayout ¶
PipelineLayout :: distinct rawptr
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
Related Procedures With Parameters
PipelineLayoutDescriptor ¶
PipelineLayoutDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, bindGroupLayoutCount: uint, bindGroupLayouts: [^]BindGroupLayout `fmt:"v,bindGroupLayoutCount"`, immediateSize: u32, }
PipelineStatisticName ¶
PipelineStatisticName :: enum i32 { VertexShaderInvocations, ClipperInvocations, ClipperPrimitivesOut, FragmentShaderInvocations, ComputeShaderInvocations, }
PolygonMode ¶
PolygonMode :: enum i32 { Fill, Line, Point, }
PopErrorScopeCallback ¶
PopErrorScopeCallback :: proc "c" (status: PopErrorScopeStatus, type: ErrorType, message: string, userdata1: rawptr, userdata2: rawptr)
PopErrorScopeCallbackInfo ¶
PopErrorScopeCallbackInfo :: struct { nextInChain: ^ChainedStruct, mode: CallbackMode, callback: PopErrorScopeCallback, userdata1: rawptr, userdata2: rawptr, }
PopErrorScopeStatus ¶
PopErrorScopeStatus :: enum i32 { Success = 0x00000001, CallbackCancelled = 0x00000002, Error = 0x00000003, }
PowerPreference ¶
PowerPreference :: enum i32 { Undefined = 0x00000000, LowPower = 0x00000001, HighPerformance = 0x00000002, }
PredefinedColorSpace ¶
PredefinedColorSpace :: enum i32 { SRGB = 1, DisplayP3, }
PresentMode ¶
PresentMode :: enum i32 { Undefined = 0x00000000, Fifo = 0x00000001, FifoRelaxed = 0x00000002, Immediate = 0x00000003, Mailbox = 0x00000004, }
PrimitiveState ¶
PrimitiveState :: struct { nextInChain: ^ChainedStruct, topology: PrimitiveTopology, stripIndexFormat: IndexFormat, frontFace: FrontFace, cullMode: CullMode, unclippedDepth: b32, }
PrimitiveStateExtras ¶
PrimitiveStateExtras :: struct { using chain: ChainedStruct, polygonMode: PolygonMode, conservative: b32, }
PrimitiveTopology ¶
PrimitiveTopology :: enum i32 { Undefined = 0x00000000, PointList = 0x00000001, LineList = 0x00000002, LineStrip = 0x00000003, TriangleList = 0x00000004, TriangleStrip = 0x00000005, }
QuerySet ¶
QuerySet :: distinct rawptr
Related Procedures With Parameters
- CommandEncoderResolveQuerySet
- CommandEncoderWriteTimestamp
- ComputePassEncoderBeginPipelineStatisticsQuery
- ComputePassEncoderWriteTimestamp
- QuerySetAddRef
- QuerySetDestroy
- QuerySetGetCount
- QuerySetGetType
- QuerySetRelease
- QuerySetSetLabel
- RenderPassEncoderBeginPipelineStatisticsQuery
- RenderPassEncoderWriteTimestamp
QuerySetDescriptor ¶
QuerySetDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, type: QueryType, count: u32, }
QuerySetDescriptorExtras ¶
QuerySetDescriptorExtras :: struct { using chain: ChainedStruct, pipelineStatistics: [^]PipelineStatisticName `fmt:"v,pipelineStatisticCount"`, pipelineStatisticCount: uint, }
QueryType ¶
QueryType :: enum i32 { // WebGPU. Occlusion = 0x00000001, Timestamp = 0x00000002, // Native. PipelineStatistics = 0x00030000, }
Queue ¶
Queue :: distinct rawptr
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
QueueDescriptor ¶
QueueDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, }
QueueWorkDoneCallback ¶
QueueWorkDoneCallback :: proc "c" (status: QueueWorkDoneStatus, message: string, userdata1: rawptr, userdata2: rawptr)
QueueWorkDoneCallbackInfo ¶
QueueWorkDoneCallbackInfo :: struct { nextInChain: ^ChainedStruct, mode: CallbackMode, callback: QueueWorkDoneCallback, userdata1: rawptr, userdata2: rawptr, }
QueueWorkDoneStatus ¶
QueueWorkDoneStatus :: enum i32 { Success = 0x00000001, CallbackCancelled = 0x00000002, Error = 0x00000003, }
RenderBundleDescriptor ¶
RenderBundleDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, }
RenderBundleEncoder ¶
RenderBundleEncoder :: distinct rawptr
Related Procedures With Parameters
- RawRenderBundleEncoderSetBindGroup
- RenderBundleEncoderAddRef
- RenderBundleEncoderDraw
- RenderBundleEncoderDrawIndexed
- RenderBundleEncoderDrawIndexedIndirect
- RenderBundleEncoderDrawIndirect
- RenderBundleEncoderFinish
- RenderBundleEncoderInsertDebugMarker
- RenderBundleEncoderPopDebugGroup
- RenderBundleEncoderPushDebugGroup
- RenderBundleEncoderRelease
- RenderBundleEncoderSetBindGroup
- RenderBundleEncoderSetImmediates
- RenderBundleEncoderSetIndexBuffer
- RenderBundleEncoderSetLabel
- RenderBundleEncoderSetPipeline
- RenderBundleEncoderSetVertexBuffer
RenderBundleEncoderDescriptor ¶
RenderBundleEncoderDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, colorFormatCount: uint, colorFormats: [^]TextureFormat `fmt:"v,colorFormatCount"`, depthStencilFormat: TextureFormat, sampleCount: u32, depthReadOnly: b32, stencilReadOnly: b32, }
RenderPassColorAttachment ¶
RenderPassColorAttachment :: struct { nextInChain: ^ChainedStruct, view: TextureView, depthSlice: u32, resolveTarget: TextureView, loadOp: LoadOp, storeOp: StoreOp, clearValue: [4]f64, }
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
RenderPassDepthStencilAttachment ¶
RenderPassDepthStencilAttachment :: struct { nextInChain: ^ChainedStruct, view: TextureView, depthLoadOp: LoadOp, depthStoreOp: StoreOp, depthClearValue: f32, depthReadOnly: b32, stencilLoadOp: LoadOp, stencilStoreOp: StoreOp, stencilClearValue: u32, stencilReadOnly: b32, }
RenderPassDescriptor ¶
RenderPassDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, colorAttachmentCount: uint, colorAttachments: [^]RenderPassColorAttachment `fmt:"v,colorAttachmentCount"`, depthStencilAttachment: ^RenderPassDepthStencilAttachment, occlusionQuerySet: QuerySet, timestampWrites: ^PassTimestampWrites, }
RenderPassEncoder ¶
RenderPassEncoder :: distinct rawptr
External examples wgpu/microui
Related Procedures With Parameters
- RawRenderPassEncoderExecuteBundles
- RawRenderPassEncoderSetBindGroup
- RenderPassEncoderAddRef
- RenderPassEncoderBeginOcclusionQuery
- RenderPassEncoderBeginPipelineStatisticsQuery
- RenderPassEncoderDraw
- RenderPassEncoderDrawIndexed
- RenderPassEncoderDrawIndexedIndirect
- RenderPassEncoderDrawIndirect
- RenderPassEncoderEnd
- RenderPassEncoderEndOcclusionQuery
- RenderPassEncoderEndPipelineStatisticsQuery
- RenderPassEncoderExecuteBundles
- RenderPassEncoderInsertDebugMarker
- RenderPassEncoderMultiDrawIndexedIndirect
- RenderPassEncoderMultiDrawIndexedIndirectCount
- RenderPassEncoderMultiDrawIndirect
- RenderPassEncoderMultiDrawIndirectCount
- RenderPassEncoderPopDebugGroup
- RenderPassEncoderPushDebugGroup
- RenderPassEncoderRelease
- RenderPassEncoderSetBindGroup
- RenderPassEncoderSetBlendConstant
- RenderPassEncoderSetImmediates
- RenderPassEncoderSetIndexBuffer
- RenderPassEncoderSetLabel
- RenderPassEncoderSetPipeline
- RenderPassEncoderSetScissorRect
- RenderPassEncoderSetStencilReference
- RenderPassEncoderSetVertexBuffer
- RenderPassEncoderSetViewport
- RenderPassEncoderWriteTimestamp
RenderPassMaxDrawCount ¶
RenderPassMaxDrawCount :: struct { using chain: ChainedStruct, maxDrawCount: u64, }
RenderPipeline ¶
RenderPipeline :: distinct rawptr
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
Related Procedures With Parameters
RenderPipelineDescriptor ¶
RenderPipelineDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, layout: PipelineLayout, vertex: VertexState, primitive: PrimitiveState, depthStencil: ^DepthStencilState, multisample: MultisampleState, fragment: ^FragmentState, }
Related Procedures With Parameters
RequestAdapterCallback ¶
RequestAdapterCallback :: proc "c" (status: RequestAdapterStatus, adapter: Adapter, message: string, userdata1: rawptr, userdata2: rawptr)
RequestAdapterCallbackInfo ¶
RequestAdapterCallbackInfo :: struct { nextInChain: ^ChainedStruct, mode: CallbackMode, callback: RequestAdapterCallback, userdata1: rawptr, userdata2: rawptr, }
RequestAdapterOptions ¶
RequestAdapterOptions :: struct { nextInChain: ^ChainedStruct, featureLevel: FeatureLevel, powerPreference: PowerPreference, forceFallbackAdapter: b32, backendType: BackendType, compatibleSurface: Surface, }
RequestAdapterStatus ¶
RequestAdapterStatus :: enum i32 { Success = 0x00000001, CallbackCancelled = 0x00000002, Unavailable = 0x00000003, Error = 0x00000004, }
External examples wgpu/microui · wgpu/glfw-triangle · wgpu/sdl3-triangle
RequestAdapterWebXROptions ¶
RequestAdapterWebXROptions :: struct { using chain: ChainedStruct, xrCompatible: b32, }
Chained in a RequestAdapterOptions.
RequestDeviceCallback ¶
RequestDeviceCallback :: proc "c" (status: RequestDeviceStatus, adapter: Device, message: string, userdata1: rawptr, userdata2: rawptr)
RequestDeviceCallbackInfo ¶
RequestDeviceCallbackInfo :: struct { nextInChain: ^ChainedStruct, mode: CallbackMode, callback: RequestDeviceCallback, userdata1: rawptr, userdata2: rawptr, }
RequestDeviceStatus ¶
RequestDeviceStatus :: enum i32 { Success = 0x00000001, CallbackCancelled = 0x00000002, Error = 0x00000003, }
External examples wgpu/microui · wgpu/glfw-triangle · wgpu/sdl3-triangle
SType ¶
SType :: enum i32 { // WebGPU. ShaderSourceSPIRV = 0x00000001, ShaderSourceWGSL = 0x00000002, RenderPassMaxDrawCount = 0x00000003, SurfaceSourceMetalLayer = 0x00000004, SurfaceSourceWindowsHWND = 0x00000005, SurfaceSourceXlibWindow = 0x00000006, SurfaceSourceWaylandSurface = 0x00000007, SurfaceSourceAndroidNativeWindow = 0x00000008, SurfaceSourceXCBWindow = 0x00000009, SurfaceColorManagement = 0x0000000A, RequestAdapterWebXROptions = 0x0000000B, TextureComponentSwizzleDescriptor = 0x0000000C, ExternalTextureBindingLayout = 0x0000000D, ExternalTextureBindingEntry = 0x0000000E, CompatibilityModeLimits = 0x0000000F, TextureBindingViewDimension = 0x00000010, // Native. DeviceExtras = 0x00030001, NativeLimits, ShaderSourceGLSL, InstanceExtras, BindGroupEntryExtras, BindGroupLayoutEntryExtras, QuerySetDescriptorExtras, SurfaceConfigurationExtras, SurfaceSourceSwapChainPanel, PrimitiveStateExtras, SamplerDescriptorExtras, // Odin. SurfaceSourceCanvasHTMLSelector = 0x00040001, }
Sampler ¶
Sampler :: distinct rawptr
External examples wgpu/microui
Related Procedures With Parameters
SamplerBindingLayout ¶
SamplerBindingLayout :: struct { nextInChain: ^ChainedStruct, type: SamplerBindingType, }
SamplerBindingType ¶
SamplerBindingType :: enum i32 { BindingNotUsed = 0x00000000, Undefined = 0x00000001, Filtering = 0x00000002, NonFiltering = 0x00000003, Comparison = 0x00000004, }
SamplerBorderColor ¶
SamplerBorderColor :: enum i32 { Undefined, TransparentBlack, OpaqueBlack, OpaqueWhite, Zero, }
SamplerDescriptor ¶
SamplerDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, addressModeU: AddressMode, addressModeV: AddressMode, addressModeW: AddressMode, magFilter: FilterMode, minFilter: FilterMode, mipmapFilter: MipmapFilterMode, lodMinClamp: f32, lodMaxClamp: f32, compare: CompareFunction, maxAnisotropy: u16, }
SamplerDescriptorExtras ¶
SamplerDescriptorExtras :: struct { using chain: ChainedStruct, samplerBoderColor: SamplerBorderColor, }
ShaderModule ¶
ShaderModule :: distinct rawptr
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
Related Procedures With Parameters
Related Procedures With Returns
ShaderModuleDescriptor ¶
ShaderModuleDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, }
Related Procedures With Parameters
ShaderRuntimeCheck ¶
ShaderRuntimeCheck :: enum i32 { BoundsChecks, ForceLoopBounding, RayQueryInitializationTracking, TaskShaderDispatchTracking, MeshShaderPrimitiveIndicesClamp, }
ShaderRuntimeChecks ¶
ShaderRuntimeChecks :: bit_set[ShaderRuntimeCheck; u64]
ShaderSourceGLSL ¶
ShaderSourceGLSL :: struct { using chain: ChainedStruct, stage: ShaderStage, code: string, defineCount: uint, defines: [^]ShaderDefine `fmt:"v,defineCount"`, }
ShaderSourceSPIRV ¶
ShaderSourceSPIRV :: struct { using chain: ChainedStruct, codeSize: u32, code: [^]u32 `fmt:"v,codeSize"`, }
ShaderSourceWGSL ¶
ShaderSourceWGSL :: struct { using chain: ChainedStruct, code: string, }
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
ShaderStage ¶
ShaderStage :: enum i32 { Vertex = 0x00000000, Fragment = 0x00000001, Compute = 0x00000002, }
ShaderStageFlags ¶
ShaderStageFlags :: bit_set[ShaderStage; u64]
Status ¶
Status :: enum i32 { Success = 0x00000001, Error = 0x00000002, }
Related Procedures With Returns
StencilFaceState ¶
StencilFaceState :: struct { compare: CompareFunction, failOp: StencilOperation, depthFailOp: StencilOperation, passOp: StencilOperation, }
StencilOperation ¶
StencilOperation :: enum i32 { Undefined = 0x00000000, Keep = 0x00000001, Zero = 0x00000002, Replace = 0x00000003, Invert = 0x00000004, IncrementClamp = 0x00000005, DecrementClamp = 0x00000006, IncrementWrap = 0x00000007, DecrementWrap = 0x00000008, }
StorageTextureAccess ¶
StorageTextureAccess :: enum i32 { BindingNotUsed = 0x00000000, Undefined = 0x00000001, WriteOnly = 0x00000002, ReadOnly = 0x00000003, ReadWrite = 0x00000004, }
StorageTextureBindingLayout ¶
StorageTextureBindingLayout :: struct { nextInChain: ^ChainedStruct, access: StorageTextureAccess, format: TextureFormat, viewDimension: TextureViewDimension, }
StringView ¶
StringView :: string
Related Procedures With Parameters
- BindGroupSetLabel
- BufferSetLabel
- CommandBufferSetLabel
- CommandEncoderInsertDebugMarker
- CommandEncoderPushDebugGroup
- CommandEncoderSetLabel
- ComputePassEncoderInsertDebugMarker
- ComputePassEncoderPushDebugGroup
- ComputePassEncoderSetLabel
- ComputePipelineSetLabel
- DeviceSetLabel
- ExternalTextureSetLabel
- GetProcAddress
- PipelineLayoutSetLabel
- QuerySetSetLabel
- QueueSetLabel
- RenderBundleEncoderInsertDebugMarker
- RenderBundleEncoderPushDebugGroup
- RenderBundleEncoderSetLabel
- RenderBundleSetLabel
- RenderPassEncoderInsertDebugMarker
- RenderPassEncoderPushDebugGroup
- RenderPassEncoderSetLabel
- RenderPipelineSetLabel
- SamplerSetLabel
- ShaderModuleSetLabel
- SurfaceSetLabel
- TextureSetLabel
- TextureViewSetLabel
SupportedFeatures ¶
SupportedFeatures :: struct { featureCount: uint, features: [^]FeatureName `fmt:"v,featureCount"`, }
Related Procedures With Parameters
Related Procedures With Returns
SupportedInstanceFeatures ¶
SupportedInstanceFeatures :: struct { featureCount: uint, features: [^]InstanceFeatureName `fmt:"v,featureCount"`, }
Related Procedures With Parameters
SupportedWGSLLanguageFeatures ¶
SupportedWGSLLanguageFeatures :: struct { featureCount: uint, features: [^]WGSLLanguageFeatureName `fmt:"v,featureCount"`, }
Related Procedures With Parameters
Surface ¶
Surface :: distinct rawptr
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
SurfaceCapabilities ¶
SurfaceCapabilities :: struct { nextInChain: ^ChainedStruct, usages: bit_set[TextureUsage; u64], formatCount: uint, formats: [^]TextureFormat `fmt:"v,formatCount"`, presentModeCount: uint, presentModes: [^]PresentMode `fmt:"v,presentModeCount"`, alphaModeCount: uint, alphaModes: [^]CompositeAlphaMode `fmt:"v,alphaModeCount"`, }
Related Procedures With Parameters
SurfaceColorManagement ¶
SurfaceColorManagement :: struct { using chain: ChainedStruct, colorSpace: PredefinedColorSpace, toneMappingMode: ToneMappingMode, }
Chained in a SurfaceConfiguration.
SurfaceConfiguration ¶
SurfaceConfiguration :: struct { nextInChain: ^ChainedStruct, device: Device, format: TextureFormat, usage: bit_set[TextureUsage; u64], width: u32, height: u32, viewFormatCount: uint, viewFormats: [^]TextureFormat `fmt:"v,viewFormatCount"`, alphaMode: CompositeAlphaMode, presentMode: PresentMode, }
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
SurfaceConfigurationExtras ¶
SurfaceConfigurationExtras :: struct { using chain: ChainedStruct, desiredMaximumFrameLatency: u32, }
SurfaceDescriptor ¶
SurfaceDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, }
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
SurfaceGetCurrentTextureStatus ¶
SurfaceGetCurrentTextureStatus :: enum i32 { SuccessOptimal = 0x00000001, SuccessSuboptimal = 0x00000002, Timeout = 0x00000003, Outdated = 0x00000004, Lost = 0x00000005, Error = 0x00000006, // Native. Occluded = 0x00030001, }
SurfaceSourceAndroidNativeWindow ¶
SurfaceSourceAndroidNativeWindow :: struct { using chain: ChainedStruct, window: rawptr, }
Chained in a SurfaceDescriptor.
SurfaceSourceCanvasHTMLSelector ¶
SurfaceSourceCanvasHTMLSelector :: struct { using chain: ChainedStruct, selector: string, }
Chained in a SurfaceDescriptor.
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
SurfaceSourceMetalLayer ¶
SurfaceSourceMetalLayer :: struct { using chain: ChainedStruct, layer: rawptr, }
Chained in a SurfaceDescriptor.
SurfaceSourceSwapChainPanel ¶
SurfaceSourceSwapChainPanel :: struct { using chain: ChainedStruct, // * // * A pointer to the [[ ISwapChainPanelNative ; https://learn.microsoft.com/en-us/windows/windows-app-sdk/api/win32/microsoft.ui.xaml.media.dxinterop/nn-microsoft-ui-xaml-media-dxinterop-iswapchainpanelnative ]] // * interface of the `SwapChainPanel` that will be wrapped by the `Surface`. panelNative: rawptr, }
Chained in SurfaceDescriptor to make a Surface wrapping a WinUI SwapChainPanel.
SurfaceSourceWaylandSurface ¶
SurfaceSourceWaylandSurface :: struct { using chain: ChainedStruct, display: rawptr, surface: rawptr, }
Chained in a SurfaceDescriptor.
SurfaceSourceWindowsHWND ¶
SurfaceSourceWindowsHWND :: struct { using chain: ChainedStruct, hinstance: rawptr, hwnd: rawptr, }
Chained in a SurfaceDescriptor.
SurfaceSourceXcbWindow ¶
SurfaceSourceXcbWindow :: struct { using chain: ChainedStruct, connection: rawptr, window: u32, }
Chained in a SurfaceDescriptor.
SurfaceSourceXlibWindow ¶
SurfaceSourceXlibWindow :: struct { using chain: ChainedStruct, display: rawptr, window: u64, }
Chained in a SurfaceDescriptor.
SurfaceTexture ¶
SurfaceTexture :: struct { nextInChain: ^ChainedStruct, texture: Texture, status: SurfaceGetCurrentTextureStatus, }
External examples wgpu/microui
TexelCopyBufferInfo ¶
TexelCopyBufferInfo :: struct { layout: TexelCopyBufferLayout, buffer: Buffer, }
Related Procedures With Parameters
TexelCopyTextureInfo ¶
TexelCopyTextureInfo :: struct { texture: Texture, mipLevel: u32, origin: Origin3D, aspect: TextureAspect, }
Related Procedures With Parameters
Texture ¶
Texture :: distinct rawptr
External examples wgpu/microui
Related Procedures With Parameters
- CommandEncoderClearTexture
- TextureAddRef
- TextureCreateView
- TextureDestroy
- TextureGetDepthOrArrayLayers
- TextureGetDimension
- TextureGetFormat
- TextureGetHeight
- TextureGetMipLevelCount
- TextureGetSampleCount
- TextureGetTextureBindingViewDimension
- TextureGetUsage
- TextureGetWidth
- TextureRelease
- TextureSetLabel
TextureAspect ¶
TextureAspect :: enum i32 { Undefined = 0x00000000, All = 0x00000001, StencilOnly = 0x00000002, DepthOnly = 0x00000003, }
TextureBindingLayout ¶
TextureBindingLayout :: struct { nextInChain: ^ChainedStruct, sampleType: TextureSampleType, viewDimension: TextureViewDimension, multisampled: b32, }
TextureBindingViewDimension ¶
TextureBindingViewDimension :: struct { using chain: ChainedStruct, textureBindingViewDimension: TextureViewDimension, }
TextureComponentSwizzle ¶
TextureComponentSwizzle :: struct { r: ComponentSwizzle, g: ComponentSwizzle, b: ComponentSwizzle, a: ComponentSwizzle, }
TextureComponentSwizzleDescriptor ¶
TextureComponentSwizzleDescriptor :: struct { using chain: ChainedStruct, swizzle: TextureComponentSwizzle, }
Chained in a TextureViewDescriptor.
TextureDescriptor ¶
TextureDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, usage: bit_set[TextureUsage; u64], dimension: TextureDimension, size: Extent3D, format: TextureFormat, mipLevelCount: u32, sampleCount: u32, viewFormatCount: uint, viewFormats: [^]TextureFormat `fmt:"v,viewFormatCount"`, }
TextureDimension ¶
TextureDimension :: enum i32 { Undefined = 0x00000000, _1D = 0x00000001, _2D = 0x00000002, _3D = 0x00000003, }
TextureFormat ¶
TextureFormat :: enum i32 { Undefined = 0x00000000, R8Unorm = 0x00000001, R8Snorm = 0x00000002, R8Uint = 0x00000003, R8Sint = 0x00000004, R16Unorm = 0x00000005, R16Snorm = 0x00000006, R16Uint = 0x00000007, R16Sint = 0x00000008, R16Float = 0x00000009, RG8Unorm = 0x0000000A, RG8Snorm = 0x0000000B, RG8Uint = 0x0000000C, RG8Sint = 0x0000000D, R32Float = 0x0000000E, R32Uint = 0x0000000F, R32Sint = 0x00000010, RG16Unorm = 0x00000011, RG16Snorm = 0x00000012, RG16Uint = 0x00000013, RG16Sint = 0x00000014, RG16Float = 0x00000015, RGBA8Unorm = 0x00000016, RGBA8UnormSrgb = 0x00000017, RGBA8Snorm = 0x00000018, RGBA8Uint = 0x00000019, RGBA8Sint = 0x0000001A, BGRA8Unorm = 0x0000001B, BGRA8UnormSrgb = 0x0000001C, RGB10A2Uint = 0x0000001D, RGB10A2Unorm = 0x0000001E, RG11B10Ufloat = 0x0000001F, RGB9E5Ufloat = 0x00000020, RG32Float = 0x00000021, RG32Uint = 0x00000022, RG32Sint = 0x00000023, RGBA16Unorm = 0x00000024, RGBA16Snorm = 0x00000025, RGBA16Uint = 0x00000026, RGBA16Sint = 0x00000027, RGBA16Float = 0x00000028, RGBA32Float = 0x00000029, RGBA32Uint = 0x0000002A, RGBA32Sint = 0x0000002B, Stencil8 = 0x0000002C, Depth16Unorm = 0x0000002D, Depth24Plus = 0x0000002E, Depth24PlusStencil8 = 0x0000002F, Depth32Float = 0x00000030, Depth32FloatStencil8 = 0x00000031, BC1RGBAUnorm = 0x00000032, BC1RGBAUnormSrgb = 0x00000033, BC2RGBAUnorm = 0x00000034, BC2RGBAUnormSrgb = 0x00000035, BC3RGBAUnorm = 0x00000036, BC3RGBAUnormSrgb = 0x00000037, BC4RUnorm = 0x00000038, BC4RSnorm = 0x00000039, BC5RGUnorm = 0x0000003A, BC5RGSnorm = 0x0000003B, BC6HRGBUfloat = 0x0000003C, BC6HRGBFloat = 0x0000003D, BC7RGBAUnorm = 0x0000003E, BC7RGBAUnormSrgb = 0x0000003F, ETC2RGB8Unorm = 0x00000040, ETC2RGB8UnormSrgb = 0x00000041, ETC2RGB8A1Unorm = 0x00000042, ETC2RGB8A1UnormSrgb = 0x00000043, ETC2RGBA8Unorm = 0x00000044, ETC2RGBA8UnormSrgb = 0x00000045, EACR11Unorm = 0x00000046, EACR11Snorm = 0x00000047, EACRG11Unorm = 0x00000048, EACRG11Snorm = 0x00000049, ASTC4x4Unorm = 0x0000004A, ASTC4x4UnormSrgb = 0x0000004B, ASTC5x4Unorm = 0x0000004C, ASTC5x4UnormSrgb = 0x0000004D, ASTC5x5Unorm = 0x0000004E, ASTC5x5UnormSrgb = 0x0000004F, ASTC6x5Unorm = 0x00000050, ASTC6x5UnormSrgb = 0x00000051, ASTC6x6Unorm = 0x00000052, ASTC6x6UnormSrgb = 0x00000053, ASTC8x5Unorm = 0x00000054, ASTC8x5UnormSrgb = 0x00000055, ASTC8x6Unorm = 0x00000056, ASTC8x6UnormSrgb = 0x00000057, ASTC8x8Unorm = 0x00000058, ASTC8x8UnormSrgb = 0x00000059, ASTC10x5Unorm = 0x0000005A, ASTC10x5UnormSrgb = 0x0000005B, ASTC10x6Unorm = 0x0000005C, ASTC10x6UnormSrgb = 0x0000005D, ASTC10x8Unorm = 0x0000005E, ASTC10x8UnormSrgb = 0x0000005F, ASTC10x10Unorm = 0x00000060, ASTC10x10UnormSrgb = 0x00000061, ASTC12x10Unorm = 0x00000062, ASTC12x10UnormSrgb = 0x00000063, ASTC12x12Unorm = 0x00000064, ASTC12x12UnormSrgb = 0x00000065, NV12, P010, }
TextureSampleType ¶
TextureSampleType :: enum i32 { BindingNotUsed = 0x00000000, Undefined = 0x00000001, Float = 0x00000002, UnfilterableFloat = 0x00000003, Depth = 0x00000004, Sint = 0x00000005, Uint = 0x00000006, }
TextureUsage ¶
TextureUsage :: enum i32 { CopySrc, CopyDst, TextureBinding, StorageBinding, RenderAttachment, TransientAttachment, }
TextureUsageFlags ¶
TextureUsageFlags :: bit_set[TextureUsage; u64]
TextureView ¶
TextureView :: distinct rawptr
External examples wgpu/microui
Related Procedures With Parameters
TextureViewDescriptor ¶
TextureViewDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, format: TextureFormat, dimension: TextureViewDimension, baseMipLevel: u32, mipLevelCount: u32, baseArrayLayer: u32, arrayLayerCount: u32, aspect: TextureAspect, usage: bit_set[TextureUsage; u64], }
TextureViewDimension ¶
TextureViewDimension :: enum i32 { Undefined = 0x00000000, _1D = 0x00000001, _2D = 0x00000002, _2DArray = 0x00000003, Cube = 0x00000004, CubeArray = 0x00000005, _3D = 0x00000006, }
ToneMappingMode ¶
ToneMappingMode :: enum i32 { Standard = 1, Extended, }
UncapturedErrorCallbackInfo ¶
UncapturedErrorCallbackInfo :: struct { nextInChain: ^ChainedStruct, callback: UncapturedErrorCallback, userdata1: rawptr, userdata2: rawptr, }
VertexAttribute ¶
VertexAttribute :: struct { nextInChain: ^ChainedStruct, format: VertexFormat, offset: u64, shaderLocation: u32, }
External examples wgpu/microui
VertexBufferLayout ¶
VertexBufferLayout :: struct { nextInChain: ^ChainedStruct, stepMode: VertexStepMode, arrayStride: u64, attributeCount: uint, attributes: [^]VertexAttribute `fmt:"v,attributeCount"`, }
External examples wgpu/microui
VertexFormat ¶
VertexFormat :: enum i32 { Uint8 = 0x00000001, Uint8x2 = 0x00000002, Uint8x4 = 0x00000003, Sint8 = 0x00000004, Sint8x2 = 0x00000005, Sint8x4 = 0x00000006, Unorm8 = 0x00000007, Unorm8x2 = 0x00000008, Unorm8x4 = 0x00000009, Snorm8 = 0x0000000A, Snorm8x2 = 0x0000000B, Snorm8x4 = 0x0000000C, Uint16 = 0x0000000D, Uint16x2 = 0x0000000E, Uint16x4 = 0x0000000F, Sint16 = 0x00000010, Sint16x2 = 0x00000011, Sint16x4 = 0x00000012, Unorm16 = 0x00000013, Unorm16x2 = 0x00000014, Unorm16x4 = 0x00000015, Snorm16 = 0x00000016, Snorm16x2 = 0x00000017, Snorm16x4 = 0x00000018, Float16 = 0x00000019, Float16x2 = 0x0000001A, Float16x4 = 0x0000001B, Float32 = 0x0000001C, Float32x2 = 0x0000001D, Float32x3 = 0x0000001E, Float32x4 = 0x0000001F, Uint32 = 0x00000020, Uint32x2 = 0x00000021, Uint32x3 = 0x00000022, Uint32x4 = 0x00000023, Sint32 = 0x00000024, Sint32x2 = 0x00000025, Sint32x3 = 0x00000026, Sint32x4 = 0x00000027, Unorm10_10_10_2 = 0x00000028, Unorm8x4BGRA = 0x00000029, }
VertexState ¶
VertexState :: struct { nextInChain: ^ChainedStruct, module: ShaderModule, entryPoint: string, constantCount: uint, constants: [^]ConstantEntry `fmt:"v,constantCount"`, bufferCount: uint, buffers: [^]VertexBufferLayout `fmt:"v,bufferCount"`, }
VertexStepMode ¶
VertexStepMode :: enum i32 { Undefined = 0x00000000, Vertex = 0x00000001, Instance = 0x00000002, }
WGSLLanguageFeatureName ¶
WGSLLanguageFeatureName :: enum i32 { ReadonlyAndReadwriteStorageTextures = 0x00000001, Packed4x8IntegerDotProduct = 0x00000002, UnrestrictedPointerParameters = 0x00000003, PointerCompositeAccess = 0x00000004, UniformBufferStandardLayout = 0x00000005, SubgroupId = 0x00000006, TextureAndSamplerLet = 0x00000007, SubgroupUniformity = 0x00000008, TextureFormatsTier1 = 0x00000009, LinearIndexing = 0x0000000A, }
WaitStatus ¶
WaitStatus :: enum i32 { Success = 0x00000001, TimedOut = 0x00000002, Error = 0x00000003, }
WaylandDisplayHandle ¶
WaylandDisplayHandle :: struct { display: rawptr, }
Constants
ARRAY_LAYER_COUNT_UNDEFINED ¶
ARRAY_LAYER_COUNT_UNDEFINED: u32 : max(u32)
BINDINGS_VERSION ¶
BINDINGS_VERSION: [4]u8 : [4]u8{29, 0, 1, 1}
BINDINGS_VERSION_STRING ¶
BINDINGS_VERSION_STRING :: "29.0.1.1"
COPY_STRIDE_UNDEFINED ¶
COPY_STRIDE_UNDEFINED: u32 : max(u32)
ColorWriteMaskFlags_All ¶
ColorWriteMaskFlags_All: bit_set[ColorWriteMask; u64] : ColorWriteMaskFlags{.Red, .Green, .Blue, .Alpha}
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
DEPTH_SLICE_UNDEFINED ¶
DEPTH_SLICE_UNDEFINED: u32 : max(u32)
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
InstanceBackendFlags_All ¶
InstanceBackendFlags_All: bit_set[InstanceBackend; u64] : InstanceBackendFlags{}
InstanceBackendFlags_Primary ¶
InstanceBackendFlags_Primary: bit_set[InstanceBackend; u64] : InstanceBackendFlags{.Vulkan, .Metal, .DX12, .BrowserWebGPU}
InstanceBackendFlags_Secondary ¶
InstanceBackendFlags_Secondary: bit_set[InstanceBackend; u64] : InstanceBackendFlags{.GL}
InstanceFlags_Empty ¶
InstanceFlags_Empty: bit_set[InstanceFlag; u64] : InstanceFlags{}
LIMIT_U32_UNDEFINED ¶
LIMIT_U32_UNDEFINED: u32 : max(u32)
LIMIT_U64_UNDEFINED ¶
LIMIT_U64_UNDEFINED: u64 : max(u64)
MIP_LEVEL_COUNT_UNDEFINED ¶
MIP_LEVEL_COUNT_UNDEFINED: u32 : max(u32)
QUERY_SET_INDEX_UNDEFINED ¶
QUERY_SET_INDEX_UNDEFINED: u32 : max(u32)
WGPU_DEBUG ¶
WGPU_DEBUG :: #config(WGPU_DEBUG, false)
-define:WGPU_DEBUG=false
WGPU_SHARED ¶
WGPU_SHARED :: #config(WGPU_SHARED, false)
-define:WGPU_SHARED=false
WHOLE_MAP_SIZE ¶
WHOLE_MAP_SIZE: uint : max(uint)
WHOLE_SIZE ¶
WHOLE_SIZE: u64 : max(u64)
Variables
This section is empty.
Procedures
AdapterAddRef ¶C · wgpuAdapterAddRefSource · wgpu.odin:1600
AdapterAddRef :: proc "c" (adapter: Adapter) ---
AdapterGetFeatures ¶
AdapterGetFeatures :: proc "c" (adapter: Adapter) -> (features: SupportedFeatures) {…}
AdapterGetInfo ¶
AdapterGetInfo :: proc "c" (adapter: Adapter) -> (info: AdapterInfo, status: Status) {…}
AdapterHasFeature ¶C · wgpuAdapterHasFeatureSource · wgpu.odin:1598
AdapterHasFeature :: proc "c" (adapter: Adapter, feature: FeatureName) -> b32 ---
AdapterInfoFreeMembers ¶C · wgpuAdapterInfoFreeMembersSource · wgpu.odin:1604
AdapterInfoFreeMembers :: proc "c" (adapterInfo: AdapterInfo) ---
Procs of AdapterInfo
AdapterRelease ¶C · wgpuAdapterReleaseSource · wgpu.odin:1601
AdapterRelease :: proc "c" (adapter: Adapter) ---
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle
AdapterRequestDevice ¶C · wgpuAdapterRequestDeviceSource · wgpu.odin:1599
AdapterRequestDevice :: proc "c" ( adapter: Adapter, descriptor: ^DeviceDescriptor, callbackInfo: RequestDeviceCallbackInfo, ) -> Future ---
External examples wgpu/microui · wgpu/glfw-triangle · wgpu/sdl3-triangle
BindGroupAddRef ¶C · wgpuBindGroupAddRefSource · wgpu.odin:1608
BindGroupAddRef :: proc "c" (bindGroup: BindGroup) ---
BindGroupLayoutAddRef ¶C · wgpuBindGroupLayoutAddRefSource · wgpu.odin:1613
BindGroupLayoutAddRef :: proc "c" (bindGroupLayout: BindGroupLayout) ---
BindGroupLayoutRelease ¶C · wgpuBindGroupLayoutReleaseSource · wgpu.odin:1614
BindGroupLayoutRelease :: proc "c" (bindGroupLayout: BindGroupLayout) ---
BindGroupLayoutSetLabel ¶C · wgpuBindGroupLayoutSetLabelSource · wgpu.odin:1612
BindGroupLayoutSetLabel :: proc "c" (bindGroupLayout: BindGroupLayout, label: cstring) ---
Methods of BindGroupLayout
BindGroupRelease ¶C · wgpuBindGroupReleaseSource · wgpu.odin:1609
BindGroupRelease :: proc "c" (bindGroup: BindGroup) ---
BindGroupSetLabel ¶C · wgpuBindGroupSetLabelSource · wgpu.odin:1607
Methods of BindGroup
BufferAddRef ¶C · wgpuBufferAddRefSource · wgpu.odin:1630
BufferAddRef :: proc "c" (buffer: Buffer) ---
BufferDestroy ¶C · wgpuBufferDestroySource · wgpu.odin:1617
BufferDestroy :: proc "c" (buffer: Buffer) ---
Methods of Buffer
BufferGetMapState ¶C · wgpuBufferGetMapStateSource · wgpu.odin:1622
BufferGetMapState :: proc "c" (buffer: Buffer) -> BufferMapState ---
BufferGetSize ¶C · wgpuBufferGetSizeSource · wgpu.odin:1623
BufferGetUsage ¶C · wgpuBufferGetUsageSource · wgpu.odin:1624
BufferGetUsage :: proc "c" (buffer: Buffer) -> bit_set[BufferUsage; u64] ---
BufferMapAsync ¶C · wgpuBufferMapAsyncSource · wgpu.odin:1625
BufferReadMappedRange ¶C · wgpuBufferReadMappedRangeSource · wgpu.odin:1626
BufferRelease ¶C · wgpuBufferReleaseSource · wgpu.odin:1631
BufferRelease :: proc "c" (buffer: Buffer) ---
BufferSetLabel ¶C · wgpuBufferSetLabelSource · wgpu.odin:1627
BufferUnmap ¶C · wgpuBufferUnmapSource · wgpu.odin:1628
BufferUnmap :: proc "c" (buffer: Buffer) ---
BufferWriteMappedRange ¶C · wgpuBufferWriteMappedRangeSource · wgpu.odin:1629
CommandBufferAddRef ¶C · wgpuCommandBufferAddRefSource · wgpu.odin:1635
CommandBufferAddRef :: proc "c" (commandBuffer: CommandBuffer) ---
CommandBufferRelease ¶C · wgpuCommandBufferReleaseSource · wgpu.odin:1636
CommandBufferRelease :: proc "c" (commandBuffer: CommandBuffer) ---
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle · wgpu/microui
CommandBufferSetLabel ¶C · wgpuCommandBufferSetLabelSource · wgpu.odin:1634
CommandBufferSetLabel :: proc "c" (commandBuffer: CommandBuffer, label: string) ---
Methods of CommandBuffer
CommandEncoderAddRef ¶C · wgpuCommandEncoderAddRefSource · wgpu.odin:1653
CommandEncoderAddRef :: proc "c" (commandEncoder: CommandEncoder) ---
CommandEncoderBeginComputePass ¶C · wgpuCommandEncoderBeginComputePassSource · wgpu.odin:1639
CommandEncoderBeginComputePass :: proc "c" ( commandEncoder: CommandEncoder, descriptor: ^ComputePassDescriptor = nil, ) -> ComputePassEncoder ---
Methods of CommandEncoder
CommandEncoderBeginRenderPass ¶C · wgpuCommandEncoderBeginRenderPassSource · wgpu.odin:1640
CommandEncoderBeginRenderPass :: proc "c" ( commandEncoder: CommandEncoder, descriptor: ^RenderPassDescriptor, ) -> RenderPassEncoder ---
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
CommandEncoderClearBuffer ¶C · wgpuCommandEncoderClearBufferSource · wgpu.odin:1641
CommandEncoderClearBuffer :: proc "c" ( commandEncoder: CommandEncoder, buffer: Buffer, offset: u64, size: u64, ) ---
CommandEncoderClearTexture ¶C · wgpuCommandEncoderClearTextureSource · wgpu_native.odin:47
CommandEncoderClearTexture :: proc "c" ( commandEncoder: CommandEncoder, texture: Texture, range: ^ImageSubresourceRange = nil, ) ---
CommandEncoderCopyBufferToBuffer ¶C · wgpuCommandEncoderCopyBufferToBufferSource · wgpu.odin:1642
CommandEncoderCopyBufferToTexture ¶C · wgpuCommandEncoderCopyBufferToTextureSource · wgpu.odin:1643
CommandEncoderCopyBufferToTexture :: proc "c" ( commandEncoder: CommandEncoder, source: ^TexelCopyBufferInfo, destination: ^TexelCopyTextureInfo, copySize: ^Extent3D, ) ---
CommandEncoderCopyTextureToBuffer ¶C · wgpuCommandEncoderCopyTextureToBufferSource · wgpu.odin:1644
CommandEncoderCopyTextureToBuffer :: proc "c" ( commandEncoder: CommandEncoder, source: ^TexelCopyTextureInfo, destination: ^TexelCopyBufferInfo, copySize: ^Extent3D, ) ---
CommandEncoderCopyTextureToTexture ¶C · wgpuCommandEncoderCopyTextureToTextureSource · wgpu.odin:1645
CommandEncoderCopyTextureToTexture :: proc "c" ( commandEncoder: CommandEncoder, source: ^TexelCopyTextureInfo, destination: ^TexelCopyTextureInfo, copySize: ^Extent3D, ) ---
CommandEncoderFinish ¶C · wgpuCommandEncoderFinishSource · wgpu.odin:1646
CommandEncoderFinish :: proc "c" ( commandEncoder: CommandEncoder, descriptor: ^CommandBufferDescriptor = nil, ) -> CommandBuffer ---
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle · wgpu/microui
CommandEncoderInsertDebugMarker ¶C · wgpuCommandEncoderInsertDebugMarkerSource · wgpu.odin:1647
CommandEncoderInsertDebugMarker :: proc "c" ( commandEncoder: CommandEncoder, markerLabel: string, ) ---
CommandEncoderPopDebugGroup ¶C · wgpuCommandEncoderPopDebugGroupSource · wgpu.odin:1648
CommandEncoderPopDebugGroup :: proc "c" (commandEncoder: CommandEncoder) ---
CommandEncoderPushDebugGroup ¶C · wgpuCommandEncoderPushDebugGroupSource · wgpu.odin:1649
CommandEncoderPushDebugGroup :: proc "c" (commandEncoder: CommandEncoder, groupLabel: string) ---
CommandEncoderRelease ¶C · wgpuCommandEncoderReleaseSource · wgpu.odin:1654
CommandEncoderRelease :: proc "c" (commandEncoder: CommandEncoder) ---
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle · wgpu/microui
CommandEncoderResolveQuerySet ¶C · wgpuCommandEncoderResolveQuerySetSource · wgpu.odin:1650
CommandEncoderSetLabel ¶C · wgpuCommandEncoderSetLabelSource · wgpu.odin:1651
CommandEncoderSetLabel :: proc "c" (commandEncoder: CommandEncoder, label: string) ---
CommandEncoderWriteTimestamp ¶C · wgpuCommandEncoderWriteTimestampSource · wgpu.odin:1652
CommandEncoderWriteTimestamp :: proc "c" ( commandEncoder: CommandEncoder, querySet: QuerySet, queryIndex: u32, ) ---
ComputePassEncoderAddRef ¶C · wgpuComputePassEncoderAddRefSource · wgpu.odin:1668
ComputePassEncoderAddRef :: proc "c" (computePassEncoder: ComputePassEncoder) ---
ComputePassEncoderBeginPipelineStatisticsQuery ¶C · wgpuComputePassEncoderBeginPipelineStatisticsQuerySource · wgpu_native.odin:36
ComputePassEncoderBeginPipelineStatisticsQuery :: proc "c" ( computePassEncoder: ComputePassEncoder, querySet: QuerySet, queryIndex: u32, ) ---
ComputePassEncoderDispatchWorkgroups ¶C · wgpuComputePassEncoderDispatchWorkgroupsSource · wgpu.odin:1657
ComputePassEncoderDispatchWorkgroups :: proc "c" ( computePassEncoder: ComputePassEncoder, workgroupCountX: u32, workgroupCountY: u32, workgroupCountZ: u32, ) ---
Methods of ComputePassEncoder
ComputePassEncoderDispatchWorkgroupsIndirect ¶C · wgpuComputePassEncoderDispatchWorkgroupsIndirectSource · wgpu.odin:1658
ComputePassEncoderDispatchWorkgroupsIndirect :: proc "c" ( computePassEncoder: ComputePassEncoder, indirectBuffer: Buffer, indirectOffset: u64, ) ---
ComputePassEncoderEnd ¶C · wgpuComputePassEncoderEndSource · wgpu.odin:1659
ComputePassEncoderEnd :: proc "c" (computePassEncoder: ComputePassEncoder) ---
ComputePassEncoderEndPipelineStatisticsQuery ¶C · wgpuComputePassEncoderEndPipelineStatisticsQuerySource · wgpu_native.odin:37
ComputePassEncoderEndPipelineStatisticsQuery :: proc "c" (computePassEncoder: ComputePassEncoder) ---
ComputePassEncoderInsertDebugMarker ¶C · wgpuComputePassEncoderInsertDebugMarkerSource · wgpu.odin:1660
ComputePassEncoderInsertDebugMarker :: proc "c" ( computePassEncoder: ComputePassEncoder, markerLabel: string, ) ---
ComputePassEncoderPopDebugGroup ¶C · wgpuComputePassEncoderPopDebugGroupSource · wgpu.odin:1661
ComputePassEncoderPopDebugGroup :: proc "c" (computePassEncoder: ComputePassEncoder) ---
ComputePassEncoderPushDebugGroup ¶C · wgpuComputePassEncoderPushDebugGroupSource · wgpu.odin:1662
ComputePassEncoderPushDebugGroup :: proc "c" ( computePassEncoder: ComputePassEncoder, groupLabel: string, ) ---
ComputePassEncoderRelease ¶C · wgpuComputePassEncoderReleaseSource · wgpu.odin:1669
ComputePassEncoderRelease :: proc "c" (computePassEncoder: ComputePassEncoder) ---
ComputePassEncoderSetBindGroup ¶
ComputePassEncoderSetBindGroup :: proc "c" ( computePassEncoder: ComputePassEncoder, groupIndex: u32, group: BindGroup, dynamicOffsets: []u32 = nil, ) {…}
ComputePassEncoderSetImmediates ¶C · wgpuComputePassEncoderSetImmediatesSource · wgpu.odin:1665
ComputePassEncoderSetImmediates :: proc "c" ( computePassEncoder: ComputePassEncoder, offset: u32, data: rawptr, size: uint, ) ---
ComputePassEncoderSetLabel ¶C · wgpuComputePassEncoderSetLabelSource · wgpu.odin:1666
ComputePassEncoderSetLabel :: proc "c" (computePassEncoder: ComputePassEncoder, label: string) ---
ComputePassEncoderSetPipeline ¶C · wgpuComputePassEncoderSetPipelineSource · wgpu.odin:1667
ComputePassEncoderSetPipeline :: proc "c" ( computePassEncoder: ComputePassEncoder, pipeline: ComputePipeline, ) ---
ComputePassEncoderWriteTimestamp ¶C · wgpuComputePassEncoderWriteTimestampSource · wgpu_native.odin:41
ComputePassEncoderWriteTimestamp :: proc "c" ( computePassEncoder: ComputePassEncoder, querySet: QuerySet, queryIndex: u32, ) ---
ComputePipelineAddRef ¶C · wgpuComputePipelineAddRefSource · wgpu.odin:1674
ComputePipelineAddRef :: proc "c" (computePipeline: ComputePipeline) ---
ComputePipelineGetBindGroupLayout ¶C · wgpuComputePipelineGetBindGroupLayoutSource · wgpu.odin:1672
ComputePipelineGetBindGroupLayout :: proc "c" ( computePipeline: ComputePipeline, groupIndex: u32, ) -> BindGroupLayout ---
Methods of ComputePipeline
ComputePipelineRelease ¶C · wgpuComputePipelineReleaseSource · wgpu.odin:1675
ComputePipelineRelease :: proc "c" (computePipeline: ComputePipeline) ---
ComputePipelineSetLabel ¶C · wgpuComputePipelineSetLabelSource · wgpu.odin:1673
ComputePipelineSetLabel :: proc "c" (computePipeline: ComputePipeline, label: string) ---
ConvertOdinToWGPULogLevel ¶
ConvertOdinToWGPULogLevel :: proc(level: runtime.Logger_Level) -> LogLevel {…}
ConvertWGPUToOdinLogLevel ¶
ConvertWGPUToOdinLogLevel :: proc(level: LogLevel) -> runtime.Logger_Level {…}
CreateInstance ¶
CreateInstance :: proc "c" (descriptor: ^InstanceDescriptor = nil) -> Instance {…}
External examples wgpu/microui · wgpu/glfw-triangle · wgpu/sdl3-triangle
DeviceAddRef ¶C · wgpuDeviceAddRefSource · wgpu.odin:1705
DeviceAddRef :: proc "c" (device: Device) ---
DeviceCreateBindGroup ¶C · wgpuDeviceCreateBindGroupSource · wgpu.odin:1678
DeviceCreateBindGroup :: proc "c" ( device: Device, descriptor: ^BindGroupDescriptor, ) -> BindGroup ---
Methods of Device
External examples wgpu/microui
DeviceCreateBindGroupLayout ¶C · wgpuDeviceCreateBindGroupLayoutSource · wgpu.odin:1679
DeviceCreateBindGroupLayout :: proc "c" ( device: Device, descriptor: ^BindGroupLayoutDescriptor, ) -> BindGroupLayout ---
External examples wgpu/microui
DeviceCreateBuffer ¶C · wgpuDeviceCreateBufferSource · wgpu.odin:1680
DeviceCreateBuffer :: proc "c" (device: Device, descriptor: ^BufferDescriptor) -> Buffer ---
External examples wgpu/microui
DeviceCreateBufferWithDataSlice ¶
DeviceCreateBufferWithDataSlice :: proc "c" ( device: Device, descriptor: ^BufferWithDataDescriptor, data: []$T, ) -> (buf: Buffer) {…}
DeviceCreateBufferWithDataTyped ¶
DeviceCreateBufferWithDataTyped :: proc "c" ( device: Device, descriptor: ^BufferWithDataDescriptor, data: $T, ) -> (buf: Buffer) {…}
DeviceCreateCommandEncoder ¶C · wgpuDeviceCreateCommandEncoderSource · wgpu.odin:1681
DeviceCreateCommandEncoder :: proc "c" ( device: Device, descriptor: ^CommandEncoderDescriptor = nil, ) -> CommandEncoder ---
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
DeviceCreateComputePipeline ¶C · wgpuDeviceCreateComputePipelineSource · wgpu.odin:1682
DeviceCreateComputePipeline :: proc "c" ( device: Device, descriptor: ^ComputePipelineDescriptor, ) -> ComputePipeline ---
DeviceCreateComputePipelineAsync ¶C · wgpuDeviceCreateComputePipelineAsyncSource · wgpu.odin:1683
DeviceCreateComputePipelineAsync :: proc "c" ( device: Device, descriptor: ^ComputePipelineDescriptor, callbackInfo: CreateComputePipelineAsyncCallbackInfo, ) -> Future ---
DeviceCreatePipelineLayout ¶C · wgpuDeviceCreatePipelineLayoutSource · wgpu.odin:1684
DeviceCreatePipelineLayout :: proc "c" ( device: Device, descriptor: ^PipelineLayoutDescriptor, ) -> PipelineLayout ---
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
DeviceCreateQuerySet ¶C · wgpuDeviceCreateQuerySetSource · wgpu.odin:1685
DeviceCreateQuerySet :: proc "c" (device: Device, descriptor: ^QuerySetDescriptor) -> QuerySet ---
DeviceCreateRenderBundleEncoder ¶C · wgpuDeviceCreateRenderBundleEncoderSource · wgpu.odin:1686
DeviceCreateRenderBundleEncoder :: proc "c" ( device: Device, descriptor: ^RenderBundleEncoderDescriptor, ) -> RenderBundleEncoder ---
DeviceCreateRenderPipeline ¶C · wgpuDeviceCreateRenderPipelineSource · wgpu.odin:1687
DeviceCreateRenderPipeline :: proc "c" ( device: Device, descriptor: ^RenderPipelineDescriptor, ) -> RenderPipeline ---
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
DeviceCreateRenderPipelineAsync ¶C · wgpuDeviceCreateRenderPipelineAsyncSource · wgpu.odin:1688
DeviceCreateRenderPipelineAsync :: proc "c" ( device: Device, descriptor: ^RenderPipelineDescriptor, callbackInfo: CreateRenderPipelineAsyncCallbackInfo, ) -> Future ---
DeviceCreateSampler ¶C · wgpuDeviceCreateSamplerSource · wgpu.odin:1689
DeviceCreateSampler :: proc "c" ( device: Device, descriptor: ^SamplerDescriptor = nil, ) -> Sampler ---
External examples wgpu/microui
DeviceCreateShaderModule ¶C · wgpuDeviceCreateShaderModuleSource · wgpu.odin:1690
DeviceCreateShaderModule :: proc "c" ( device: Device, descriptor: ^ShaderModuleDescriptor, ) -> ShaderModule ---
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
DeviceCreateShaderModuleSpirV ¶C · wgpuDeviceCreateShaderModuleSpirVSource · wgpu_native.odin:18
DeviceCreateShaderModuleSpirV :: proc "c" ( device: Device, descriptor: ^ShaderModuleDescriptorSpirV, ) -> ShaderModule ---
DeviceCreateShaderModuleTrusted ¶C · wgpuDeviceCreateShaderModuleTrustedSource · wgpu_native.odin:49
DeviceCreateShaderModuleTrusted :: proc "c" ( device: Device, descriptor: ^ShaderModuleDescriptor, runtimeChecks: bit_set[ShaderRuntimeCheck; u64], ) -> ShaderModule ---
DeviceCreateTexture ¶C · wgpuDeviceCreateTextureSource · wgpu.odin:1691
DeviceCreateTexture :: proc "c" (device: Device, descriptor: ^TextureDescriptor) -> Texture ---
External examples wgpu/microui
DeviceDestroy ¶C · wgpuDeviceDestroySource · wgpu.odin:1692
DeviceDestroy :: proc "c" (device: Device) ---
DeviceGetAdapterInfo ¶
DeviceGetAdapterInfo :: proc "c" (device: Device) -> (info: AdapterInfo, status: Status) {…}
DeviceGetFeatures ¶
DeviceGetFeatures :: proc "c" (device: Device) -> (features: SupportedFeatures) {…}
DeviceGetLostFuture ¶C · wgpuDeviceGetLostFutureSource · wgpu.odin:1699
DeviceGetNativeMetalCommandQueue ¶C · wgpuDeviceGetNativeMetalCommandQueueSource · wgpu_native.odin:27
DeviceGetNativeMetalDevice ¶C · wgpuDeviceGetNativeMetalDeviceSource · wgpu_native.odin:26
DeviceGetNativeMetalTexture ¶C · wgpuDeviceGetNativeMetalTextureSource · wgpu_native.odin:28
DeviceGetQueue ¶C · wgpuDeviceGetQueueSource · wgpu.odin:1700
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
DeviceHasFeature ¶C · wgpuDeviceHasFeatureSource · wgpu.odin:1701
DeviceHasFeature :: proc "c" (device: Device, feature: FeatureName) -> b32 ---
DevicePoll ¶C · wgpuDevicePollSource · wgpu_native.odin:17
DevicePoll :: proc "c" ( device: Device, wait: b32, submissionIndex: ^SubmissionIndex = nil, ) -> b32 ---
Returns true if the queue is empty, or false if there are more queue submissions still in flight.
DevicePopErrorScope ¶C · wgpuDevicePopErrorScopeSource · wgpu.odin:1702
DevicePopErrorScope :: proc "c" ( device: Device, callbackInfo: PopErrorScopeCallbackInfo, ) -> Future ---
DevicePushErrorScope ¶C · wgpuDevicePushErrorScopeSource · wgpu.odin:1703
DevicePushErrorScope :: proc "c" (device: Device, filter: ErrorFilter) ---
DeviceRelease ¶C · wgpuDeviceReleaseSource · wgpu.odin:1706
DeviceRelease :: proc "c" (device: Device) ---
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle
DeviceSetLabel ¶C · wgpuDeviceSetLabelSource · wgpu.odin:1704
DeviceStartGraphicsDebuggerCapture ¶C · wgpuDeviceStartGraphicsDebuggerCaptureSource · wgpu_native.odin:44
DeviceStopGraphicsDebuggerCapture ¶C · wgpuDeviceStopGraphicsDebuggerCaptureSource · wgpu_native.odin:45
DeviceStopGraphicsDebuggerCapture :: proc "c" (device: Device) ---
ExternalTextureAddRef ¶C · wgpuExternalTextureAddRefSource · wgpu.odin:1710
ExternalTextureAddRef :: proc "c" (externalTexture: ExternalTexture) ---
ExternalTextureRelease ¶C · wgpuExternalTextureReleaseSource · wgpu.odin:1711
ExternalTextureRelease :: proc "c" (externalTexture: ExternalTexture) ---
ExternalTextureSetLabel ¶C · wgpuExternalTextureSetLabelSource · wgpu.odin:1709
ExternalTextureSetLabel :: proc "c" (externalTexture: ExternalTexture, label: string) ---
Methods of ExternalTexture
GenerateReport ¶
GenerateReport :: proc "c" (instance: Instance) -> (report: GlobalReport) {…}
GetInstanceFeatures ¶C · wgpuGetInstanceFeaturesSource · wgpu.odin:1585
GetInstanceFeatures :: proc "c" (features: ^SupportedInstanceFeatures) ---
GetInstanceLimits ¶
GetInstanceLimits :: proc "c" () -> (limits: InstanceLimits, status: Status) {…}
GetProcAddress ¶C · wgpuGetProcAddressSource · wgpu.odin:1589
GetVersion ¶C · wgpuGetVersionSource · wgpu_native.odin:24
GetVersion :: proc "c" () -> u32 ---
HasInstanceFeature ¶C · wgpuHasInstanceFeatureSource · wgpu.odin:1588
HasInstanceFeature :: proc "c" (feature: InstanceFeatureName) -> b32 ---
InstanceAddRef ¶C · wgpuInstanceAddRefSource · wgpu.odin:1720
InstanceAddRef :: proc "c" (instance: Instance) ---
InstanceCreateSurface ¶C · wgpuInstanceCreateSurfaceSource · wgpu.odin:1714
InstanceCreateSurface :: proc "c" ( instance: Instance, descriptor: ^SurfaceDescriptor, ) -> Surface ---
Methods of Instance
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
InstanceEnumerateAdapters ¶
InstanceEnumerateAdapters :: proc( instance: Instance, options: ^InstanceEnumerateAdapterOptions = nil, allocator := context.allocator, ) -> (adapters: []Adapter) {…}
InstanceGetWGSLLanguageFeatures ¶C · wgpuInstanceGetWGSLLanguageFeaturesSource · wgpu.odin:1715
InstanceGetWGSLLanguageFeatures :: proc "c" ( instance: Instance, features: ^SupportedWGSLLanguageFeatures, ) ---
InstanceHasWGSLLanguageFeature ¶C · wgpuInstanceHasWGSLLanguageFeatureSource · wgpu.odin:1716
InstanceHasWGSLLanguageFeature :: proc "c" ( instance: Instance, feature: WGSLLanguageFeatureName, ) -> b32 ---
InstanceProcessEvents ¶C · wgpuInstanceProcessEventsSource · wgpu.odin:1717
InstanceProcessEvents :: proc "c" (instance: Instance) ---
InstanceRelease ¶C · wgpuInstanceReleaseSource · wgpu.odin:1721
InstanceRelease :: proc "c" (instance: Instance) ---
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle
InstanceRequestAdapter ¶C · wgpuInstanceRequestAdapterSource · wgpu.odin:1718
InstanceRequestAdapter :: proc "c" ( instance: Instance, options: ^RequestAdapterOptions, callbackInfo: RequestAdapterCallbackInfo, ) -> Future ---
External examples wgpu/microui · wgpu/glfw-triangle · wgpu/sdl3-triangle
InstanceWaitAny ¶C · wgpuInstanceWaitAnySource · wgpu.odin:1719
InstanceWaitAny :: proc "c" ( instance: Instance, futureCount: uint, futures: [^]FutureWaitInfo, timeoutNS: u64, ) -> WaitStatus ---
PipelineLayoutAddRef ¶C · wgpuPipelineLayoutAddRefSource · wgpu.odin:1725
PipelineLayoutAddRef :: proc "c" (pipelineLayout: PipelineLayout) ---
PipelineLayoutRelease ¶C · wgpuPipelineLayoutReleaseSource · wgpu.odin:1726
PipelineLayoutRelease :: proc "c" (pipelineLayout: PipelineLayout) ---
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle
PipelineLayoutSetLabel ¶C · wgpuPipelineLayoutSetLabelSource · wgpu.odin:1724
PipelineLayoutSetLabel :: proc "c" (pipelineLayout: PipelineLayout, label: string) ---
Methods of PipelineLayout
QuerySetAddRef ¶C · wgpuQuerySetAddRefSource · wgpu.odin:1733
QuerySetAddRef :: proc "c" (querySet: QuerySet) ---
QuerySetDestroy ¶C · wgpuQuerySetDestroySource · wgpu.odin:1729
QuerySetDestroy :: proc "c" (querySet: QuerySet) ---
Methods of QuerySet
QuerySetGetCount ¶C · wgpuQuerySetGetCountSource · wgpu.odin:1730
QuerySetGetType ¶C · wgpuQuerySetGetTypeSource · wgpu.odin:1731
QuerySetRelease ¶C · wgpuQuerySetReleaseSource · wgpu.odin:1734
QuerySetRelease :: proc "c" (querySet: QuerySet) ---
QuerySetSetLabel ¶C · wgpuQuerySetSetLabelSource · wgpu.odin:1732
QueueAddRef ¶C · wgpuQueueAddRefSource · wgpu.odin:1743
QueueAddRef :: proc "c" (queue: Queue) ---
QueueGetTimestampPeriod ¶C · wgpuQueueGetTimestampPeriodSource · wgpu_native.odin:14
QueueOnSubmittedWorkDone ¶C · wgpuQueueOnSubmittedWorkDoneSource · wgpu.odin:1737
QueueOnSubmittedWorkDone :: proc "c" ( queue: Queue, callbackInfo: QueueWorkDoneCallbackInfo, ) -> Future ---
Methods of Queue
QueueRelease ¶C · wgpuQueueReleaseSource · wgpu.odin:1744
QueueRelease :: proc "c" (queue: Queue) ---
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle
QueueSetLabel ¶C · wgpuQueueSetLabelSource · wgpu.odin:1738
QueueSubmit ¶
QueueSubmit :: proc "c" (queue: Queue, commands: []CommandBuffer) {…}
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle · wgpu/microui
QueueSubmitForIndex ¶
QueueSubmitForIndex :: proc "c" (queue: Queue, commands: []CommandBuffer) -> SubmissionIndex {…}
QueueWriteBuffer ¶C · wgpuQueueWriteBufferSource · wgpu.odin:1741
QueueWriteBuffer :: proc "c" ( queue: Queue, buffer: Buffer, bufferOffset: u64, data: rawptr, size: uint, ) ---
External examples wgpu/microui
QueueWriteTexture ¶C · wgpuQueueWriteTextureSource · wgpu.odin:1742
QueueWriteTexture :: proc "c" ( queue: Queue, destination: ^TexelCopyTextureInfo, data: rawptr, dataSize: uint, dataLayout: ^TexelCopyBufferLayout, writeSize: ^Extent3D, ) ---
External examples wgpu/microui
RawAdapterGetFeatures ¶
@(link_name="wgpuAdapterGetFeatures") RawAdapterGetFeatures :: proc "c" (adapter: Adapter, features: ^SupportedFeatures) ---
Methods of Adapter
RawAdapterGetInfo ¶
@(link_name="wgpuAdapterGetInfo") RawAdapterGetInfo :: proc "c" (adapter: Adapter, info: ^AdapterInfo) -> Status ---
RawComputePassEncoderSetBindGroup ¶
@(link_name="wgpuComputePassEncoderSetBindGroup") RawComputePassEncoderSetBindGroup :: proc "c" ( computePassEncoder: ComputePassEncoder, groupIndex: u32, group: BindGroup, dynamicOffsetCount: uint, dynamicOffsets: [^]u32, ) ---
RawCreateInstance ¶
@(link_name="wgpuCreateInstance") RawCreateInstance :: proc "c" (descriptor: ^InstanceDescriptor = nil) -> Instance ---
RawDeviceGetAdapterInfo ¶
@(link_name="wgpuDeviceGetAdapterInfo") RawDeviceGetAdapterInfo :: proc "c" (device: Device, info: ^AdapterInfo) -> Status ---
RawDeviceGetFeatures ¶
@(link_name="wgpuDeviceGetFeatures") RawDeviceGetFeatures :: proc "c" (device: Device, features: ^SupportedFeatures) ---
RawGenerateReport ¶
@(link_name="wgpuGenerateReport") RawGenerateReport :: proc "c" (instance: Instance, report: ^GlobalReport) ---
RawGetInstanceLimits ¶
@(link_name="wgpuGetInstanceLimits") RawGetInstanceLimits :: proc "c" (limits: ^InstanceLimits) -> Status ---
RawInstanceEnumerateAdapters ¶
@(link_name="wgpuInstanceEnumerateAdapters") RawInstanceEnumerateAdapters :: proc "c" ( instance: Instance, options: ^InstanceEnumerateAdapterOptions, adapters: [^]Adapter, ) -> uint ---
RawQueueSubmit ¶
@(link_name="wgpuQueueSubmit") RawQueueSubmit :: proc "c" (queue: Queue, commandCount: uint, commands: [^]CommandBuffer) ---
RawQueueSubmitForIndex ¶
@(link_name="wgpuQueueSubmitForIndex") RawQueueSubmitForIndex :: proc "c" ( queue: Queue, commandCount: uint, commands: [^]CommandBuffer, ) -> SubmissionIndex ---
RawRenderBundleEncoderSetBindGroup ¶
@(link_name="wgpuRenderBundleEncoderSetBindGroup") RawRenderBundleEncoderSetBindGroup :: proc "c" ( renderBundleEncoder: RenderBundleEncoder, groupIndex: u32, group: BindGroup, dynamicOffsetCount: uint, dynamicOffsets: [^]u32, ) ---
RawRenderPassEncoderExecuteBundles ¶
@(link_name="wgpuRenderPassEncoderExecuteBundles") RawRenderPassEncoderExecuteBundles :: proc "c" ( renderPassEncoder: RenderPassEncoder, bundleCount: uint, bundles: [^]RenderBundle, ) ---
RawRenderPassEncoderSetBindGroup ¶
@(link_name="wgpuRenderPassEncoderSetBindGroup") RawRenderPassEncoderSetBindGroup :: proc "c" ( renderPassEncoder: RenderPassEncoder, groupIndex: u32, group: BindGroup, dynamicOffsetCount: uint, dynamicOffsets: [^]u32, ) ---
RawSurfaceGetCapabilities ¶
@(link_name="wgpuSurfaceGetCapabilities") RawSurfaceGetCapabilities :: proc "c" ( surface: Surface, adapter: Adapter, capabilities: ^SurfaceCapabilities, ) -> Status ---
RawSurfaceGetCurrentTexture ¶
@(link_name="wgpuSurfaceGetCurrentTexture") RawSurfaceGetCurrentTexture :: proc "c" (surface: Surface, surfaceTexture: ^SurfaceTexture) ---
RenderBundleAddRef ¶C · wgpuRenderBundleAddRefSource · wgpu.odin:1748
RenderBundleAddRef :: proc "c" (renderBundle: RenderBundle) ---
RenderBundleEncoderAddRef ¶C · wgpuRenderBundleEncoderAddRefSource · wgpu.odin:1767
RenderBundleEncoderAddRef :: proc "c" (renderBundleEncoder: RenderBundleEncoder) ---
RenderBundleEncoderDraw ¶C · wgpuRenderBundleEncoderDrawSource · wgpu.odin:1752
RenderBundleEncoderDraw :: proc "c" ( renderBundleEncoder: RenderBundleEncoder, vertexCount: u32, instanceCount: u32, firstVertex: u32, firstInstance: u32, ) ---
Methods of RenderBundleEncoder
RenderBundleEncoderDrawIndexed ¶C · wgpuRenderBundleEncoderDrawIndexedSource · wgpu.odin:1753
RenderBundleEncoderDrawIndexedIndirect ¶C · wgpuRenderBundleEncoderDrawIndexedIndirectSource · wgpu.odin:1754
RenderBundleEncoderDrawIndexedIndirect :: proc "c" ( renderBundleEncoder: RenderBundleEncoder, indirectBuffer: Buffer, indirectOffset: u64, ) ---
RenderBundleEncoderDrawIndirect ¶C · wgpuRenderBundleEncoderDrawIndirectSource · wgpu.odin:1755
RenderBundleEncoderDrawIndirect :: proc "c" ( renderBundleEncoder: RenderBundleEncoder, indirectBuffer: Buffer, indirectOffset: u64, ) ---
RenderBundleEncoderFinish ¶C · wgpuRenderBundleEncoderFinishSource · wgpu.odin:1756
RenderBundleEncoderFinish :: proc "c" ( renderBundleEncoder: RenderBundleEncoder, descriptor: ^RenderBundleDescriptor = nil, ) -> RenderBundle ---
RenderBundleEncoderInsertDebugMarker ¶C · wgpuRenderBundleEncoderInsertDebugMarkerSource · wgpu.odin:1757
RenderBundleEncoderInsertDebugMarker :: proc "c" ( renderBundleEncoder: RenderBundleEncoder, markerLabel: string, ) ---
RenderBundleEncoderPopDebugGroup ¶C · wgpuRenderBundleEncoderPopDebugGroupSource · wgpu.odin:1758
RenderBundleEncoderPopDebugGroup :: proc "c" (renderBundleEncoder: RenderBundleEncoder) ---
RenderBundleEncoderPushDebugGroup ¶C · wgpuRenderBundleEncoderPushDebugGroupSource · wgpu.odin:1759
RenderBundleEncoderPushDebugGroup :: proc "c" ( renderBundleEncoder: RenderBundleEncoder, groupLabel: string, ) ---
RenderBundleEncoderRelease ¶C · wgpuRenderBundleEncoderReleaseSource · wgpu.odin:1768
RenderBundleEncoderRelease :: proc "c" (renderBundleEncoder: RenderBundleEncoder) ---
RenderBundleEncoderSetBindGroup ¶
RenderBundleEncoderSetBindGroup :: proc "c" ( renderBundleEncoder: RenderBundleEncoder, groupIndex: u32, group: BindGroup, dynamicOffsets: []u32 = nil, ) {…}
RenderBundleEncoderSetImmediates ¶C · wgpuRenderBundleEncoderSetImmediatesSource · wgpu.odin:1762
RenderBundleEncoderSetImmediates :: proc "c" ( renderBundleEncoder: RenderBundleEncoder, offset: u32, data: rawptr, size: uint, ) ---
RenderBundleEncoderSetIndexBuffer ¶C · wgpuRenderBundleEncoderSetIndexBufferSource · wgpu.odin:1763
RenderBundleEncoderSetIndexBuffer :: proc "c" ( renderBundleEncoder: RenderBundleEncoder, buffer: Buffer, format: IndexFormat, offset: u64, size: u64, ) ---
RenderBundleEncoderSetLabel ¶C · wgpuRenderBundleEncoderSetLabelSource · wgpu.odin:1764
RenderBundleEncoderSetLabel :: proc "c" ( renderBundleEncoder: RenderBundleEncoder, label: string, ) ---
RenderBundleEncoderSetPipeline ¶C · wgpuRenderBundleEncoderSetPipelineSource · wgpu.odin:1765
RenderBundleEncoderSetPipeline :: proc "c" ( renderBundleEncoder: RenderBundleEncoder, pipeline: RenderPipeline, ) ---
RenderBundleEncoderSetVertexBuffer ¶C · wgpuRenderBundleEncoderSetVertexBufferSource · wgpu.odin:1766
RenderBundleEncoderSetVertexBuffer :: proc "c" ( renderBundleEncoder: RenderBundleEncoder, slot: u32, buffer: Buffer, offset: u64, size: u64, ) ---
RenderBundleRelease ¶C · wgpuRenderBundleReleaseSource · wgpu.odin:1749
RenderBundleRelease :: proc "c" (renderBundle: RenderBundle) ---
RenderBundleSetLabel ¶C · wgpuRenderBundleSetLabelSource · wgpu.odin:1747
RenderBundleSetLabel :: proc "c" (renderBundle: RenderBundle, label: string) ---
Methods of RenderBundle
RenderPassEncoderAddRef ¶C · wgpuRenderPassEncoderAddRefSource · wgpu.odin:1794
RenderPassEncoderAddRef :: proc "c" (renderPassEncoder: RenderPassEncoder) ---
RenderPassEncoderBeginOcclusionQuery ¶C · wgpuRenderPassEncoderBeginOcclusionQuerySource · wgpu.odin:1771
RenderPassEncoderBeginOcclusionQuery :: proc "c" ( renderPassEncoder: RenderPassEncoder, queryIndex: u32, ) ---
Methods of RenderPassEncoder
RenderPassEncoderBeginPipelineStatisticsQuery ¶C · wgpuRenderPassEncoderBeginPipelineStatisticsQuerySource · wgpu_native.odin:38
RenderPassEncoderBeginPipelineStatisticsQuery :: proc "c" ( renderPassEncoder: RenderPassEncoder, querySet: QuerySet, queryIndex: u32, ) ---
RenderPassEncoderDraw ¶C · wgpuRenderPassEncoderDrawSource · wgpu.odin:1772
RenderPassEncoderDraw :: proc "c" ( renderPassEncoder: RenderPassEncoder, vertexCount: u32, instanceCount: u32, firstVertex: u32, firstInstance: u32, ) ---
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle
RenderPassEncoderDrawIndexed ¶C · wgpuRenderPassEncoderDrawIndexedSource · wgpu.odin:1773
RenderPassEncoderDrawIndexed :: proc "c" ( renderPassEncoder: RenderPassEncoder, indexCount: u32, instanceCount: u32, firstIndex: u32, baseVertex: i32, firstInstance: u32, ) ---
External examples wgpu/microui
RenderPassEncoderDrawIndexedIndirect ¶C · wgpuRenderPassEncoderDrawIndexedIndirectSource · wgpu.odin:1774
RenderPassEncoderDrawIndexedIndirect :: proc "c" ( renderPassEncoder: RenderPassEncoder, indirectBuffer: Buffer, indirectOffset: u64, ) ---
RenderPassEncoderDrawIndirect ¶C · wgpuRenderPassEncoderDrawIndirectSource · wgpu.odin:1775
RenderPassEncoderDrawIndirect :: proc "c" ( renderPassEncoder: RenderPassEncoder, indirectBuffer: Buffer, indirectOffset: u64, ) ---
RenderPassEncoderEnd ¶C · wgpuRenderPassEncoderEndSource · wgpu.odin:1776
RenderPassEncoderEnd :: proc "c" (renderPassEncoder: RenderPassEncoder) ---
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle · wgpu/microui
RenderPassEncoderEndOcclusionQuery ¶C · wgpuRenderPassEncoderEndOcclusionQuerySource · wgpu.odin:1777
RenderPassEncoderEndOcclusionQuery :: proc "c" (renderPassEncoder: RenderPassEncoder) ---
RenderPassEncoderEndPipelineStatisticsQuery ¶C · wgpuRenderPassEncoderEndPipelineStatisticsQuerySource · wgpu_native.odin:39
RenderPassEncoderEndPipelineStatisticsQuery :: proc "c" (renderPassEncoder: RenderPassEncoder) ---
RenderPassEncoderExecuteBundles ¶
RenderPassEncoderExecuteBundles :: proc "c" ( renderPassEncoder: RenderPassEncoder, bundles: []RenderBundle, ) {…}
RenderPassEncoderInsertDebugMarker ¶C · wgpuRenderPassEncoderInsertDebugMarkerSource · wgpu.odin:1780
RenderPassEncoderInsertDebugMarker :: proc "c" ( renderPassEncoder: RenderPassEncoder, markerLabel: string, ) ---
RenderPassEncoderMultiDrawIndexedIndirect ¶C · wgpuRenderPassEncoderMultiDrawIndexedIndirectSource · wgpu_native.odin:31
RenderPassEncoderMultiDrawIndexedIndirect :: proc "c" ( encoder: RenderPassEncoder, buffer: Buffer, offset: u64, count: u32, ) ---
RenderPassEncoderMultiDrawIndexedIndirectCount ¶C · wgpuRenderPassEncoderMultiDrawIndexedIndirectCountSource · wgpu_native.odin:34
RenderPassEncoderMultiDrawIndirect ¶C · wgpuRenderPassEncoderMultiDrawIndirectSource · wgpu_native.odin:30
RenderPassEncoderMultiDrawIndirect :: proc "c" ( encoder: RenderPassEncoder, buffer: Buffer, offset: u64, count: u32, ) ---
RenderPassEncoderMultiDrawIndirectCount ¶C · wgpuRenderPassEncoderMultiDrawIndirectCountSource · wgpu_native.odin:33
RenderPassEncoderPopDebugGroup ¶C · wgpuRenderPassEncoderPopDebugGroupSource · wgpu.odin:1781
RenderPassEncoderPopDebugGroup :: proc "c" (renderPassEncoder: RenderPassEncoder) ---
RenderPassEncoderPushDebugGroup ¶C · wgpuRenderPassEncoderPushDebugGroupSource · wgpu.odin:1782
RenderPassEncoderPushDebugGroup :: proc "c" ( renderPassEncoder: RenderPassEncoder, groupLabel: string, ) ---
RenderPassEncoderRelease ¶C · wgpuRenderPassEncoderReleaseSource · wgpu.odin:1795
RenderPassEncoderRelease :: proc "c" (renderPassEncoder: RenderPassEncoder) ---
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle · wgpu/microui
RenderPassEncoderSetBindGroup ¶
RenderPassEncoderSetBindGroup :: proc "c" ( renderPassEncoder: RenderPassEncoder, groupIndex: u32, group: BindGroup, dynamicOffsets: []u32 = nil, ) {…}
External examples wgpu/microui
RenderPassEncoderSetBlendConstant ¶C · wgpuRenderPassEncoderSetBlendConstantSource · wgpu.odin:1786
RenderPassEncoderSetBlendConstant :: proc "c" ( renderPassEncoder: RenderPassEncoder, color: ^[4]f64, ) ---
RenderPassEncoderSetImmediates ¶C · wgpuRenderPassEncoderSetImmediatesSource · wgpu.odin:1785
RenderPassEncoderSetImmediates :: proc "c" ( renderPassEncoder: RenderPassEncoder, offset: u32, data: rawptr, size: uint, ) ---
RenderPassEncoderSetIndexBuffer ¶C · wgpuRenderPassEncoderSetIndexBufferSource · wgpu.odin:1787
RenderPassEncoderSetIndexBuffer :: proc "c" ( renderPassEncoder: RenderPassEncoder, buffer: Buffer, format: IndexFormat, offset: u64, size: u64, ) ---
External examples wgpu/microui
RenderPassEncoderSetLabel ¶C · wgpuRenderPassEncoderSetLabelSource · wgpu.odin:1788
RenderPassEncoderSetLabel :: proc "c" (renderPassEncoder: RenderPassEncoder, label: string) ---
RenderPassEncoderSetPipeline ¶C · wgpuRenderPassEncoderSetPipelineSource · wgpu.odin:1789
RenderPassEncoderSetPipeline :: proc "c" ( renderPassEncoder: RenderPassEncoder, pipeline: RenderPipeline, ) ---
External examples wgpu/microui · wgpu/glfw-triangle · wgpu/sdl3-triangle
RenderPassEncoderSetScissorRect ¶C · wgpuRenderPassEncoderSetScissorRectSource · wgpu.odin:1790
RenderPassEncoderSetScissorRect :: proc "c" ( renderPassEncoder: RenderPassEncoder, x: u32, y: u32, width: u32, height: u32, ) ---
External examples wgpu/microui
RenderPassEncoderSetStencilReference ¶C · wgpuRenderPassEncoderSetStencilReferenceSource · wgpu.odin:1791
RenderPassEncoderSetStencilReference :: proc "c" ( renderPassEncoder: RenderPassEncoder, reference: u32, ) ---
RenderPassEncoderSetVertexBuffer ¶C · wgpuRenderPassEncoderSetVertexBufferSource · wgpu.odin:1792
RenderPassEncoderSetVertexBuffer :: proc "c" ( renderPassEncoder: RenderPassEncoder, slot: u32, buffer: Buffer, offset: u64, size: u64, ) ---
External examples wgpu/microui
RenderPassEncoderSetViewport ¶C · wgpuRenderPassEncoderSetViewportSource · wgpu.odin:1793
RenderPassEncoderWriteTimestamp ¶C · wgpuRenderPassEncoderWriteTimestampSource · wgpu_native.odin:42
RenderPassEncoderWriteTimestamp :: proc "c" ( renderPassEncoder: RenderPassEncoder, querySet: QuerySet, queryIndex: u32, ) ---
RenderPipelineAddRef ¶C · wgpuRenderPipelineAddRefSource · wgpu.odin:1800
RenderPipelineAddRef :: proc "c" (renderPipeline: RenderPipeline) ---
RenderPipelineGetBindGroupLayout ¶C · wgpuRenderPipelineGetBindGroupLayoutSource · wgpu.odin:1798
RenderPipelineGetBindGroupLayout :: proc "c" ( renderPipeline: RenderPipeline, groupIndex: u32, ) -> BindGroupLayout ---
Methods of RenderPipeline
RenderPipelineRelease ¶C · wgpuRenderPipelineReleaseSource · wgpu.odin:1801
RenderPipelineRelease :: proc "c" (renderPipeline: RenderPipeline) ---
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle
RenderPipelineSetLabel ¶C · wgpuRenderPipelineSetLabelSource · wgpu.odin:1799
RenderPipelineSetLabel :: proc "c" (renderPipeline: RenderPipeline, label: string) ---
SamplerAddRef ¶C · wgpuSamplerAddRefSource · wgpu.odin:1805
SamplerAddRef :: proc "c" (sampler: Sampler) ---
SamplerRelease ¶C · wgpuSamplerReleaseSource · wgpu.odin:1806
SamplerRelease :: proc "c" (sampler: Sampler) ---
SamplerSetLabel ¶C · wgpuSamplerSetLabelSource · wgpu.odin:1804
Methods of Sampler
SetLogCallback ¶C · wgpuSetLogCallbackSource · wgpu_native.odin:20
SetLogCallback :: proc "c" (callback: LogCallback, userdata: rawptr) ---
SetLogLevel ¶C · wgpuSetLogLevelSource · wgpu_native.odin:22
SetLogLevel :: proc "c" (level: LogLevel) ---
ShaderModuleAddRef ¶C · wgpuShaderModuleAddRefSource · wgpu.odin:1811
ShaderModuleAddRef :: proc "c" (shaderModule: ShaderModule) ---
ShaderModuleGetCompilationInfo ¶C · wgpuShaderModuleGetCompilationInfoSource · wgpu.odin:1809
ShaderModuleGetCompilationInfo :: proc "c" ( shaderModule: ShaderModule, callbackInfo: CompilationInfoCallbackInfo, ) -> Future ---
Methods of ShaderModule
ShaderModuleRelease ¶C · wgpuShaderModuleReleaseSource · wgpu.odin:1812
ShaderModuleRelease :: proc "c" (shaderModule: ShaderModule) ---
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle
ShaderModuleSetLabel ¶C · wgpuShaderModuleSetLabelSource · wgpu.odin:1810
ShaderModuleSetLabel :: proc "c" (shaderModule: ShaderModule, label: string) ---
SupportedFeaturesFreeMembers ¶C · wgpuSupportedFeaturesFreeMembersSource · wgpu.odin:1815
SupportedFeaturesFreeMembers :: proc "c" (supportedFeatures: SupportedFeatures) ---
Methods of SupportedFeatures
SupportedInstanceFeaturesFreeMembers ¶C · wgpuSupportedInstanceFeaturesFreeMembersSource · wgpu.odin:1818
SupportedInstanceFeaturesFreeMembers :: proc "c" (SupportedInstanceFeatures: SupportedInstanceFeatures) ---
Methods of SupportedInstanceFeatures
SupportedWGSLLanguageFeaturesFreeMembers ¶C · wgpuSupportedWGSLLanguageFeaturesFreeMembersSource · wgpu.odin:1821
SupportedWGSLLanguageFeaturesFreeMembers :: proc "c" (supportedWGSLLanguageFeatures: SupportedWGSLLanguageFeatures) ---
Methods of SupportedWGSLLanguageFeatures
SurfaceAddRef ¶C · wgpuSurfaceAddRefSource · wgpu.odin:1832
SurfaceAddRef :: proc "c" (surface: Surface) ---
SurfaceCapabilitiesFreeMembers ¶C · wgpuSurfaceCapabilitiesFreeMembersSource · wgpu.odin:1836
SurfaceCapabilitiesFreeMembers :: proc "c" (surfaceCapabilities: SurfaceCapabilities) ---
Methods of SurfaceCapabilities
SurfaceConfigure ¶C · wgpuSurfaceConfigureSource · wgpu.odin:1824
SurfaceConfigure :: proc "c" (surface: Surface, config: ^SurfaceConfiguration) ---
Methods of Surface
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle · wgpu/microui
SurfaceGetCapabilities ¶
SurfaceGetCapabilities :: proc "c" ( surface: Surface, adapter: Adapter, ) -> (capabilities: SurfaceCapabilities, status: Status) {…}
SurfaceGetCurrentTexture ¶
SurfaceGetCurrentTexture :: proc "c" (surface: Surface) -> (surface_texture: SurfaceTexture) {…}
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle · wgpu/microui
SurfacePresent ¶C · wgpuSurfacePresentSource · wgpu.odin:1829
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle · wgpu/microui
SurfaceRelease ¶C · wgpuSurfaceReleaseSource · wgpu.odin:1833
SurfaceRelease :: proc "c" (surface: Surface) ---
External examples wgpu/glfw-triangle · wgpu/sdl3-triangle
SurfaceSetLabel ¶C · wgpuSurfaceSetLabelSource · wgpu.odin:1830
SurfaceUnconfigure ¶C · wgpuSurfaceUnconfigureSource · wgpu.odin:1831
SurfaceUnconfigure :: proc "c" (surface: Surface) ---
TextureAddRef ¶C · wgpuTextureAddRefSource · wgpu.odin:1851
TextureAddRef :: proc "c" (texture: Texture) ---
TextureCreateView ¶C · wgpuTextureCreateViewSource · wgpu.odin:1839
TextureCreateView :: proc "c" ( texture: Texture, descriptor: ^TextureViewDescriptor = nil, ) -> TextureView ---
Methods of Texture
External examples wgpu/glfw-triangle · wgpu/microui · wgpu/sdl3-triangle
TextureDestroy ¶C · wgpuTextureDestroySource · wgpu.odin:1840
TextureDestroy :: proc "c" (texture: Texture) ---
TextureGetDepthOrArrayLayers ¶C · wgpuTextureGetDepthOrArrayLayersSource · wgpu.odin:1841
TextureGetDimension ¶C · wgpuTextureGetDimensionSource · wgpu.odin:1842
TextureGetDimension :: proc "c" (texture: Texture) -> TextureDimension ---
TextureGetFormat ¶C · wgpuTextureGetFormatSource · wgpu.odin:1843
TextureGetFormat :: proc "c" (texture: Texture) -> TextureFormat ---
TextureGetHeight ¶C · wgpuTextureGetHeightSource · wgpu.odin:1844
TextureGetMipLevelCount ¶C · wgpuTextureGetMipLevelCountSource · wgpu.odin:1845
TextureGetSampleCount ¶C · wgpuTextureGetSampleCountSource · wgpu.odin:1846
TextureGetTextureBindingViewDimension ¶C · wgpuTextureGetTextureBindingViewDimensionSource · wgpu.odin:1847
TextureGetTextureBindingViewDimension :: proc "c" (texture: Texture) -> TextureViewDimension ---
TextureGetUsage ¶C · wgpuTextureGetUsageSource · wgpu.odin:1848
TextureGetUsage :: proc "c" (texture: Texture) -> bit_set[TextureUsage; u64] ---
TextureGetWidth ¶C · wgpuTextureGetWidthSource · wgpu.odin:1849
TextureRelease ¶C · wgpuTextureReleaseSource · wgpu.odin:1852
TextureRelease :: proc "c" (texture: Texture) ---
External examples wgpu/microui · wgpu/glfw-triangle · wgpu/sdl3-triangle
TextureSetLabel ¶C · wgpuTextureSetLabelSource · wgpu.odin:1850
TextureViewAddRef ¶C · wgpuTextureViewAddRefSource · wgpu.odin:1856
TextureViewAddRef :: proc "c" (textureView: TextureView) ---
TextureViewRelease ¶C · wgpuTextureViewReleaseSource · wgpu.odin:1857
TextureViewRelease :: proc "c" (textureView: TextureView) ---
External examples wgpu/microui · wgpu/glfw-triangle · wgpu/sdl3-triangle
TextureViewSetLabel ¶C · wgpuTextureViewSetLabelSource · wgpu.odin:1855
TextureViewSetLabel :: proc "c" (textureView: TextureView, label: string) ---
Methods of TextureView
Procedure Groups
ConvertLogLevel ¶
ConvertLogLevel :: proc{ ConvertOdinToWGPULogLevel, ConvertWGPUToOdinLogLevel, }
DeviceCreateBufferWithData ¶
DeviceCreateBufferWithData :: proc{ DeviceCreateBufferWithDataSlice, DeviceCreateBufferWithDataTyped, }
`#config` values
- WGPU_DEBUG
-define:WGPU_DEBUG=false - WGPU_SHARED
-define:WGPU_SHARED=false
Only on JS 1
Declared only when building for JS; the rest of this page is from a Windows build.
g_context ¶
g_context: runtime.Context
Source Files
Generation Information
Generated with odin version dev-2026-10 (vendor "odin") Windows_amd64 @ 2026-10-24 22:50:18.968251400 +0000 UTC