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 v24.0.0.2 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.
Index
Types (207)
- Adapter
- AdapterInfo
- AdapterType
- AddressMode
- BackendType
- BindGroup
- BindGroupDescriptor
- BindGroupEntry
- BindGroupEntryExtras
- BindGroupLayout
- BindGroupLayoutDescriptor
- BindGroupLayoutEntry
- BindGroupLayoutEntryExtras
- BlendComponent
- BlendFactor
- BlendOperation
- BlendState
- Buffer
- BufferBindingLayout
- BufferBindingType
- BufferDescriptor
- BufferMapCallback
- BufferMapCallbackInfo
- BufferMapState
- BufferUsage
- BufferUsageFlags
- BufferWithDataDescriptor
- CallbackMode
- ChainedStruct
- ChainedStructOut
- Color
- ColorTargetState
- ColorWriteMask
- ColorWriteMaskFlags
- CommandBuffer
- CommandBufferDescriptor
- CommandEncoder
- CommandEncoderDescriptor
- CompareFunction
- CompilationInfo
- CompilationInfoCallback
- CompilationInfoCallbackInfo
- CompilationInfoRequestStatus
- CompilationMessage
- CompilationMessageType
- CompositeAlphaMode
- ComputePassDescriptor
- ComputePassEncoder
- ComputePassTimestampWrites
- ComputePipeline
- ComputePipelineDescriptor
- ConstantEntry
- CreateComputePipelineAsyncCallback
- CreateComputePipelineAsyncCallbackInfo
- CreatePipelineAsyncStatus
- CreateRenderPipelineAsyncCallback
- CreateRenderPipelineAsyncCallbackInfo
- CullMode
- DepthStencilState
- Device
- DeviceDescriptor
- DeviceExtras
- DeviceLostCallback
- DeviceLostCallbackInfo
- DeviceLostReason
- Dx12Compiler
- ErrorFilter
- ErrorType
- Extent3D
- FeatureLevel
- FeatureName
- FilterMode
- Flags
- FragmentState
- FrontFace
- Future
- FutureWaitInfo
- Gles3MinorVersion
- GlobalReport
- HubReport
- IndexFormat
- Instance
- InstanceBackend
- InstanceBackendFlags
- InstanceCapabilities
- InstanceDescriptor
- InstanceEnumerateAdapterOptions
- InstanceExtras
- InstanceFlag
- InstanceFlags
- Limits
- LoadOp
- LogCallback
- LogLevel
- MapAsyncStatus
- MapMode
- MapModeFlags
- MipmapFilterMode
- MultisampleState
- NativeLimits
- OptionalBool
- Origin3D
- PipelineLayout
- PipelineLayoutDescriptor
- PipelineLayoutExtras
- PipelineStatisticName
- PopErrorScopeCallback
- PopErrorScopeCallbackInfo
- PopErrorScopeStatus
- PowerPreference
- PresentMode
- PrimitiveState
- PrimitiveTopology
- Proc
- ProgrammableStageDescriptor
- PushConstantRange
- QuerySet
- QuerySetDescriptor
- QuerySetDescriptorExtras
- QueryType
- Queue
- QueueDescriptor
- QueueWorkDoneCallback
- QueueWorkDoneCallbackInfo
- QueueWorkDoneStatus
- RegistryReport
- RenderBundle
- RenderBundleDescriptor
- RenderBundleEncoder
- RenderBundleEncoderDescriptor
- RenderPassColorAttachment
- RenderPassDepthStencilAttachment
- RenderPassDescriptor
- RenderPassEncoder
- RenderPassMaxDrawCount
- RenderPassTimestampWrites
- RenderPipeline
- RenderPipelineDescriptor
- RequestAdapterCallback
- RequestAdapterCallbackInfo
- RequestAdapterOptions
- RequestAdapterStatus
- RequestDeviceCallback
- RequestDeviceCallbackInfo
- RequestDeviceStatus
- SType
- Sampler
- SamplerBindingLayout
- SamplerBindingType
- SamplerDescriptor
- ShaderDefine
- ShaderModule
- ShaderModuleDescriptor
- ShaderModuleDescriptorSpirV
- ShaderModuleGLSLDescriptor
- ShaderSourceSPIRV
- ShaderSourceWGSL
- ShaderStage
- ShaderStageFlags
- Status
- StencilFaceState
- StencilOperation
- StorageTextureAccess
- StorageTextureBindingLayout
- StoreOp
- StringView
- SubmissionIndex
- SupportedFeatures
- SupportedWGSLLanguageFeatures
- Surface
- SurfaceCapabilities
- SurfaceConfiguration
- SurfaceConfigurationExtras
- SurfaceDescriptor
- SurfaceGetCurrentTextureStatus
- SurfaceSourceAndroidNativeWindow
- SurfaceSourceCanvasHTMLSelector
- SurfaceSourceMetalLayer
- SurfaceSourceWaylandSurface
- SurfaceSourceWindowsHWND
- SurfaceSourceXcbWindow
- SurfaceSourceXlibWindow
- SurfaceTexture
- TexelCopyBufferInfo
- TexelCopyBufferLayout
- TexelCopyTextureInfo
- Texture
- TextureAspect
- TextureBindingLayout
- TextureDescriptor
- TextureDimension
- TextureFormat
- TextureSampleType
- TextureUsage
- TextureUsageFlags
- TextureView
- TextureViewDescriptor
- TextureViewDimension
- UncapturedErrorCallback
- UncapturedErrorCallbackInfo
- VertexAttribute
- VertexBufferLayout
- VertexFormat
- VertexState
- VertexStepMode
- WGSLLanguageFeatureName
- WaitStatus
Constants (19)
- ARRAY_LAYER_COUNT_UNDEFINED
- BINDINGS_VERSION
- BINDINGS_VERSION_STRING
- COPY_STRIDE_UNDEFINED
- ColorWriteMaskFlags_All
- DEPTH_SLICE_UNDEFINED
- InstanceBackendFlags_All
- InstanceBackendFlags_Primary
- InstanceBackendFlags_Secondary
- InstanceFlags_Default
- 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 (240)
- 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
- BufferRelease
- BufferSetLabel
- BufferUnmap
- CommandBufferAddRef
- CommandBufferRelease
- CommandBufferSetLabel
- CommandEncoderAddRef
- CommandEncoderBeginComputePass
- CommandEncoderBeginRenderPass
- CommandEncoderClearBuffer
- CommandEncoderCopyBufferToBuffer
- CommandEncoderCopyBufferToTexture
- CommandEncoderCopyTextureToBuffer
- CommandEncoderCopyTextureToTexture
- CommandEncoderFinish
- CommandEncoderInsertDebugMarker
- CommandEncoderPopDebugGroup
- CommandEncoderPushDebugGroup
- CommandEncoderRelease
- CommandEncoderResolveQuerySet
- CommandEncoderSetLabel
- CommandEncoderWriteTimestamp
- ComputePassEncoderAddRef
- ComputePassEncoderBeginPipelineStatisticsQuery
- ComputePassEncoderDispatchWorkgroups
- ComputePassEncoderDispatchWorkgroupsIndirect
- ComputePassEncoderEnd
- ComputePassEncoderEndPipelineStatisticsQuery
- ComputePassEncoderInsertDebugMarker
- ComputePassEncoderPopDebugGroup
- ComputePassEncoderPushDebugGroup
- ComputePassEncoderRelease
- ComputePassEncoderSetBindGroup
- ComputePassEncoderSetLabel
- ComputePassEncoderSetPipeline
- ComputePassEncoderSetPushConstants
- 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
- DeviceCreateTexture
- DeviceDestroy
- DeviceGetAdapterInfo
- DeviceGetFeatures
- DeviceGetLimits
- DeviceGetLostFuture
- DeviceGetQueue
- DeviceHasFeature
- DevicePoll
- DevicePopErrorScope
- DevicePushErrorScope
- DeviceRelease
- DeviceSetLabel
- GenerateReport
- GetInstanceCapabilities
- GetProcAddress
- GetVersion
- InstanceAddRef
- InstanceCreateSurface
- InstanceEnumerateAdapters
- InstanceGetWGSLLanguageFeatures
- InstanceHasWGSLLanguageFeature
- InstanceProcessEvents
- InstanceRelease
- InstanceRequestAdapter
- InstanceWaitAny
- PipelineLayoutAddRef
- PipelineLayoutRelease
- PipelineLayoutSetLabel
- QuerySetAddRef
- QuerySetDestroy
- QuerySetGetCount
- QuerySetGetType
- QuerySetRelease
- QuerySetSetLabel
- QueueAddRef
- QueueOnSubmittedWorkDone
- QueueRelease
- QueueSetLabel
- QueueSubmit
- QueueSubmitForIndex
- QueueWriteBuffer
- QueueWriteTexture
- RawAdapterGetFeatures
- RawAdapterGetInfo
- RawAdapterGetLimits
- RawBufferGetConstMappedRange
- RawBufferGetMappedRange
- RawComputePassEncoderSetBindGroup
- RawCreateInstance
- RawDeviceGetAdapterInfo
- RawDeviceGetFeatures
- RawDeviceGetLimits
- RawGenerateReport
- RawGetInstanceCapabilities
- RawInstanceEnumerateAdapters
- RawInstanceGetWGSLLanguageFeatures
- RawQueueSubmit
- RawQueueSubmitForIndex
- RawRenderBundleEncoderSetBindGroup
- RawRenderPassEncoderExecuteBundles
- RawRenderPassEncoderSetBindGroup
- RawSurfaceGetCapabilities
- RawSurfaceGetCurrentTexture
- RenderBundleAddRef
- RenderBundleEncoderAddRef
- RenderBundleEncoderDraw
- RenderBundleEncoderDrawIndexed
- RenderBundleEncoderDrawIndexedIndirect
- RenderBundleEncoderDrawIndirect
- RenderBundleEncoderFinish
- RenderBundleEncoderInsertDebugMarker
- RenderBundleEncoderPopDebugGroup
- RenderBundleEncoderPushDebugGroup
- RenderBundleEncoderRelease
- RenderBundleEncoderSetBindGroup
- RenderBundleEncoderSetIndexBuffer
- RenderBundleEncoderSetLabel
- RenderBundleEncoderSetPipeline
- RenderBundleEncoderSetPushConstants
- RenderBundleEncoderSetVertexBuffer
- RenderBundleRelease
- RenderBundleSetLabel
- RenderPassEncoderAddRef
- RenderPassEncoderBeginOcclusionQuery
- RenderPassEncoderBeginPipelineStatisticsQuery
- RenderPassEncoderDraw
- RenderPassEncoderDrawIndexed
- RenderPassEncoderDrawIndexedIndirect
- RenderPassEncoderDrawIndirect
- RenderPassEncoderEnd
- RenderPassEncoderEndOcclusionQuery
- RenderPassEncoderEndPipelineStatisticsQuery
- RenderPassEncoderExecuteBundles
- RenderPassEncoderInsertDebugMarker
- RenderPassEncoderMultiDrawIndexedIndirect
- RenderPassEncoderMultiDrawIndexedIndirectCount
- RenderPassEncoderMultiDrawIndirect
- RenderPassEncoderMultiDrawIndirectCount
- RenderPassEncoderPopDebugGroup
- RenderPassEncoderPushDebugGroup
- RenderPassEncoderRelease
- RenderPassEncoderSetBindGroup
- RenderPassEncoderSetBlendConstant
- RenderPassEncoderSetIndexBuffer
- RenderPassEncoderSetLabel
- RenderPassEncoderSetPipeline
- RenderPassEncoderSetPushConstants
- RenderPassEncoderSetScissorRect
- RenderPassEncoderSetStencilReference
- RenderPassEncoderSetVertexBuffer
- RenderPassEncoderSetViewport
- RenderPassEncoderWriteTimestamp
- RenderPipelineAddRef
- RenderPipelineGetBindGroupLayout
- RenderPipelineRelease
- RenderPipelineSetLabel
- SamplerAddRef
- SamplerRelease
- SamplerSetLabel
- SetLogCallback
- SetLogLevel
- ShaderModuleAddRef
- ShaderModuleGetCompilationInfo
- ShaderModuleRelease
- ShaderModuleSetLabel
- SupportedFeaturesFreeMembers
- SupportedWGSLLanguageFeaturesFreeMembers
- SurfaceAddRef
- SurfaceCapabilitiesFreeMembers
- SurfaceConfigure
- SurfaceGetCapabilities
- SurfaceGetCurrentTexture
- SurfacePresent
- SurfaceRelease
- SurfaceSetLabel
- SurfaceUnconfigure
- TextureAddRef
- TextureCreateView
- TextureDestroy
- TextureGetDepthOrArrayLayers
- TextureGetDimension
- TextureGetFormat
- TextureGetHeight
- TextureGetMipLevelCount
- TextureGetSampleCount
- TextureGetUsage
- TextureGetWidth
- TextureRelease
- TextureSetLabel
- TextureViewAddRef
- TextureViewRelease
- TextureViewSetLabel
Procedure Groups (2)
Types
AdapterInfo ¶
AdapterInfo :: struct { nextInChain: ^ChainedStructOut, vendor: string, architecture: string, device: string, description: string, backendType: BackendType, adapterType: AdapterType, vendorID: u32, deviceID: u32, }
Related Procedures With Parameters
Related Procedures With Returns
AdapterType ¶
AdapterType :: enum i32 { DiscreteGPU = 1, IntegratedGPU = 2, CPU = 3, Unknown = 4, }
AddressMode ¶
AddressMode :: enum i32 { Undefined = 0, ClampToEdge = 1, Repeat = 2, MirrorRepeat = 3, }
BackendType ¶
BackendType :: enum i32 { Undefined = 0, Null = 1, WebGPU = 2, D3D11 = 3, D3D12 = 4, Metal = 5, Vulkan = 6, OpenGL = 7, OpenGLES = 8, }
BindGroup ¶
BindGroup :: distinct rawptr
Related Procedures With Parameters
- BindGroupAddRef
- BindGroupRelease
- BindGroupSetLabel
- ComputePassEncoderSetBindGroup
- RawComputePassEncoderSetBindGroup
- RawRenderBundleEncoderSetBindGroup
- RawRenderPassEncoderSetBindGroup
- RenderBundleEncoderSetBindGroup
- RenderPassEncoderSetBindGroup
Related Procedures With Returns
BindGroupDescriptor ¶
BindGroupDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, layout: BindGroupLayout, entryCount: uint, entries: [^]BindGroupEntry `fmt:"v,entryCount"`, }
Related Procedures With Parameters
BindGroupEntry ¶
BindGroupEntry :: struct { nextInChain: ^ChainedStruct, binding: u32, buffer: Buffer, offset: u64, size: u64, sampler: Sampler, textureView: TextureView, }
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
Related Procedures With Parameters
Related Procedures With Returns
BindGroupLayoutDescriptor ¶
BindGroupLayoutDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, entryCount: uint, entries: [^]BindGroupLayoutEntry `fmt:"v,entryCount"`, }
Related Procedures With Parameters
BindGroupLayoutEntry ¶
BindGroupLayoutEntry :: struct { nextInChain: ^ChainedStruct, binding: u32, visibility: bit_set[ShaderStage; u64], buffer: BufferBindingLayout, sampler: SamplerBindingLayout, texture: TextureBindingLayout, storageTexture: StorageTextureBindingLayout, }
BindGroupLayoutEntryExtras ¶
BindGroupLayoutEntryExtras :: struct { using chain: ChainedStruct, count: u32, }
BlendComponent ¶
BlendComponent :: struct { operation: BlendOperation, srcFactor: BlendFactor, dstFactor: BlendFactor, }
BlendFactor ¶
BlendFactor :: enum i32 { Undefined = 0, Zero = 1, One = 2, Src = 3, OneMinusSrc = 4, SrcAlpha = 5, OneMinusSrcAlpha = 6, Dst = 7, OneMinusDst = 8, DstAlpha = 9, OneMinusDstAlpha = 10, SrcAlphaSaturated = 11, Constant = 12, OneMinusConstant = 13, Src1 = 14, OneMinusSrc1 = 15, Src1Alpha = 16, OneMinusSrc1Alpha = 17, }
BlendOperation ¶
BlendOperation :: enum i32 { Add = 0, Subtract = 1, ReverseSubtract = 2, Min = 3, Max = 4, }
BlendState ¶
BlendState :: struct { color: BlendComponent, alpha: BlendComponent, }
Buffer ¶
Buffer :: distinct rawptr
Related Procedures With Parameters
- BufferAddRef
- BufferDestroy
- BufferGetConstMappedRange
- BufferGetConstMappedRangeSlice
- BufferGetConstMappedRangeTyped
- BufferGetMapState
- BufferGetMappedRange
- BufferGetMappedRangeSlice
- BufferGetMappedRangeTyped
- BufferGetSize
- BufferGetUsage
- BufferMapAsync
- BufferRelease
- BufferSetLabel
- BufferUnmap
- 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 = 0, Undefined = 1, Uniform = 2, Storage = 3, ReadOnlyStorage = 4, }
BufferDescriptor ¶
BufferDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, usage: bit_set[BufferUsage; u64], size: u64, mappedAtCreation: b32, }
Related Procedures With Parameters
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, }
Related Procedures With Parameters
BufferMapState ¶
BufferMapState :: enum i32 { Unmapped = 1, Pending = 2, Mapped = 3, }
Related Procedures With Returns
BufferUsage ¶
BufferUsage :: enum i32 { MapRead = 0, MapWrite = 1, CopySrc = 2, CopyDst = 3, Index = 4, Vertex = 5, Uniform = 6, Storage = 7, Indirect = 8, QueryResolve = 9, }
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 = 1, AllowProcessEvents = 2, AllowSpontaneos = 3, }
ChainedStruct ¶
ChainedStruct :: struct { next: ^ChainedStruct, sType: SType, }
ChainedStructOut ¶
ChainedStructOut :: struct { next: ^ChainedStructOut, sType: SType, }
ColorTargetState ¶
ColorTargetState :: struct { nextInChain: ^ChainedStruct, format: TextureFormat, blend: ^BlendState, writeMask: bit_set[ColorWriteMask; u64], }
ColorWriteMask ¶
ColorWriteMask :: enum i32 { Red = 0, Green = 1, Blue = 2, Alpha = 3, }
CommandBuffer ¶
CommandBuffer :: distinct rawptr
Related Procedures With Parameters
- CommandBufferAddRef
- CommandBufferRelease
- CommandBufferSetLabel
- RawQueueSubmit
- RawQueueSubmitForIndex
Related Procedures With Returns
CommandBufferDescriptor ¶
CommandBufferDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, }
Related Procedures With Parameters
CommandEncoder ¶
CommandEncoder :: distinct rawptr
Related Procedures With Parameters
- CommandEncoderAddRef
- CommandEncoderBeginComputePass
- CommandEncoderBeginRenderPass
- CommandEncoderClearBuffer
- CommandEncoderCopyBufferToBuffer
- CommandEncoderCopyBufferToTexture
- CommandEncoderCopyTextureToBuffer
- CommandEncoderCopyTextureToTexture
- CommandEncoderFinish
- CommandEncoderInsertDebugMarker
- CommandEncoderPopDebugGroup
- CommandEncoderPushDebugGroup
- CommandEncoderRelease
- CommandEncoderResolveQuerySet
- CommandEncoderSetLabel
- CommandEncoderWriteTimestamp
Related Procedures With Returns
CommandEncoderDescriptor ¶
CommandEncoderDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, }
Related Procedures With Parameters
CompareFunction ¶
CompareFunction :: enum i32 { Undefined = 0, Never = 1, Less = 2, Equal = 3, LessEqual = 4, Greater = 5, NotEqual = 6, GreaterEqual = 7, Always = 8, }
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, }
Related Procedures With Parameters
CompilationInfoRequestStatus ¶
CompilationInfoRequestStatus :: enum i32 { Success = 1, InstanceDropped = 2, Error = 3, Unknown = 4, }
CompilationMessage ¶
CompilationMessage :: struct { nextInChain: ^ChainedStruct, message: string, type: CompilationMessageType, lineNum: u64, linePos: u64, offset: u64, length: u64, }
CompilationMessageType ¶
CompilationMessageType :: enum i32 { Error = 1, Warning = 2, Info = 3, }
CompositeAlphaMode ¶
CompositeAlphaMode :: enum i32 { Auto = 0, Opaque = 1, Premultiplied = 2, Unpremultiplied = 3, Inherit = 4, }
ComputePassDescriptor ¶
ComputePassDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, timestampWrites: ^ComputePassTimestampWrites, }
Related Procedures With Parameters
ComputePassEncoder ¶
ComputePassEncoder :: distinct rawptr
Related Procedures With Parameters
- ComputePassEncoderAddRef
- ComputePassEncoderBeginPipelineStatisticsQuery
- ComputePassEncoderDispatchWorkgroups
- ComputePassEncoderDispatchWorkgroupsIndirect
- ComputePassEncoderEnd
- ComputePassEncoderEndPipelineStatisticsQuery
- ComputePassEncoderInsertDebugMarker
- ComputePassEncoderPopDebugGroup
- ComputePassEncoderPushDebugGroup
- ComputePassEncoderRelease
- ComputePassEncoderSetBindGroup
- ComputePassEncoderSetLabel
- ComputePassEncoderSetPipeline
- ComputePassEncoderSetPushConstants
- ComputePassEncoderWriteTimestamp
- RawComputePassEncoderSetBindGroup
Related Procedures With Returns
ComputePipeline ¶
ComputePipeline :: distinct rawptr
Related Procedures With Parameters
- ComputePassEncoderSetPipeline
- ComputePipelineAddRef
- ComputePipelineGetBindGroupLayout
- ComputePipelineRelease
- ComputePipelineSetLabel
Related Procedures With Returns
ComputePipelineDescriptor ¶
ComputePipelineDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, layout: PipelineLayout, compute: ProgrammableStageDescriptor, }
Related Procedures With Parameters
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, }
Related Procedures With Parameters
CreatePipelineAsyncStatus ¶
CreatePipelineAsyncStatus :: enum i32 { Success = 1, InstanceDropped = 2, ValidationError = 3, InternalError = 4, Unknown = 5, }
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, }
Related Procedures With Parameters
CullMode ¶
CullMode :: enum i32 { Undefined = 0, None = 1, Front = 2, Back = 3, }
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
Related Procedures With Parameters
- DeviceAddRef
- DeviceCreateBindGroup
- DeviceCreateBindGroupLayout
- DeviceCreateBuffer
- DeviceCreateBufferWithDataSlice
- DeviceCreateBufferWithDataTyped
- DeviceCreateCommandEncoder
- DeviceCreateComputePipeline
- DeviceCreateComputePipelineAsync
- DeviceCreatePipelineLayout
- DeviceCreateQuerySet
- DeviceCreateRenderBundleEncoder
- DeviceCreateRenderPipeline
- DeviceCreateRenderPipelineAsync
- DeviceCreateSampler
- DeviceCreateShaderModule
- DeviceCreateShaderModuleSpirV
- DeviceCreateTexture
- DeviceDestroy
- DeviceGetAdapterInfo
- DeviceGetFeatures
- DeviceGetLimits
- DeviceGetLostFuture
- DeviceGetQueue
- DeviceHasFeature
- DevicePoll
- DevicePopErrorScope
- DevicePushErrorScope
- DeviceRelease
- DeviceSetLabel
- 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, }
Related Procedures With Parameters
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 = 0, Unknown = 1, Destroyed = 2, InstanceDropped = 3, FailedCreation = 4, }
Dx12Compiler ¶
Dx12Compiler :: enum i32 { Undefined, Fxc, Dxc, }
ErrorFilter ¶
ErrorFilter :: enum i32 { Validation = 1, OutOfMemory = 2, Internal = 3, }
Related Procedures With Parameters
ErrorType ¶
ErrorType :: enum i32 { NoError = 1, Validation = 2, OutOfMemory = 3, Internal = 4, Unknown = 5, }
Extent3D ¶
Related Procedures With Parameters
FeatureLevel ¶
FeatureLevel :: enum i32 { Compatibility = 1, Core = 2, }
FeatureName ¶
FeatureName :: enum i32 { // WebGPU. Undefined = 0, DepthClipControl = 1, Depth32FloatStencil8 = 2, TimestampQuery = 3, TextureCompressionBC = 4, TextureCompressionBCSliced3D = 5, TextureCompressionETC2 = 6, TextureCompressionASTC = 7, TextureCompressionASTCSliced3D = 8, IndirectFirstInstance = 9, ShaderF16 = 10, RG11B10UfloatRenderable = 11, BGRA8UnormStorage = 12, Float32Filterable = 13, Float32Blendable = 14, ClipDistances = 15, DualSourceBlending = 16, // Native. PushConstants = 196609, TextureAdapterSpecificFormatFeatures, MultiDrawIndirect, MultiDrawIndirectCount, VertexWritableStorage, TextureBindingArray, SampledTextureAndStorageBufferArrayNonUniformIndexing, PipelineStatisticsQuery, StorageResourceBindingArray, PartiallyBoundBindingArray, TextureFormat16bitNorm, TextureCompressionAstcHdr, MappablePrimaryBuffers = 196622, BufferBindingArray, UniformBufferAndStorageTextureArrayNonUniformIndexing, // TODO: requires wgpu.h api change // AddressModeClampToZero, // AddressModeClampToBorder, // PolygonModeLine, // PolygonModePoint, // ConservativeRasterization, // ClearTexture, SpirvShaderPassthrough = 196631, // MultiView, VertexAttribute64bit = 196633, TextureFormatNv12, RayTracingAccelarationStructure, RayQuery, ShaderF64, ShaderI16, ShaderPrimitiveIndex, ShaderEarlyDepthTest, Subgroup, SubgroupVertex, SubgroupBarrier, TimestampQueryInsideEncoders, TimestampQueryInsidePasses, }
Related Procedures With Parameters
FilterMode ¶
FilterMode :: enum i32 { Undefined = 0, Nearest = 1, Linear = 2, }
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 = 0, CCW = 1, CW = 2, }
FutureWaitInfo ¶
Related Procedures With Parameters
Gles3MinorVersion ¶
Gles3MinorVersion :: enum i32 { Automatic, Version0, Version1, Version2, }
GlobalReport ¶
GlobalReport :: struct { surfaces: RegistryReport, hub: HubReport, }
Related Procedures With Parameters
Related Procedures With Returns
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, }
IndexFormat ¶
IndexFormat :: enum i32 { Undefined = 0, Uint16 = 1, Uint32 = 2, }
Related Procedures With Parameters
Instance ¶
Instance :: distinct rawptr
Related Procedures With Parameters
- GenerateReport
- InstanceAddRef
- InstanceCreateSurface
- InstanceEnumerateAdapters
- InstanceGetWGSLLanguageFeatures
- InstanceHasWGSLLanguageFeature
- InstanceProcessEvents
- InstanceRelease
- InstanceRequestAdapter
- InstanceWaitAny
- RawGenerateReport
- RawInstanceEnumerateAdapters
- RawInstanceGetWGSLLanguageFeatures
Related Procedures With Returns
InstanceBackend ¶
InstanceBackend :: enum i32 { Vulkan, GL, Metal, DX12, DX11, BrowserWebGPU, }
InstanceCapabilities ¶
InstanceCapabilities :: struct { nextInChain: ^ChainedStructOut, timedWaitAnyEnable: b32, timedWaitAnyMaxCount: uint, }
Related Procedures With Parameters
Related Procedures With Returns
InstanceDescriptor ¶
InstanceDescriptor :: struct { nextInChain: ^ChainedStruct, features: InstanceCapabilities, }
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, dxilPath: string, dxcPath: string, }
InstanceFlag ¶
InstanceFlag :: enum i32 { Debug, Validation, DiscardHalLabels, }
Limits ¶
Limits :: struct { nextInChain: ^ChainedStructOut, 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, }
Related Procedures With Parameters
Related Procedures With Returns
LogCallback ¶
Related Procedures With Parameters
LogLevel ¶
LogLevel :: enum i32 { Off, Error, Warn, Info, Debug, Trace, }
Related Procedures With Parameters
- ConvertWGPUToOdinLogLevel
- SetLogLevel
- ConvertLogLevel (procedure groups)
Related Procedures With Returns
MapAsyncStatus ¶
MapAsyncStatus :: enum i32 { Success = 1, InstanceDropped = 2, Error = 3, Aborted = 4, Unknown = 5, }
MipmapFilterMode ¶
MipmapFilterMode :: enum i32 { Undefined = 0, Nearest = 1, Linear = 2, }
MultisampleState ¶
MultisampleState :: struct { nextInChain: ^ChainedStruct, count: u32, mask: u32, alphaToCoverageEnabled: b32, }
NativeLimits ¶
NativeLimits :: struct { using chain: ChainedStructOut, maxPushConstantSize: u32, maxNonSamplerBindings: u32, }
OptionalBool ¶
OptionalBool :: enum i32 { False = 0, True = 1, Undefined = 2, }
PipelineLayout ¶
PipelineLayout :: distinct rawptr
Related Procedures With Parameters
Related Procedures With Returns
PipelineLayoutDescriptor ¶
PipelineLayoutDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, bindGroupLayoutCount: uint, bindGroupLayouts: [^]BindGroupLayout `fmt:"v,bindGroupLayoutCount"`, }
Related Procedures With Parameters
PipelineLayoutExtras ¶
PipelineLayoutExtras :: struct { using chain: ChainedStruct, pushConstantRangeCount: uint, pushConstantRanges: [^]PushConstantRange `fmt:"v,pushConstantRangeCount"`, }
PipelineStatisticName ¶
PipelineStatisticName :: enum i32 { VertexShaderInvocations, ClipperInvocations, ClipperPrimitivesOut, FragmentShaderInvocations, ComputeShaderInvocations, }
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, }
Related Procedures With Parameters
PopErrorScopeStatus ¶
PopErrorScopeStatus :: enum i32 { Success = 1, InstanceDropped = 2, EmptyStack = 3, }
PowerPreference ¶
PowerPreference :: enum i32 { Undefined = 0, LowPower = 1, HighPerformance = 2, }
PresentMode ¶
PresentMode :: enum i32 { Undefined = 0, Fifo = 1, FifoRelaxed = 2, Immediate = 3, Mailbox = 4, }
PrimitiveState ¶
PrimitiveState :: struct { nextInChain: ^ChainedStruct, topology: PrimitiveTopology, stripIndexFormat: IndexFormat, frontFace: FrontFace, cullMode: CullMode, unclippedDepth: b32, }
PrimitiveTopology ¶
PrimitiveTopology :: enum i32 { Undefined = 0, PointList = 1, LineList = 2, LineStrip = 3, TriangleList = 4, TriangleStrip = 5, }
ProgrammableStageDescriptor ¶
ProgrammableStageDescriptor :: struct { nextInChain: ^ChainedStruct, module: ShaderModule, entryPoint: string, constantCount: uint, constants: [^]ConstantEntry `fmt:"v,constantCount"`, }
PushConstantRange ¶
PushConstantRange :: struct { stages: bit_set[ShaderStage; u64], start: u32, end: u32, }
QuerySet ¶
QuerySet :: distinct rawptr
Related Procedures With Parameters
- CommandEncoderResolveQuerySet
- CommandEncoderWriteTimestamp
- ComputePassEncoderBeginPipelineStatisticsQuery
- ComputePassEncoderWriteTimestamp
- QuerySetAddRef
- QuerySetDestroy
- QuerySetGetCount
- QuerySetGetType
- QuerySetRelease
- QuerySetSetLabel
- RenderPassEncoderBeginPipelineStatisticsQuery
- RenderPassEncoderWriteTimestamp
Related Procedures With Returns
QuerySetDescriptor ¶
QuerySetDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, type: QueryType, count: u32, }
Related Procedures With Parameters
QuerySetDescriptorExtras ¶
QuerySetDescriptorExtras :: struct { using chain: ChainedStruct, pipelineStatistics: [^]PipelineStatisticName `fmt:"v,pipelineStatisticCount"`, pipelineStatisticCount: uint, }
QueryType ¶
QueryType :: enum i32 { // WebGPU. Occlusion = 1, Timestamp = 2, // Native. PipelineStatistics = 196608, }
Related Procedures With Returns
Queue ¶
Queue :: distinct rawptr
Related Procedures With Parameters
- QueueAddRef
- QueueOnSubmittedWorkDone
- QueueRelease
- QueueSetLabel
- QueueSubmit
- QueueSubmitForIndex
- QueueWriteBuffer
- QueueWriteTexture
- RawQueueSubmit
- RawQueueSubmitForIndex
Related Procedures With Returns
QueueDescriptor ¶
QueueDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, }
QueueWorkDoneCallback ¶
QueueWorkDoneCallback :: proc "c" (status: QueueWorkDoneStatus, userdata1: rawptr, userdata2: rawptr)
QueueWorkDoneCallbackInfo ¶
QueueWorkDoneCallbackInfo :: struct { nextInChain: ^ChainedStruct, mode: CallbackMode, callback: QueueWorkDoneCallback, userdata1: rawptr, userdata2: rawptr, }
Related Procedures With Parameters
QueueWorkDoneStatus ¶
QueueWorkDoneStatus :: enum i32 { Success = 1, InstanceDropped = 2, Error = 3, Unknown = 4, }
RenderBundle ¶
RenderBundle :: distinct rawptr
Related Procedures With Parameters
Related Procedures With Returns
RenderBundleDescriptor ¶
RenderBundleDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, }
Related Procedures With Parameters
RenderBundleEncoder ¶
RenderBundleEncoder :: distinct rawptr
Related Procedures With Parameters
- RawRenderBundleEncoderSetBindGroup
- RenderBundleEncoderAddRef
- RenderBundleEncoderDraw
- RenderBundleEncoderDrawIndexed
- RenderBundleEncoderDrawIndexedIndirect
- RenderBundleEncoderDrawIndirect
- RenderBundleEncoderFinish
- RenderBundleEncoderInsertDebugMarker
- RenderBundleEncoderPopDebugGroup
- RenderBundleEncoderPushDebugGroup
- RenderBundleEncoderRelease
- RenderBundleEncoderSetBindGroup
- RenderBundleEncoderSetIndexBuffer
- RenderBundleEncoderSetLabel
- RenderBundleEncoderSetPipeline
- RenderBundleEncoderSetPushConstants
- RenderBundleEncoderSetVertexBuffer
Related Procedures With Returns
RenderBundleEncoderDescriptor ¶
RenderBundleEncoderDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, colorFormatCount: uint, colorFormats: [^]TextureFormat `fmt:"v,colorFormatCount"`, depthStencilFormat: TextureFormat, sampleCount: u32, depthReadOnly: b32, stencilReadOnly: b32, }
Related Procedures With Parameters
RenderPassColorAttachment ¶
RenderPassColorAttachment :: struct { nextInChain: ^ChainedStruct, view: TextureView, depthSlice: u32, resolveTarget: TextureView, loadOp: LoadOp, storeOp: StoreOp, clearValue: [4]f64, }
RenderPassDescriptor ¶
RenderPassDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, colorAttachmentCount: uint, colorAttachments: [^]RenderPassColorAttachment `fmt:"v,colorAttachmentCount"`, depthStencilAttachment: ^RenderPassDepthStencilAttachment, occlusionQuerySet: QuerySet, timestampWrites: ^RenderPassTimestampWrites, }
Related Procedures With Parameters
RenderPassEncoder ¶
RenderPassEncoder :: distinct rawptr
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
- RenderPassEncoderSetIndexBuffer
- RenderPassEncoderSetLabel
- RenderPassEncoderSetPipeline
- RenderPassEncoderSetPushConstants
- RenderPassEncoderSetScissorRect
- RenderPassEncoderSetStencilReference
- RenderPassEncoderSetVertexBuffer
- RenderPassEncoderSetViewport
- RenderPassEncoderWriteTimestamp
Related Procedures With Returns
RenderPassMaxDrawCount ¶
RenderPassMaxDrawCount :: struct { using chain: ChainedStruct, maxDrawCount: u64, }
RenderPipeline ¶
RenderPipeline :: distinct rawptr
Related Procedures With Parameters
- RenderBundleEncoderSetPipeline
- RenderPassEncoderSetPipeline
- RenderPipelineAddRef
- RenderPipelineGetBindGroupLayout
- RenderPipelineRelease
- RenderPipelineSetLabel
Related Procedures With Returns
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, }
Related Procedures With Parameters
RequestAdapterOptions ¶
RequestAdapterOptions :: struct { nextInChain: ^ChainedStruct, featureLevel: FeatureLevel, powerPreference: PowerPreference, forceFallbackAdapter: b32, backendType: BackendType, compatibleSurface: Surface, }
Related Procedures With Parameters
RequestAdapterStatus ¶
RequestAdapterStatus :: enum i32 { Success = 1, InstanceDropped = 2, Unavailable = 3, Error = 4, Unknown = 5, }
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, }
Related Procedures With Parameters
RequestDeviceStatus ¶
RequestDeviceStatus :: enum i32 { Success = 1, InstanceDropped = 2, Error = 3, Unknown = 4, }
SType ¶
SType :: enum i32 { // WebGPU. ShaderSourceSPIRV = 1, ShaderSourceWGSL = 2, RenderPassMaxDrawCount = 3, SurfaceSourceMetalLayer = 4, SurfaceSourceWindowsHWND = 5, SurfaceSourceXlibWindow = 6, SurfaceSourceWaylandSurface = 7, SurfaceSourceAndroidNativeWindow = 8, SurfaceSourceXCBWindow = 9, // Native. DeviceExtras = 196609, NativeLimits, PipelineLayoutExtras, ShaderModuleGLSLDescriptor, SupportedLimitsExtras, InstanceExtras, BindGroupEntryExtras, BindGroupLayoutEntryExtras, QuerySetDescriptorExtras, SurfaceConfigurationExtras, // Odin. SurfaceSourceCanvasHTMLSelector = 262145, }
Sampler ¶
Sampler :: distinct rawptr
Related Procedures With Parameters
Related Procedures With Returns
SamplerBindingLayout ¶
SamplerBindingLayout :: struct { nextInChain: ^ChainedStruct, type: SamplerBindingType, }
SamplerBindingType ¶
SamplerBindingType :: enum i32 { BindingNotUsed = 0, Undefined = 1, Filtering = 2, NonFiltering = 3, Comparison = 4, }
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, }
Related Procedures With Parameters
ShaderModule ¶
ShaderModule :: distinct rawptr
Related Procedures With Parameters
Related Procedures With Returns
ShaderModuleDescriptor ¶
ShaderModuleDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, }
Related Procedures With Parameters
ShaderModuleDescriptorSpirV ¶
ShaderModuleDescriptorSpirV :: struct { label: string, sourceSize: u32, source: [^]u32 `fmt:"v,sourceSize"`, }
Related Procedures With Parameters
ShaderModuleGLSLDescriptor ¶
ShaderModuleGLSLDescriptor :: 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, }
ShaderStage ¶
ShaderStage :: enum i32 { Vertex = 0, Fragment = 1, Compute = 2, }
ShaderStageFlags ¶
ShaderStageFlags :: bit_set[ShaderStage; u64]
Status ¶
Status :: enum i32 { Success = 1, Error = 2, }
Related Procedures With Returns
- AdapterGetInfo
- AdapterGetLimits
- DeviceGetAdapterInfo
- DeviceGetLimits
- GetInstanceCapabilities
- InstanceGetWGSLLanguageFeatures
- RawAdapterGetInfo
- RawAdapterGetLimits
- RawDeviceGetAdapterInfo
- RawDeviceGetLimits
- RawGetInstanceCapabilities
- RawInstanceGetWGSLLanguageFeatures
- RawSurfaceGetCapabilities
- SurfaceGetCapabilities
- SurfacePresent
StencilFaceState ¶
StencilFaceState :: struct { compare: CompareFunction, failOp: StencilOperation, depthFailOp: StencilOperation, passOp: StencilOperation, }
StencilOperation ¶
StencilOperation :: enum i32 { Undefined = 0, Keep = 1, Zero = 2, Replace = 3, Invert = 4, IncrementClamp = 5, DecrementClamp = 6, IncrementWrap = 7, DecrementWrap = 8, }
StorageTextureAccess ¶
StorageTextureAccess :: enum i32 { BindingNotUsed = 0, Undefined = 1, WriteOnly = 2, ReadOnly = 3, ReadWrite = 4, }
StorageTextureBindingLayout ¶
StorageTextureBindingLayout :: struct { nextInChain: ^ChainedStruct, access: StorageTextureAccess, format: TextureFormat, viewDimension: TextureViewDimension, }
StringView ¶
StringView :: string
SubmissionIndex ¶
SubmissionIndex :: distinct u64
Related Procedures With Parameters
Related Procedures With Returns
SupportedFeatures ¶
SupportedFeatures :: struct { featureCount: uint, features: [^]FeatureName `fmt:"v,featureCount"`, }
Related Procedures With Parameters
Related Procedures With Returns
SupportedWGSLLanguageFeatures ¶
SupportedWGSLLanguageFeatures :: struct { featureCount: uint, features: [^]WGSLLanguageFeatureName `fmt:"v,featureCount"`, }
Related Procedures With Parameters
Related Procedures With Returns
Surface ¶
Surface :: distinct rawptr
Related Procedures With Parameters
- RawSurfaceGetCapabilities
- RawSurfaceGetCurrentTexture
- SurfaceAddRef
- SurfaceConfigure
- SurfaceGetCapabilities
- SurfaceGetCurrentTexture
- SurfacePresent
- SurfaceRelease
- SurfaceSetLabel
- SurfaceUnconfigure
Related Procedures With Returns
SurfaceCapabilities ¶
SurfaceCapabilities :: struct { nextInChain: ^ChainedStructOut, 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
Related Procedures With Returns
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, }
Related Procedures With Parameters
SurfaceConfigurationExtras ¶
SurfaceConfigurationExtras :: struct { using chain: ChainedStruct, desiredMaximumFrameLatency: u32, }
SurfaceDescriptor ¶
SurfaceDescriptor :: struct { nextInChain: ^ChainedStruct, label: string, }
Related Procedures With Parameters
SurfaceGetCurrentTextureStatus ¶
SurfaceGetCurrentTextureStatus :: enum i32 { SuccessOptimal = 1, SuccessSuboptimal = 2, Timeout = 3, Outdated = 4, Lost = 5, OutOfMemory = 6, DeviceLost = 7, Error = 8, }
SurfaceSourceAndroidNativeWindow ¶
SurfaceSourceAndroidNativeWindow :: struct { using chain: ChainedStruct, window: rawptr, }
SurfaceSourceCanvasHTMLSelector ¶
SurfaceSourceCanvasHTMLSelector :: struct { using chain: ChainedStruct, selector: string, }
SurfaceSourceMetalLayer ¶
SurfaceSourceMetalLayer :: struct { using chain: ChainedStruct, layer: rawptr, }
SurfaceSourceWaylandSurface ¶
SurfaceSourceWaylandSurface :: struct { using chain: ChainedStruct, display: rawptr, surface: rawptr, }
SurfaceSourceWindowsHWND ¶
SurfaceSourceWindowsHWND :: struct { using chain: ChainedStruct, hinstance: rawptr, hwnd: rawptr, }
SurfaceSourceXcbWindow ¶
SurfaceSourceXcbWindow :: struct { using chain: ChainedStruct, connection: rawptr, window: u32, }
SurfaceSourceXlibWindow ¶
SurfaceSourceXlibWindow :: struct { using chain: ChainedStruct, display: rawptr, window: u64, }
SurfaceTexture ¶
SurfaceTexture :: struct { nextInChain: ^ChainedStructOut, texture: Texture, status: SurfaceGetCurrentTextureStatus, }
Related Procedures With Parameters
Related Procedures With Returns
TexelCopyBufferInfo ¶
TexelCopyBufferInfo :: struct { layout: TexelCopyBufferLayout, buffer: Buffer, }
Related Procedures With Parameters
TexelCopyBufferLayout ¶
Related Procedures With Parameters
TexelCopyTextureInfo ¶
TexelCopyTextureInfo :: struct { texture: Texture, mipLevel: u32, origin: Origin3D, aspect: TextureAspect, }
Related Procedures With Parameters
Texture ¶
Texture :: distinct rawptr
Related Procedures With Parameters
- TextureAddRef
- TextureCreateView
- TextureDestroy
- TextureGetDepthOrArrayLayers
- TextureGetDimension
- TextureGetFormat
- TextureGetHeight
- TextureGetMipLevelCount
- TextureGetSampleCount
- TextureGetUsage
- TextureGetWidth
- TextureRelease
- TextureSetLabel
Related Procedures With Returns
TextureAspect ¶
TextureAspect :: enum i32 { Undefined = 0, All = 1, StencilOnly = 2, DepthOnly = 3, }
TextureBindingLayout ¶
TextureBindingLayout :: struct { nextInChain: ^ChainedStruct, sampleType: TextureSampleType, viewDimension: TextureViewDimension, multisampled: b32, }
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"`, }
Related Procedures With Parameters
TextureDimension ¶
TextureDimension :: enum i32 { Undefined = 0, _1D = 1, _2D = 2, _3D = 3, }
Related Procedures With Returns
TextureFormat ¶
TextureFormat :: enum i32 { Undefined = 0, R8Unorm = 1, R8Snorm = 2, R8Uint = 3, R8Sint = 4, R16Uint = 5, R16Sint = 6, R16Float = 7, RG8Unorm = 8, RG8Snorm = 9, RG8Uint = 10, RG8Sint = 11, R32Float = 12, R32Uint = 13, R32Sint = 14, RG16Uint = 15, RG16Sint = 16, RG16Float = 17, RGBA8Unorm = 18, RGBA8UnormSrgb = 19, RGBA8Snorm = 20, RGBA8Uint = 21, RGBA8Sint = 22, BGRA8Unorm = 23, BGRA8UnormSrgb = 24, RGB10A2Uint = 25, RGB10A2Unorm = 26, RG11B10Ufloat = 27, RGB9E5Ufloat = 28, RG32Float = 29, RG32Uint = 30, RG32Sint = 31, RGBA16Uint = 32, RGBA16Sint = 33, RGBA16Float = 34, RGBA32Float = 35, RGBA32Uint = 36, RGBA32Sint = 37, Stencil8 = 38, Depth16Unorm = 39, Depth24Plus = 40, Depth24PlusStencil8 = 41, Depth32Float = 42, Depth32FloatStencil8 = 43, BC1RGBAUnorm = 44, BC1RGBAUnormSrgb = 45, BC2RGBAUnorm = 46, BC2RGBAUnormSrgb = 47, BC3RGBAUnorm = 48, BC3RGBAUnormSrgb = 49, BC4RUnorm = 50, BC4RSnorm = 51, BC5RGUnorm = 52, BC5RGSnorm = 53, BC6HRGBUfloat = 54, BC6HRGBFloat = 55, BC7RGBAUnorm = 56, BC7RGBAUnormSrgb = 57, ETC2RGB8Unorm = 58, ETC2RGB8UnormSrgb = 59, ETC2RGB8A1Unorm = 60, ETC2RGB8A1UnormSrgb = 61, ETC2RGBA8Unorm = 62, ETC2RGBA8UnormSrgb = 63, EACR11Unorm = 64, EACR11Snorm = 65, EACRG11Unorm = 66, EACRG11Snorm = 67, ASTC4x4Unorm = 68, ASTC4x4UnormSrgb = 69, ASTC5x4Unorm = 70, ASTC5x4UnormSrgb = 71, ASTC5x5Unorm = 72, ASTC5x5UnormSrgb = 73, ASTC6x5Unorm = 74, ASTC6x5UnormSrgb = 75, ASTC6x6Unorm = 76, ASTC6x6UnormSrgb = 77, ASTC8x5Unorm = 78, ASTC8x5UnormSrgb = 79, ASTC8x6Unorm = 80, ASTC8x6UnormSrgb = 81, ASTC8x8Unorm = 82, ASTC8x8UnormSrgb = 83, ASTC10x5Unorm = 84, ASTC10x5UnormSrgb = 85, ASTC10x6Unorm = 86, ASTC10x6UnormSrgb = 87, ASTC10x8Unorm = 88, ASTC10x8UnormSrgb = 89, ASTC10x10Unorm = 90, ASTC10x10UnormSrgb = 91, ASTC12x10Unorm = 92, ASTC12x10UnormSrgb = 93, ASTC12x12Unorm = 94, ASTC12x12UnormSrgb = 95, // From FeatureName.TextureFormat16bitNorm R16Unorm = 196609, R16Snorm, Rg16Unorm, Rg16Snorm, Rgba16Unorm, Rgba16Snorm, // From FeatureName.TextureFormatNv12 NV12, }
Related Procedures With Returns
TextureSampleType ¶
TextureSampleType :: enum i32 { BindingNotUsed = 0, Undefined = 1, Float = 2, UnfilterableFloat = 3, Depth = 4, Sint = 5, Uint = 6, }
TextureUsage ¶
TextureUsage :: enum i32 { CopySrc = 0, CopyDst = 1, TextureBinding = 2, StorageBinding = 3, RenderAttachment = 4, }
TextureUsageFlags ¶
TextureUsageFlags :: bit_set[TextureUsage; u64]
TextureView ¶
TextureView :: distinct rawptr
Related Procedures With Parameters
Related Procedures With Returns
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], }
Related Procedures With Parameters
TextureViewDimension ¶
TextureViewDimension :: enum i32 { Undefined = 0, _1D = 1, _2D = 2, _2DArray = 3, Cube = 4, CubeArray = 5, _3D = 6, }
UncapturedErrorCallbackInfo ¶
UncapturedErrorCallbackInfo :: struct { nextInChain: ^ChainedStruct, callback: UncapturedErrorCallback, userdata1: rawptr, userdata2: rawptr, }
VertexAttribute ¶
VertexAttribute :: struct { format: VertexFormat, offset: u64, shaderLocation: u32, }
VertexBufferLayout ¶
VertexBufferLayout :: struct { stepMode: VertexStepMode, arrayStride: u64, attributeCount: uint, attributes: [^]VertexAttribute `fmt:"v,attributeCount"`, }
VertexFormat ¶
VertexFormat :: enum i32 { Uint8 = 1, Uint8x2 = 2, Uint8x4 = 3, Sint8 = 4, Sint8x2 = 5, Sint8x4 = 6, Unorm8 = 7, Unorm8x2 = 8, Unorm8x4 = 9, Snorm8 = 10, Snorm8x2 = 11, Snorm8x4 = 12, Uint16 = 13, Uint16x2 = 14, Uint16x4 = 15, Sint16 = 16, Sint16x2 = 17, Sint16x4 = 18, Unorm16 = 19, Unorm16x2 = 20, Unorm16x4 = 21, Snorm16 = 22, Snorm16x2 = 23, Snorm16x4 = 24, Float16 = 25, Float16x2 = 26, Float16x4 = 27, Float32 = 28, Float32x2 = 29, Float32x3 = 30, Float32x4 = 31, Uint32 = 32, Uint32x2 = 33, Uint32x3 = 34, Uint32x4 = 35, Sint32 = 36, Sint32x2 = 37, Sint32x3 = 38, Sint32x4 = 39, Unorm10_10_10_2 = 40, Unorm8x4BGRA = 41, }
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 { VertexBufferNotUsed = 0, Undefined = 1, Vertex = 2, Instance = 3, }
WGSLLanguageFeatureName ¶
WGSLLanguageFeatureName :: enum i32 { ReadonlyAndReadwriteStorageTextures = 1, Packed4x8IntegerDotProduct = 2, UnrestrictedPointerParameters = 3, PointerCompositeAccess = 4, }
Related Procedures With Parameters
WaitStatus ¶
WaitStatus :: enum i32 { Success = 1, TimedOut = 2, UnsupportedTimeout = 3, UnsupportedCount = 4, UnsupportedMixedSource = 5, }
Related Procedures With Returns
Constants
ARRAY_LAYER_COUNT_UNDEFINED ¶
ARRAY_LAYER_COUNT_UNDEFINED: u32 : max(u32)
BINDINGS_VERSION ¶
BINDINGS_VERSION: [4]u8 : [4]u8{24, 0, 0, 2}
BINDINGS_VERSION_STRING ¶
BINDINGS_VERSION_STRING: string : "24.0.0.2"
COPY_STRIDE_UNDEFINED ¶
COPY_STRIDE_UNDEFINED: u32 : max(u32)
ColorWriteMaskFlags_All ¶
ColorWriteMaskFlags_All: bit_set[ColorWriteMask; u64] : ColorWriteMaskFlags{.Red, .Green, .Blue, .Alpha}
DEPTH_SLICE_UNDEFINED ¶
DEPTH_SLICE_UNDEFINED: u32 : max(u32)
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, .DX11}
InstanceFlags_Default ¶
InstanceFlags_Default: 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: bool : #config(WGPU_DEBUG, false)
WGPU_SHARED ¶
WGPU_SHARED: bool : #config(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 ¶
AdapterAddRef :: proc "c" (adapter: Adapter) ---
AdapterGetFeatures ¶
AdapterGetFeatures :: proc "c" (adapter: Adapter) -> (features: SupportedFeatures) {…}
AdapterGetInfo ¶
AdapterGetInfo :: proc "c" (adapter: Adapter) -> (info: AdapterInfo, status: Status) {…}
AdapterHasFeature ¶
AdapterHasFeature :: proc "c" (adapter: Adapter, feature: FeatureName) -> b32 ---
AdapterInfoFreeMembers ¶
AdapterInfoFreeMembers :: proc "c" (adapterInfo: AdapterInfo) ---
Procs of AdapterInfo
AdapterRelease ¶
AdapterRelease :: proc "c" (adapter: Adapter) ---
AdapterRequestDevice ¶
AdapterRequestDevice :: proc "c" (adapter: Adapter, descriptor: ^DeviceDescriptor, callbackInfo: RequestDeviceCallbackInfo) -> Future ---
BindGroupAddRef ¶
BindGroupAddRef :: proc "c" (bindGroup: BindGroup) ---
BindGroupLayoutAddRef ¶
BindGroupLayoutAddRef :: proc "c" (bindGroupLayout: BindGroupLayout) ---
BindGroupLayoutRelease ¶
BindGroupLayoutRelease :: proc "c" (bindGroupLayout: BindGroupLayout) ---
BindGroupLayoutSetLabel ¶
BindGroupLayoutSetLabel :: proc "c" (bindGroupLayout: BindGroupLayout, label: cstring) ---
Methods of BindGroupLayout
BindGroupRelease ¶
BindGroupRelease :: proc "c" (bindGroup: BindGroup) ---
BindGroupSetLabel ¶
Methods of BindGroup
BufferAddRef ¶
BufferAddRef :: proc "c" (buffer: Buffer) ---
BufferGetMapState ¶
BufferGetMapState :: proc "c" (buffer: Buffer) -> BufferMapState ---
BufferGetUsage ¶
BufferGetUsage :: proc "c" (buffer: Buffer) -> bit_set[BufferUsage; u64] ---
BufferRelease ¶
BufferRelease :: proc "c" (buffer: Buffer) ---
BufferUnmap ¶
BufferUnmap :: proc "c" (buffer: Buffer) ---
CommandBufferAddRef ¶
CommandBufferAddRef :: proc "c" (commandBuffer: CommandBuffer) ---
CommandBufferRelease ¶
CommandBufferRelease :: proc "c" (commandBuffer: CommandBuffer) ---
CommandBufferSetLabel ¶
CommandBufferSetLabel :: proc "c" (commandBuffer: CommandBuffer, label: string) ---
Methods of CommandBuffer
CommandEncoderAddRef ¶
CommandEncoderAddRef :: proc "c" (commandEncoder: CommandEncoder) ---
CommandEncoderBeginComputePass ¶
CommandEncoderBeginComputePass :: proc "c" (commandEncoder: CommandEncoder, descriptor: ^ComputePassDescriptor = nil) -> ComputePassEncoder ---
Methods of CommandEncoder
CommandEncoderBeginRenderPass ¶
CommandEncoderBeginRenderPass :: proc "c" (commandEncoder: CommandEncoder, descriptor: ^RenderPassDescriptor) -> RenderPassEncoder ---
CommandEncoderClearBuffer ¶
CommandEncoderClearBuffer :: proc "c" (commandEncoder: CommandEncoder, buffer: Buffer, offset: u64, size: u64) ---
CommandEncoderCopyBufferToTexture ¶
CommandEncoderCopyBufferToTexture :: proc "c" (commandEncoder: CommandEncoder, source: ^TexelCopyBufferInfo, destination: ^TexelCopyTextureInfo, copySize: ^Extent3D) ---
CommandEncoderCopyTextureToBuffer ¶
CommandEncoderCopyTextureToBuffer :: proc "c" (commandEncoder: CommandEncoder, source: ^TexelCopyTextureInfo, destination: ^TexelCopyBufferInfo, copySize: ^Extent3D) ---
CommandEncoderCopyTextureToTexture ¶
CommandEncoderCopyTextureToTexture :: proc "c" (commandEncoder: CommandEncoder, source: ^TexelCopyTextureInfo, destination: ^TexelCopyTextureInfo, copySize: ^Extent3D) ---
CommandEncoderFinish ¶
CommandEncoderFinish :: proc "c" (commandEncoder: CommandEncoder, descriptor: ^CommandBufferDescriptor = nil) -> CommandBuffer ---
CommandEncoderInsertDebugMarker ¶
CommandEncoderInsertDebugMarker :: proc "c" (commandEncoder: CommandEncoder, markerLabel: string) ---
CommandEncoderPopDebugGroup ¶
CommandEncoderPopDebugGroup :: proc "c" (commandEncoder: CommandEncoder) ---
CommandEncoderPushDebugGroup ¶
CommandEncoderPushDebugGroup :: proc "c" (commandEncoder: CommandEncoder, groupLabel: string) ---
CommandEncoderRelease ¶
CommandEncoderRelease :: proc "c" (commandEncoder: CommandEncoder) ---
CommandEncoderSetLabel ¶
CommandEncoderSetLabel :: proc "c" (commandEncoder: CommandEncoder, label: string) ---
CommandEncoderWriteTimestamp ¶
CommandEncoderWriteTimestamp :: proc "c" (commandEncoder: CommandEncoder, querySet: QuerySet, queryIndex: u32) ---
ComputePassEncoderAddRef ¶
ComputePassEncoderAddRef :: proc "c" (computePassEncoder: ComputePassEncoder) ---
ComputePassEncoderBeginPipelineStatisticsQuery ¶
ComputePassEncoderBeginPipelineStatisticsQuery :: proc "c" (computePassEncoder: ComputePassEncoder, querySet: QuerySet, queryIndex: u32) ---
ComputePassEncoderDispatchWorkgroups ¶
ComputePassEncoderDispatchWorkgroups :: proc "c" (computePassEncoder: ComputePassEncoder, workgroupCountX: u32, workgroupCountY: u32, workgroupCountZ: u32) ---
Methods of ComputePassEncoder
ComputePassEncoderDispatchWorkgroupsIndirect ¶
ComputePassEncoderDispatchWorkgroupsIndirect :: proc "c" (computePassEncoder: ComputePassEncoder, indirectBuffer: Buffer, indirectOffset: u64) ---
ComputePassEncoderEnd ¶
ComputePassEncoderEnd :: proc "c" (computePassEncoder: ComputePassEncoder) ---
ComputePassEncoderEndPipelineStatisticsQuery ¶
ComputePassEncoderEndPipelineStatisticsQuery :: proc "c" (computePassEncoder: ComputePassEncoder) ---
ComputePassEncoderInsertDebugMarker ¶
ComputePassEncoderInsertDebugMarker :: proc "c" (computePassEncoder: ComputePassEncoder, markerLabel: string) ---
ComputePassEncoderPopDebugGroup ¶
ComputePassEncoderPopDebugGroup :: proc "c" (computePassEncoder: ComputePassEncoder) ---
ComputePassEncoderPushDebugGroup ¶
ComputePassEncoderPushDebugGroup :: proc "c" (computePassEncoder: ComputePassEncoder, groupLabel: string) ---
ComputePassEncoderRelease ¶
ComputePassEncoderRelease :: proc "c" (computePassEncoder: ComputePassEncoder) ---
ComputePassEncoderSetBindGroup ¶
ComputePassEncoderSetBindGroup :: proc "c" (computePassEncoder: ComputePassEncoder, groupIndex: u32, group: BindGroup, dynamicOffsets: []u32 = nil) {…}
ComputePassEncoderSetLabel ¶
ComputePassEncoderSetLabel :: proc "c" (computePassEncoder: ComputePassEncoder, label: string) ---
ComputePassEncoderSetPipeline ¶
ComputePassEncoderSetPipeline :: proc "c" (computePassEncoder: ComputePassEncoder, pipeline: ComputePipeline) ---
ComputePassEncoderSetPushConstants ¶
ComputePassEncoderSetPushConstants :: proc "c" (encoder: ComputePassEncoder, offset: u32, sizeBytes: u32, data: rawptr) ---
ComputePassEncoderWriteTimestamp ¶
ComputePassEncoderWriteTimestamp :: proc "c" (computePassEncoder: ComputePassEncoder, querySet: QuerySet, queryIndex: u32) ---
ComputePipelineAddRef ¶
ComputePipelineAddRef :: proc "c" (computePipeline: ComputePipeline) ---
ComputePipelineGetBindGroupLayout ¶
ComputePipelineGetBindGroupLayout :: proc "c" (computePipeline: ComputePipeline, groupIndex: u32) -> BindGroupLayout ---
Methods of ComputePipeline
ComputePipelineRelease ¶
ComputePipelineRelease :: proc "c" (computePipeline: ComputePipeline) ---
ComputePipelineSetLabel ¶
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 {…}
DeviceAddRef ¶
DeviceAddRef :: proc "c" (device: Device) ---
DeviceCreateBindGroup ¶
DeviceCreateBindGroup :: proc "c" (device: Device, descriptor: ^BindGroupDescriptor) -> BindGroup ---
Methods of Device
DeviceCreateBindGroupLayout ¶
DeviceCreateBindGroupLayout :: proc "c" (device: Device, descriptor: ^BindGroupLayoutDescriptor) -> BindGroupLayout ---
DeviceCreateBuffer ¶
DeviceCreateBuffer :: proc "c" (device: Device, descriptor: ^BufferDescriptor) -> Buffer ---
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 ¶
DeviceCreateCommandEncoder :: proc "c" (device: Device, descriptor: ^CommandEncoderDescriptor = nil) -> CommandEncoder ---
DeviceCreateComputePipeline ¶
DeviceCreateComputePipeline :: proc "c" (device: Device, descriptor: ^ComputePipelineDescriptor) -> ComputePipeline ---
DeviceCreateComputePipelineAsync ¶
DeviceCreateComputePipelineAsync :: proc "c" (device: Device, descriptor: ^ComputePipelineDescriptor, callbackInfo: CreateComputePipelineAsyncCallbackInfo) -> Future ---
DeviceCreatePipelineLayout ¶
DeviceCreatePipelineLayout :: proc "c" (device: Device, descriptor: ^PipelineLayoutDescriptor) -> PipelineLayout ---
DeviceCreateQuerySet ¶
DeviceCreateQuerySet :: proc "c" (device: Device, descriptor: ^QuerySetDescriptor) -> QuerySet ---
DeviceCreateRenderBundleEncoder ¶
DeviceCreateRenderBundleEncoder :: proc "c" (device: Device, descriptor: ^RenderBundleEncoderDescriptor) -> RenderBundleEncoder ---
DeviceCreateRenderPipeline ¶
DeviceCreateRenderPipeline :: proc "c" (device: Device, descriptor: ^RenderPipelineDescriptor) -> RenderPipeline ---
DeviceCreateRenderPipelineAsync ¶
DeviceCreateRenderPipelineAsync :: proc "c" (device: Device, descriptor: ^RenderPipelineDescriptor, callbackInfo: CreateRenderPipelineAsyncCallbackInfo) -> Future ---
DeviceCreateSampler ¶
DeviceCreateSampler :: proc "c" (device: Device, descriptor: ^SamplerDescriptor = nil) -> Sampler ---
DeviceCreateShaderModule ¶
DeviceCreateShaderModule :: proc "c" (device: Device, descriptor: ^ShaderModuleDescriptor) -> ShaderModule ---
DeviceCreateShaderModuleSpirV ¶
DeviceCreateShaderModuleSpirV :: proc "c" (device: Device, descriptor: ^ShaderModuleDescriptorSpirV) -> ShaderModule ---
DeviceCreateTexture ¶
DeviceCreateTexture :: proc "c" (device: Device, descriptor: ^TextureDescriptor) -> Texture ---
DeviceDestroy ¶
DeviceDestroy :: proc "c" (device: Device) ---
DeviceGetAdapterInfo ¶
DeviceGetAdapterInfo :: proc "c" (device: Device) -> (info: AdapterInfo, status: Status) {…}
DeviceGetFeatures ¶
DeviceGetFeatures :: proc "c" (device: Device) -> (features: SupportedFeatures) {…}
DeviceHasFeature ¶
DeviceHasFeature :: proc "c" (device: Device, feature: FeatureName) -> b32 ---
DevicePoll ¶
DevicePoll :: proc "c" (device: Device, wait: b32, wrappedSubmissionIndex: ^SubmissionIndex = nil) -> b32 ---
Returns true if the queue is empty, or false if there are more queue submissions still in flight.
DevicePopErrorScope ¶
DevicePopErrorScope :: proc "c" (device: Device, callbackInfo: PopErrorScopeCallbackInfo) -> Future ---
DevicePushErrorScope ¶
DevicePushErrorScope :: proc "c" (device: Device, filter: ErrorFilter) ---
DeviceRelease ¶
DeviceRelease :: proc "c" (device: Device) ---
GenerateReport ¶
GenerateReport :: proc "c" (instance: Instance) -> (report: GlobalReport) {…}
GetInstanceCapabilities ¶
GetInstanceCapabilities :: proc "c" () -> (capabilities: InstanceCapabilities, status: Status) {…}
GetVersion ¶
GetVersion :: proc "c" () -> u32 ---
InstanceAddRef ¶
InstanceAddRef :: proc "c" (instance: Instance) ---
InstanceCreateSurface ¶
InstanceCreateSurface :: proc "c" (instance: Instance, descriptor: ^SurfaceDescriptor) -> Surface ---
Methods of Instance
InstanceEnumerateAdapters ¶
InstanceEnumerateAdapters :: proc(instance: Instance, options: ^InstanceEnumerateAdapterOptions = nil, allocator := context.allocator) -> (adapters: []Adapter) {…}
InstanceGetWGSLLanguageFeatures ¶
InstanceGetWGSLLanguageFeatures :: proc "c" (instance: Instance) -> (features: SupportedWGSLLanguageFeatures, status: Status) {…}
InstanceHasWGSLLanguageFeature ¶
InstanceHasWGSLLanguageFeature :: proc "c" (instance: Instance, feature: WGSLLanguageFeatureName) -> b32 ---
InstanceProcessEvents ¶
InstanceProcessEvents :: proc "c" (instance: Instance) ---
InstanceRelease ¶
InstanceRelease :: proc "c" (instance: Instance) ---
InstanceRequestAdapter ¶
InstanceRequestAdapter :: proc "c" (instance: Instance, options: ^RequestAdapterOptions, callbackInfo: RequestAdapterCallbackInfo) -> Future ---
InstanceWaitAny ¶
InstanceWaitAny :: proc "c" (instance: Instance, futureCount: uint, futures: [^]FutureWaitInfo, timeoutNS: u64) -> WaitStatus ---
PipelineLayoutAddRef ¶
PipelineLayoutAddRef :: proc "c" (pipelineLayout: PipelineLayout) ---
PipelineLayoutRelease ¶
PipelineLayoutRelease :: proc "c" (pipelineLayout: PipelineLayout) ---
PipelineLayoutSetLabel ¶
PipelineLayoutSetLabel :: proc "c" (pipelineLayout: PipelineLayout, label: string) ---
Methods of PipelineLayout
QuerySetAddRef ¶
QuerySetAddRef :: proc "c" (querySet: QuerySet) ---
QuerySetRelease ¶
QuerySetRelease :: proc "c" (querySet: QuerySet) ---
QueueAddRef ¶
QueueAddRef :: proc "c" (queue: Queue) ---
QueueOnSubmittedWorkDone ¶
QueueOnSubmittedWorkDone :: proc "c" (queue: Queue, callbackInfo: QueueWorkDoneCallbackInfo) -> Future ---
Methods of Queue
QueueRelease ¶
QueueRelease :: proc "c" (queue: Queue) ---
QueueSubmit ¶
QueueSubmit :: proc "c" (queue: Queue, commands: []CommandBuffer) {…}
QueueSubmitForIndex ¶
QueueSubmitForIndex :: proc "c" (queue: Queue, commands: []CommandBuffer) -> SubmissionIndex {…}
QueueWriteTexture ¶
QueueWriteTexture :: proc "c" ( queue: Queue, destination: ^TexelCopyTextureInfo, data: rawptr, dataSize: uint, dataLayout: ^TexelCopyBufferLayout, writeSize: ^Extent3D, ) ---
RawAdapterGetFeatures ¶
RawAdapterGetFeatures :: proc "c" (adapter: Adapter, features: ^SupportedFeatures) ---
Methods of Adapter
RawAdapterGetInfo ¶
RawAdapterGetInfo :: proc "c" (adapter: Adapter, info: ^AdapterInfo) -> Status ---
RawComputePassEncoderSetBindGroup ¶
RawComputePassEncoderSetBindGroup :: proc "c" (computePassEncoder: ComputePassEncoder, groupIndex: u32, group: BindGroup, dynamicOffsetCount: uint, dynamicOffsets: [^]u32) ---
RawCreateInstance ¶
RawCreateInstance :: proc "c" (descriptor: ^InstanceDescriptor = nil) -> Instance ---
RawDeviceGetAdapterInfo ¶
RawDeviceGetAdapterInfo :: proc "c" (device: Device, info: ^AdapterInfo) -> Status ---
RawDeviceGetFeatures ¶
RawDeviceGetFeatures :: proc "c" (device: Device, features: ^SupportedFeatures) ---
RawGenerateReport ¶
RawGenerateReport :: proc "c" (instance: Instance, report: ^GlobalReport) ---
RawGetInstanceCapabilities ¶
RawGetInstanceCapabilities :: proc "c" (capabilities: ^InstanceCapabilities) -> Status ---
RawInstanceEnumerateAdapters ¶
RawInstanceEnumerateAdapters :: proc "c" (instance: Instance, options: ^InstanceEnumerateAdapterOptions, adapters: [^]Adapter) -> uint ---
RawInstanceGetWGSLLanguageFeatures ¶
RawInstanceGetWGSLLanguageFeatures :: proc "c" (instance: Instance, features: ^SupportedWGSLLanguageFeatures) -> Status ---
RawQueueSubmit ¶
RawQueueSubmit :: proc "c" (queue: Queue, commandCount: uint, commands: [^]CommandBuffer) ---
RawQueueSubmitForIndex ¶
RawQueueSubmitForIndex :: proc "c" (queue: Queue, commandCount: uint, commands: [^]CommandBuffer) -> SubmissionIndex ---
RawRenderBundleEncoderSetBindGroup ¶
RawRenderBundleEncoderSetBindGroup :: proc "c" (renderBundleEncoder: RenderBundleEncoder, groupIndex: u32, group: BindGroup, dynamicOffsetCount: uint, dynamicOffsets: [^]u32) ---
RawRenderPassEncoderExecuteBundles ¶
RawRenderPassEncoderExecuteBundles :: proc "c" (renderPassEncoder: RenderPassEncoder, bundleCount: uint, bundles: [^]RenderBundle) ---
RawRenderPassEncoderSetBindGroup ¶
RawRenderPassEncoderSetBindGroup :: proc "c" (renderPassEncoder: RenderPassEncoder, groupIndex: u32, group: BindGroup, dynamicOffsetCount: uint, dynamicOffsets: [^]u32) ---
RawSurfaceGetCapabilities ¶
RawSurfaceGetCapabilities :: proc "c" (surface: Surface, adapter: Adapter, capabilities: ^SurfaceCapabilities) -> Status ---
RawSurfaceGetCurrentTexture ¶
RawSurfaceGetCurrentTexture :: proc "c" (surface: Surface, surfaceTexture: ^SurfaceTexture) ---
RenderBundleAddRef ¶
RenderBundleAddRef :: proc "c" (renderBundle: RenderBundle) ---
RenderBundleEncoderAddRef ¶
RenderBundleEncoderAddRef :: proc "c" (renderBundleEncoder: RenderBundleEncoder) ---
RenderBundleEncoderDraw ¶
RenderBundleEncoderDraw :: proc "c" (renderBundleEncoder: RenderBundleEncoder, vertexCount: u32, instanceCount: u32, firstVertex: u32, firstInstance: u32) ---
Methods of RenderBundleEncoder
RenderBundleEncoderDrawIndexedIndirect ¶
RenderBundleEncoderDrawIndexedIndirect :: proc "c" (renderBundleEncoder: RenderBundleEncoder, indirectBuffer: Buffer, indirectOffset: u64) ---
RenderBundleEncoderDrawIndirect ¶
RenderBundleEncoderDrawIndirect :: proc "c" (renderBundleEncoder: RenderBundleEncoder, indirectBuffer: Buffer, indirectOffset: u64) ---
RenderBundleEncoderFinish ¶
RenderBundleEncoderFinish :: proc "c" (renderBundleEncoder: RenderBundleEncoder, descriptor: ^RenderBundleDescriptor = nil) -> RenderBundle ---
RenderBundleEncoderInsertDebugMarker ¶
RenderBundleEncoderInsertDebugMarker :: proc "c" (renderBundleEncoder: RenderBundleEncoder, markerLabel: string) ---
RenderBundleEncoderPopDebugGroup ¶
RenderBundleEncoderPopDebugGroup :: proc "c" (renderBundleEncoder: RenderBundleEncoder) ---
RenderBundleEncoderPushDebugGroup ¶
RenderBundleEncoderPushDebugGroup :: proc "c" (renderBundleEncoder: RenderBundleEncoder, groupLabel: string) ---
RenderBundleEncoderRelease ¶
RenderBundleEncoderRelease :: proc "c" (renderBundleEncoder: RenderBundleEncoder) ---
RenderBundleEncoderSetBindGroup ¶
RenderBundleEncoderSetBindGroup :: proc "c" (renderBundleEncoder: RenderBundleEncoder, groupIndex: u32, group: BindGroup, dynamicOffsets: []u32 = nil) {…}
RenderBundleEncoderSetIndexBuffer ¶
RenderBundleEncoderSetIndexBuffer :: proc "c" (renderBundleEncoder: RenderBundleEncoder, buffer: Buffer, format: IndexFormat, offset: u64, size: u64) ---
RenderBundleEncoderSetLabel ¶
RenderBundleEncoderSetLabel :: proc "c" (renderBundleEncoder: RenderBundleEncoder, label: string) ---
RenderBundleEncoderSetPipeline ¶
RenderBundleEncoderSetPipeline :: proc "c" (renderBundleEncoder: RenderBundleEncoder, pipeline: RenderPipeline) ---
RenderBundleEncoderSetPushConstants ¶
RenderBundleEncoderSetPushConstants :: proc "c" (encoder: RenderBundleEncoder, stages: bit_set[ShaderStage; u64], offset: u32, sizeBytes: u32, data: rawptr) ---
RenderBundleEncoderSetVertexBuffer ¶
RenderBundleEncoderSetVertexBuffer :: proc "c" (renderBundleEncoder: RenderBundleEncoder, slot: u32, buffer: Buffer, offset: u64, size: u64) ---
RenderBundleRelease ¶
RenderBundleRelease :: proc "c" (renderBundle: RenderBundle) ---
RenderBundleSetLabel ¶
RenderBundleSetLabel :: proc "c" (renderBundle: RenderBundle, label: string) ---
Methods of RenderBundle
RenderPassEncoderAddRef ¶
RenderPassEncoderAddRef :: proc "c" (renderPassEncoder: RenderPassEncoder) ---
RenderPassEncoderBeginOcclusionQuery ¶
RenderPassEncoderBeginOcclusionQuery :: proc "c" (renderPassEncoder: RenderPassEncoder, queryIndex: u32) ---
Methods of RenderPassEncoder
RenderPassEncoderBeginPipelineStatisticsQuery ¶
RenderPassEncoderBeginPipelineStatisticsQuery :: proc "c" (renderPassEncoder: RenderPassEncoder, querySet: QuerySet, queryIndex: u32) ---
RenderPassEncoderDraw ¶
RenderPassEncoderDraw :: proc "c" (renderPassEncoder: RenderPassEncoder, vertexCount: u32, instanceCount: u32, firstVertex: u32, firstInstance: u32) ---
RenderPassEncoderDrawIndexedIndirect ¶
RenderPassEncoderDrawIndexedIndirect :: proc "c" (renderPassEncoder: RenderPassEncoder, indirectBuffer: Buffer, indirectOffset: u64) ---
RenderPassEncoderDrawIndirect ¶
RenderPassEncoderDrawIndirect :: proc "c" (renderPassEncoder: RenderPassEncoder, indirectBuffer: Buffer, indirectOffset: u64) ---
RenderPassEncoderEnd ¶
RenderPassEncoderEnd :: proc "c" (renderPassEncoder: RenderPassEncoder) ---
RenderPassEncoderEndOcclusionQuery ¶
RenderPassEncoderEndOcclusionQuery :: proc "c" (renderPassEncoder: RenderPassEncoder) ---
RenderPassEncoderEndPipelineStatisticsQuery ¶
RenderPassEncoderEndPipelineStatisticsQuery :: proc "c" (renderPassEncoder: RenderPassEncoder) ---
RenderPassEncoderExecuteBundles ¶
RenderPassEncoderExecuteBundles :: proc "c" (renderPassEncoder: RenderPassEncoder, bundles: []RenderBundle) {…}
RenderPassEncoderInsertDebugMarker ¶
RenderPassEncoderInsertDebugMarker :: proc "c" (renderPassEncoder: RenderPassEncoder, markerLabel: string) ---
RenderPassEncoderMultiDrawIndexedIndirect ¶
RenderPassEncoderMultiDrawIndexedIndirect :: proc "c" (encoder: RenderPassEncoder, buffer: Buffer, offset: u64, count: u32) ---
RenderPassEncoderMultiDrawIndirect ¶
RenderPassEncoderMultiDrawIndirect :: proc "c" (encoder: RenderPassEncoder, buffer: Buffer, offset: u64, count: u32) ---
RenderPassEncoderPopDebugGroup ¶
RenderPassEncoderPopDebugGroup :: proc "c" (renderPassEncoder: RenderPassEncoder) ---
RenderPassEncoderPushDebugGroup ¶
RenderPassEncoderPushDebugGroup :: proc "c" (renderPassEncoder: RenderPassEncoder, groupLabel: string) ---
RenderPassEncoderRelease ¶
RenderPassEncoderRelease :: proc "c" (renderPassEncoder: RenderPassEncoder) ---
RenderPassEncoderSetBindGroup ¶
RenderPassEncoderSetBindGroup :: proc "c" (renderPassEncoder: RenderPassEncoder, groupIndex: u32, group: BindGroup, dynamicOffsets: []u32 = nil) {…}
RenderPassEncoderSetBlendConstant ¶
RenderPassEncoderSetBlendConstant :: proc "c" (renderPassEncoder: RenderPassEncoder, color: ^[4]f64) ---
RenderPassEncoderSetIndexBuffer ¶
RenderPassEncoderSetIndexBuffer :: proc "c" (renderPassEncoder: RenderPassEncoder, buffer: Buffer, format: IndexFormat, offset: u64, size: u64) ---
RenderPassEncoderSetLabel ¶
RenderPassEncoderSetLabel :: proc "c" (renderPassEncoder: RenderPassEncoder, label: string) ---
RenderPassEncoderSetPipeline ¶
RenderPassEncoderSetPipeline :: proc "c" (renderPassEncoder: RenderPassEncoder, pipeline: RenderPipeline) ---
RenderPassEncoderSetPushConstants ¶
RenderPassEncoderSetPushConstants :: proc "c" (encoder: RenderPassEncoder, stages: bit_set[ShaderStage; u64], offset: u32, sizeBytes: u32, data: rawptr) ---
RenderPassEncoderSetScissorRect ¶
RenderPassEncoderSetScissorRect :: proc "c" (renderPassEncoder: RenderPassEncoder, x: u32, y: u32, width: u32, height: u32) ---
RenderPassEncoderSetStencilReference ¶
RenderPassEncoderSetStencilReference :: proc "c" (renderPassEncoder: RenderPassEncoder, reference: u32) ---
RenderPassEncoderSetVertexBuffer ¶
RenderPassEncoderSetVertexBuffer :: proc "c" (renderPassEncoder: RenderPassEncoder, slot: u32, buffer: Buffer, offset: u64, size: u64) ---
RenderPassEncoderWriteTimestamp ¶
RenderPassEncoderWriteTimestamp :: proc "c" (renderPassEncoder: RenderPassEncoder, querySet: QuerySet, queryIndex: u32) ---
RenderPipelineAddRef ¶
RenderPipelineAddRef :: proc "c" (renderPipeline: RenderPipeline) ---
RenderPipelineGetBindGroupLayout ¶
RenderPipelineGetBindGroupLayout :: proc "c" (renderPipeline: RenderPipeline, groupIndex: u32) -> BindGroupLayout ---
Methods of RenderPipeline
RenderPipelineRelease ¶
RenderPipelineRelease :: proc "c" (renderPipeline: RenderPipeline) ---
RenderPipelineSetLabel ¶
RenderPipelineSetLabel :: proc "c" (renderPipeline: RenderPipeline, label: string) ---
SamplerAddRef ¶
SamplerAddRef :: proc "c" (sampler: Sampler) ---
SamplerRelease ¶
SamplerRelease :: proc "c" (sampler: Sampler) ---
SamplerSetLabel ¶
Methods of Sampler
SetLogCallback ¶
SetLogCallback :: proc "c" (callback: LogCallback, userdata: rawptr) ---
SetLogLevel ¶
SetLogLevel :: proc "c" (level: LogLevel) ---
ShaderModuleAddRef ¶
ShaderModuleAddRef :: proc "c" (shaderModule: ShaderModule) ---
ShaderModuleGetCompilationInfo ¶
ShaderModuleGetCompilationInfo :: proc "c" (shaderModule: ShaderModule, callbackInfo: CompilationInfoCallbackInfo) -> Future ---
Methods of ShaderModule
ShaderModuleRelease ¶
ShaderModuleRelease :: proc "c" (shaderModule: ShaderModule) ---
ShaderModuleSetLabel ¶
ShaderModuleSetLabel :: proc "c" (shaderModule: ShaderModule, label: string) ---
SupportedFeaturesFreeMembers ¶
SupportedFeaturesFreeMembers :: proc "c" (supportedFeatures: SupportedFeatures) ---
Methods of SupportedFeatures
SupportedWGSLLanguageFeaturesFreeMembers ¶
SupportedWGSLLanguageFeaturesFreeMembers :: proc "c" (supportedWGSLLanguageFeatures: SupportedWGSLLanguageFeatures) ---
Methods of SupportedWGSLLanguageFeatures
SurfaceAddRef ¶
SurfaceAddRef :: proc "c" (surface: Surface) ---
SurfaceCapabilitiesFreeMembers ¶
SurfaceCapabilitiesFreeMembers :: proc "c" (surfaceCapabilities: SurfaceCapabilities) ---
Methods of SurfaceCapabilities
SurfaceConfigure ¶
SurfaceConfigure :: proc "c" (surface: Surface, config: ^SurfaceConfiguration) ---
Methods of Surface
SurfaceGetCapabilities ¶
SurfaceGetCapabilities :: proc "c" (surface: Surface, adapter: Adapter) -> (capabilities: SurfaceCapabilities, status: Status) {…}
SurfaceGetCurrentTexture ¶
SurfaceGetCurrentTexture :: proc "c" (surface: Surface) -> (surface_texture: SurfaceTexture) {…}
SurfaceRelease ¶
SurfaceRelease :: proc "c" (surface: Surface) ---
SurfaceUnconfigure ¶
SurfaceUnconfigure :: proc "c" (surface: Surface) ---
TextureAddRef ¶
TextureAddRef :: proc "c" (texture: Texture) ---
TextureCreateView ¶
TextureCreateView :: proc "c" (texture: Texture, descriptor: ^TextureViewDescriptor = nil) -> TextureView ---
Methods of Texture
TextureDestroy ¶
TextureDestroy :: proc "c" (texture: Texture) ---
TextureGetDimension ¶
TextureGetDimension :: proc "c" (texture: Texture) -> TextureDimension ---
TextureGetFormat ¶
TextureGetFormat :: proc "c" (texture: Texture) -> TextureFormat ---
TextureGetUsage ¶
TextureGetUsage :: proc "c" (texture: Texture) -> bit_set[TextureUsage; u64] ---
TextureRelease ¶
TextureRelease :: proc "c" (texture: Texture) ---
TextureViewAddRef ¶
TextureViewAddRef :: proc "c" (textureView: TextureView) ---
TextureViewRelease ¶
TextureViewRelease :: proc "c" (textureView: TextureView) ---
TextureViewSetLabel ¶
TextureViewSetLabel :: proc "c" (textureView: TextureView, label: string) ---
Methods of TextureView
Procedure Groups
ConvertLogLevel ¶
ConvertLogLevel :: proc{ ConvertOdinToWGPULogLevel, ConvertWGPUToOdinLogLevel, }
DeviceCreateBufferWithData ¶
DeviceCreateBufferWithData :: proc{ DeviceCreateBufferWithDataSlice, DeviceCreateBufferWithDataTyped, }
Source Files
Generation Information
Generated with odin version dev-2025-03 (vendor "odin") Windows_amd64 @ 2025-03-25 21:11:18.220572200 +0000 UTC