#define WGPU_ARRAY_LAYER_COUNT_UNDEFINED (0xffffffffUL) #define WGPU_COPY_STRIDE_UNDEFINED (0xffffffffUL) #define WGPU_LIMIT_U32_UNDEFINED (0xffffffffUL) #define WGPU_LIMIT_U64_UNDEFINED (0xffffffffffffffffULL) #define WGPU_MIP_LEVEL_COUNT_UNDEFINED (0xffffffffUL) #define WGPU_STRIDE_UNDEFINED (0xffffffffUL) #define WGPU_WHOLE_MAP_SIZE SIZE_MAX #define WGPU_WHOLE_SIZE (0xffffffffffffffffULL) typedef uint32_t WGPUFlags; typedef struct WGPUBindGroupImpl* WGPUBindGroup; typedef struct WGPUBindGroupLayoutImpl* WGPUBindGroupLayout; typedef struct WGPUBufferImpl* WGPUBuffer; typedef struct WGPUCommandBufferImpl* WGPUCommandBuffer; typedef struct WGPUCommandEncoderImpl* WGPUCommandEncoder; typedef struct WGPUComputePassEncoderImpl* WGPUComputePassEncoder; typedef struct WGPUComputePipelineImpl* WGPUComputePipeline; typedef struct WGPUExternalTextureImpl* WGPUExternalTexture; typedef struct WGPUPipelineLayoutImpl* WGPUPipelineLayout; typedef struct WGPUQuerySetImpl* WGPUQuerySet; typedef struct WGPURenderBundleImpl* WGPURenderBundle; typedef struct WGPURenderBundleEncoderImpl* WGPURenderBundleEncoder; typedef struct WGPURenderPassEncoderImpl* WGPURenderPassEncoder; typedef struct WGPURenderPipelineImpl* WGPURenderPipeline; typedef struct WGPUSamplerImpl* WGPUSampler; typedef struct WGPUTextureImpl* WGPUTexture; typedef struct WGPUTextureViewImpl* WGPUTextureView; typedef enum WGPUAlphaMode { WGPUAlphaMode_Premultiplied = 0x00000000, WGPUAlphaMode_Unpremultiplied = 0x00000001, WGPUAlphaMode_Force32 = 0x7FFFFFFF } WGPUAlphaMode; typedef enum WGPUBlendFactor { WGPUBlendFactor_Zero = 0x00000000, WGPUBlendFactor_One = 0x00000001, WGPUBlendFactor_Src = 0x00000002, WGPUBlendFactor_OneMinusSrc = 0x00000003, WGPUBlendFactor_SrcAlpha = 0x00000004, WGPUBlendFactor_OneMinusSrcAlpha = 0x00000005, WGPUBlendFactor_Dst = 0x00000006, WGPUBlendFactor_OneMinusDst = 0x00000007, WGPUBlendFactor_DstAlpha = 0x00000008, WGPUBlendFactor_OneMinusDstAlpha = 0x00000009, WGPUBlendFactor_SrcAlphaSaturated = 0x0000000A, WGPUBlendFactor_Constant = 0x0000000B, WGPUBlendFactor_OneMinusConstant = 0x0000000C, WGPUBlendFactor_Force32 = 0x7FFFFFFF } WGPUBlendFactor; typedef enum WGPUBlendOperation { WGPUBlendOperation_Add = 0x00000000, WGPUBlendOperation_Subtract = 0x00000001, WGPUBlendOperation_ReverseSubtract = 0x00000002, WGPUBlendOperation_Min = 0x00000003, WGPUBlendOperation_Max = 0x00000004, WGPUBlendOperation_Force32 = 0x7FFFFFFF } WGPUBlendOperation; typedef enum WGPUBufferBindingType { WGPUBufferBindingType_Undefined = 0x00000000, WGPUBufferBindingType_Uniform = 0x00000001, WGPUBufferBindingType_Storage = 0x00000002, WGPUBufferBindingType_ReadOnlyStorage = 0x00000003, WGPUBufferBindingType_Force32 = 0x7FFFFFFF } WGPUBufferBindingType; typedef enum WGPUBufferMapAsyncStatus { WGPUBufferMapAsyncStatus_Success = 0x00000000, WGPUBufferMapAsyncStatus_Error = 0x00000001, WGPUBufferMapAsyncStatus_Unknown = 0x00000002, WGPUBufferMapAsyncStatus_DeviceLost = 0x00000003, WGPUBufferMapAsyncStatus_DestroyedBeforeCallback = 0x00000004, WGPUBufferMapAsyncStatus_UnmappedBeforeCallback = 0x00000005, WGPUBufferMapAsyncStatus_Force32 = 0x7FFFFFFF } WGPUBufferMapAsyncStatus; typedef enum WGPUCompareFunction { WGPUCompareFunction_Undefined = 0x00000000, WGPUCompareFunction_Never = 0x00000001, WGPUCompareFunction_Less = 0x00000002, WGPUCompareFunction_LessEqual = 0x00000003, WGPUCompareFunction_Greater = 0x00000004, WGPUCompareFunction_GreaterEqual = 0x00000005, WGPUCompareFunction_Equal = 0x00000006, WGPUCompareFunction_NotEqual = 0x00000007, WGPUCompareFunction_Always = 0x00000008, WGPUCompareFunction_Force32 = 0x7FFFFFFF } WGPUCompareFunction; typedef enum WGPUCompilationInfoRequestStatus { WGPUCompilationInfoRequestStatus_Success = 0x00000000, WGPUCompilationInfoRequestStatus_Error = 0x00000001, WGPUCompilationInfoRequestStatus_DeviceLost = 0x00000002, WGPUCompilationInfoRequestStatus_Unknown = 0x00000003, WGPUCompilationInfoRequestStatus_Force32 = 0x7FFFFFFF } WGPUCompilationInfoRequestStatus; typedef enum WGPUCompilationMessageType { WGPUCompilationMessageType_Error = 0x00000000, WGPUCompilationMessageType_Warning = 0x00000001, WGPUCompilationMessageType_Info = 0x00000002, WGPUCompilationMessageType_Force32 = 0x7FFFFFFF } WGPUCompilationMessageType; typedef enum WGPUComputePassTimestampLocation { WGPUComputePassTimestampLocation_Beginning = 0x00000000, WGPUComputePassTimestampLocation_End = 0x00000001, WGPUComputePassTimestampLocation_Force32 = 0x7FFFFFFF } WGPUComputePassTimestampLocation; typedef enum WGPUCreatePipelineAsyncStatus { WGPUCreatePipelineAsyncStatus_Success = 0x00000000, WGPUCreatePipelineAsyncStatus_Error = 0x00000001, WGPUCreatePipelineAsyncStatus_DeviceLost = 0x00000002, WGPUCreatePipelineAsyncStatus_DeviceDestroyed = 0x00000003, WGPUCreatePipelineAsyncStatus_Unknown = 0x00000004, WGPUCreatePipelineAsyncStatus_Force32 = 0x7FFFFFFF } WGPUCreatePipelineAsyncStatus; typedef enum WGPUCullMode { WGPUCullMode_None = 0x00000000, WGPUCullMode_Front = 0x00000001, WGPUCullMode_Back = 0x00000002, WGPUCullMode_Force32 = 0x7FFFFFFF } WGPUCullMode; typedef enum WGPUDeviceLostReason { WGPUDeviceLostReason_Undefined = 0x00000000, WGPUDeviceLostReason_Destroyed = 0x00000001, WGPUDeviceLostReason_Force32 = 0x7FFFFFFF } WGPUDeviceLostReason; typedef enum WGPUErrorFilter { WGPUErrorFilter_Validation = 0x00000000, WGPUErrorFilter_OutOfMemory = 0x00000001, WGPUErrorFilter_Force32 = 0x7FFFFFFF } WGPUErrorFilter; typedef enum WGPUErrorType { WGPUErrorType_NoError = 0x00000000, WGPUErrorType_Validation = 0x00000001, WGPUErrorType_OutOfMemory = 0x00000002, WGPUErrorType_Unknown = 0x00000003, WGPUErrorType_DeviceLost = 0x00000004, WGPUErrorType_Force32 = 0x7FFFFFFF } WGPUErrorType; typedef enum WGPUFeatureName { WGPUFeatureName_Undefined = 0x00000000, WGPUFeatureName_Depth24UnormStencil8 = 0x00000002, WGPUFeatureName_Depth32FloatStencil8 = 0x00000003, WGPUFeatureName_TimestampQuery = 0x00000004, WGPUFeatureName_PipelineStatisticsQuery = 0x00000005, WGPUFeatureName_TextureCompressionBC = 0x00000006, WGPUFeatureName_TextureCompressionETC2 = 0x00000007, WGPUFeatureName_TextureCompressionASTC = 0x00000008, WGPUFeatureName_IndirectFirstInstance = 0x00000009, WGPUFeatureName_DepthClamping = 0x000003E8, WGPUFeatureName_DawnShaderFloat16 = 0x000003E9, WGPUFeatureName_DawnInternalUsages = 0x000003EA, WGPUFeatureName_DawnMultiPlanarFormats = 0x000003EB, WGPUFeatureName_DawnNative = 0x000003EC, WGPUFeatureName_Force32 = 0x7FFFFFFF } WGPUFeatureName; typedef enum WGPUFilterMode { WGPUFilterMode_Nearest = 0x00000000, WGPUFilterMode_Linear = 0x00000001, WGPUFilterMode_Force32 = 0x7FFFFFFF } WGPUFilterMode; typedef enum WGPUFrontFace { WGPUFrontFace_CCW = 0x00000000, WGPUFrontFace_CW = 0x00000001, WGPUFrontFace_Force32 = 0x7FFFFFFF } WGPUFrontFace; typedef enum WGPUIndexFormat { WGPUIndexFormat_Undefined = 0x00000000, WGPUIndexFormat_Uint16 = 0x00000001, WGPUIndexFormat_Uint32 = 0x00000002, WGPUIndexFormat_Force32 = 0x7FFFFFFF } WGPUIndexFormat; typedef enum WGPULoadOp { WGPULoadOp_Undefined = 0x00000000, WGPULoadOp_Clear = 0x00000001, WGPULoadOp_Load = 0x00000002, WGPULoadOp_Force32 = 0x7FFFFFFF } WGPULoadOp; typedef enum WGPULoggingType { WGPULoggingType_Verbose = 0x00000000, WGPULoggingType_Info = 0x00000001, WGPULoggingType_Warning = 0x00000002, WGPULoggingType_Error = 0x00000003, WGPULoggingType_Force32 = 0x7FFFFFFF } WGPULoggingType; typedef enum WGPUPipelineStatisticName { WGPUPipelineStatisticName_VertexShaderInvocations = 0x00000000, WGPUPipelineStatisticName_ClipperInvocations = 0x00000001, WGPUPipelineStatisticName_ClipperPrimitivesOut = 0x00000002, WGPUPipelineStatisticName_FragmentShaderInvocations = 0x00000003, WGPUPipelineStatisticName_ComputeShaderInvocations = 0x00000004, WGPUPipelineStatisticName_Force32 = 0x7FFFFFFF } WGPUPipelineStatisticName; typedef enum WGPUPowerPreference { WGPUPowerPreference_Undefined = 0x00000000, WGPUPowerPreference_LowPower = 0x00000001, WGPUPowerPreference_HighPerformance = 0x00000002, WGPUPowerPreference_Force32 = 0x7FFFFFFF } WGPUPowerPreference; typedef enum WGPUPredefinedColorSpace { WGPUPredefinedColorSpace_Undefined = 0x00000000, WGPUPredefinedColorSpace_Srgb = 0x00000001, WGPUPredefinedColorSpace_Force32 = 0x7FFFFFFF } WGPUPredefinedColorSpace; typedef enum WGPUPrimitiveTopology { WGPUPrimitiveTopology_PointList = 0x00000000, WGPUPrimitiveTopology_LineList = 0x00000001, WGPUPrimitiveTopology_LineStrip = 0x00000002, WGPUPrimitiveTopology_TriangleList = 0x00000003, WGPUPrimitiveTopology_TriangleStrip = 0x00000004, WGPUPrimitiveTopology_Force32 = 0x7FFFFFFF } WGPUPrimitiveTopology; typedef enum WGPUQueryType { WGPUQueryType_Occlusion = 0x00000000, WGPUQueryType_PipelineStatistics = 0x00000001, WGPUQueryType_Timestamp = 0x00000002, WGPUQueryType_Force32 = 0x7FFFFFFF } WGPUQueryType; typedef enum WGPURenderPassTimestampLocation { WGPURenderPassTimestampLocation_Beginning = 0x00000000, WGPURenderPassTimestampLocation_End = 0x00000001, WGPURenderPassTimestampLocation_Force32 = 0x7FFFFFFF } WGPURenderPassTimestampLocation; typedef enum WGPUSType { WGPUSType_Invalid = 0x00000000, WGPUSType_ExternalTextureBindingEntry = 0x00000009, WGPUSType_ExternalTextureBindingLayout = 0x0000000A, WGPUSType_DawnTextureInternalUsageDescriptor = 0x000003E8, WGPUSType_PrimitiveDepthClampingState = 0x000003E9, WGPUSType_DawnTogglesDeviceDescriptor = 0x000003EA, WGPUSType_DawnEncoderInternalUsageDescriptor = 0x000003EB, WGPUSType_DawnInstanceDescriptor = 0x000003EC, WGPUSType_DawnCacheDeviceDescriptor = 0x000003ED, WGPUSType_Force32 = 0x7FFFFFFF } WGPUSType; typedef enum WGPUSamplerBindingType { WGPUSamplerBindingType_Undefined = 0x00000000, WGPUSamplerBindingType_Filtering = 0x00000001, WGPUSamplerBindingType_NonFiltering = 0x00000002, WGPUSamplerBindingType_Comparison = 0x00000003, WGPUSamplerBindingType_Force32 = 0x7FFFFFFF } WGPUSamplerBindingType; typedef enum WGPUStencilOperation { WGPUStencilOperation_Keep = 0x00000000, WGPUStencilOperation_Zero = 0x00000001, WGPUStencilOperation_Replace = 0x00000002, WGPUStencilOperation_Invert = 0x00000003, WGPUStencilOperation_IncrementClamp = 0x00000004, WGPUStencilOperation_DecrementClamp = 0x00000005, WGPUStencilOperation_IncrementWrap = 0x00000006, WGPUStencilOperation_DecrementWrap = 0x00000007, WGPUStencilOperation_Force32 = 0x7FFFFFFF } WGPUStencilOperation; typedef enum WGPUStorageTextureAccess { WGPUStorageTextureAccess_Undefined = 0x00000000, WGPUStorageTextureAccess_WriteOnly = 0x00000001, WGPUStorageTextureAccess_Force32 = 0x7FFFFFFF } WGPUStorageTextureAccess; typedef enum WGPUStoreOp { WGPUStoreOp_Undefined = 0x00000000, WGPUStoreOp_Store = 0x00000001, WGPUStoreOp_Discard = 0x00000002, WGPUStoreOp_Force32 = 0x7FFFFFFF } WGPUStoreOp; typedef enum WGPUTextureAspect { WGPUTextureAspect_All = 0x00000000, WGPUTextureAspect_StencilOnly = 0x00000001, WGPUTextureAspect_DepthOnly = 0x00000002, WGPUTextureAspect_Plane0Only = 0x00000003, WGPUTextureAspect_Plane1Only = 0x00000004, WGPUTextureAspect_Force32 = 0x7FFFFFFF } WGPUTextureAspect; typedef enum WGPUTextureComponentType { WGPUTextureComponentType_Float = 0x00000000, WGPUTextureComponentType_Sint = 0x00000001, WGPUTextureComponentType_Uint = 0x00000002, WGPUTextureComponentType_DepthComparison = 0x00000003, WGPUTextureComponentType_Force32 = 0x7FFFFFFF } WGPUTextureComponentType; typedef enum WGPUTextureDimension { WGPUTextureDimension_1D = 0x00000000, WGPUTextureDimension_2D = 0x00000001, WGPUTextureDimension_3D = 0x00000002, WGPUTextureDimension_Force32 = 0x7FFFFFFF } WGPUTextureDimension; typedef enum WGPUTextureSampleType { WGPUTextureSampleType_Undefined = 0x00000000, WGPUTextureSampleType_Float = 0x00000001, WGPUTextureSampleType_UnfilterableFloat = 0x00000002, WGPUTextureSampleType_Depth = 0x00000003, WGPUTextureSampleType_Sint = 0x00000004, WGPUTextureSampleType_Uint = 0x00000005, WGPUTextureSampleType_Force32 = 0x7FFFFFFF } WGPUTextureSampleType; typedef enum WGPUTextureViewDimension { WGPUTextureViewDimension_Undefined = 0x00000000, WGPUTextureViewDimension_1D = 0x00000001, WGPUTextureViewDimension_2D = 0x00000002, WGPUTextureViewDimension_2DArray = 0x00000003, WGPUTextureViewDimension_Cube = 0x00000004, WGPUTextureViewDimension_CubeArray = 0x00000005, WGPUTextureViewDimension_3D = 0x00000006, WGPUTextureViewDimension_Force32 = 0x7FFFFFFF } WGPUTextureViewDimension; typedef enum WGPUVertexFormat { WGPUVertexFormat_Undefined = 0x00000000, WGPUVertexFormat_Uint8x2 = 0x00000001, WGPUVertexFormat_Uint8x4 = 0x00000002, WGPUVertexFormat_Sint8x2 = 0x00000003, WGPUVertexFormat_Sint8x4 = 0x00000004, WGPUVertexFormat_Unorm8x2 = 0x00000005, WGPUVertexFormat_Unorm8x4 = 0x00000006, WGPUVertexFormat_Snorm8x2 = 0x00000007, WGPUVertexFormat_Snorm8x4 = 0x00000008, WGPUVertexFormat_Uint16x2 = 0x00000009, WGPUVertexFormat_Uint16x4 = 0x0000000A, WGPUVertexFormat_Sint16x2 = 0x0000000B, WGPUVertexFormat_Sint16x4 = 0x0000000C, WGPUVertexFormat_Unorm16x2 = 0x0000000D, WGPUVertexFormat_Unorm16x4 = 0x0000000E, WGPUVertexFormat_Snorm16x2 = 0x0000000F, WGPUVertexFormat_Snorm16x4 = 0x00000010, WGPUVertexFormat_Float16x2 = 0x00000011, WGPUVertexFormat_Float16x4 = 0x00000012, WGPUVertexFormat_Float32 = 0x00000013, WGPUVertexFormat_Float32x2 = 0x00000014, WGPUVertexFormat_Float32x3 = 0x00000015, WGPUVertexFormat_Float32x4 = 0x00000016, WGPUVertexFormat_Uint32 = 0x00000017, WGPUVertexFormat_Uint32x2 = 0x00000018, WGPUVertexFormat_Uint32x3 = 0x00000019, WGPUVertexFormat_Uint32x4 = 0x0000001A, WGPUVertexFormat_Sint32 = 0x0000001B, WGPUVertexFormat_Sint32x2 = 0x0000001C, WGPUVertexFormat_Sint32x3 = 0x0000001D, WGPUVertexFormat_Sint32x4 = 0x0000001E, WGPUVertexFormat_Force32 = 0x7FFFFFFF } WGPUVertexFormat; typedef enum WGPUVertexStepMode { WGPUVertexStepMode_Vertex = 0x00000000, WGPUVertexStepMode_Instance = 0x00000001, WGPUVertexStepMode_Force32 = 0x7FFFFFFF } WGPUVertexStepMode; typedef enum WGPUBufferUsage { WGPUBufferUsage_None = 0x00000000, WGPUBufferUsage_MapRead = 0x00000001, WGPUBufferUsage_MapWrite = 0x00000002, WGPUBufferUsage_CopySrc = 0x00000004, WGPUBufferUsage_CopyDst = 0x00000008, WGPUBufferUsage_Index = 0x00000010, WGPUBufferUsage_Vertex = 0x00000020, WGPUBufferUsage_Uniform = 0x00000040, WGPUBufferUsage_Storage = 0x00000080, WGPUBufferUsage_Indirect = 0x00000100, WGPUBufferUsage_QueryResolve = 0x00000200, WGPUBufferUsage_Force32 = 0x7FFFFFFF } WGPUBufferUsage; typedef WGPUFlags WGPUBufferUsageFlags; typedef enum WGPUColorWriteMask { WGPUColorWriteMask_None = 0x00000000, WGPUColorWriteMask_Red = 0x00000001, WGPUColorWriteMask_Green = 0x00000002, WGPUColorWriteMask_Blue = 0x00000004, WGPUColorWriteMask_Alpha = 0x00000008, WGPUColorWriteMask_All = 0x0000000F, WGPUColorWriteMask_Force32 = 0x7FFFFFFF } WGPUColorWriteMask; typedef WGPUFlags WGPUColorWriteMaskFlags; typedef enum WGPUMapMode { WGPUMapMode_None = 0x00000000, WGPUMapMode_Read = 0x00000001, WGPUMapMode_Write = 0x00000002, WGPUMapMode_Force32 = 0x7FFFFFFF } WGPUMapMode; typedef WGPUFlags WGPUMapModeFlags; typedef enum WGPUShaderStage { WGPUShaderStage_None = 0x00000000, WGPUShaderStage_Vertex = 0x00000001, WGPUShaderStage_Fragment = 0x00000002, WGPUShaderStage_Compute = 0x00000004, WGPUShaderStage_Force32 = 0x7FFFFFFF } WGPUShaderStage; typedef WGPUFlags WGPUShaderStageFlags; typedef struct WGPUChainedStruct { struct WGPUChainedStruct const * next; WGPUSType sType; } WGPUChainedStruct; typedef struct WGPUChainedStructOut { struct WGPUChainedStructOut * next; WGPUSType sType; } WGPUChainedStructOut; typedef struct WGPUBindGroupEntry { WGPUChainedStruct const * nextInChain; uint32_t binding; WGPUBuffer buffer; uint64_t offset; uint64_t size; WGPUSampler sampler; WGPUTextureView textureView; } WGPUBindGroupEntry; typedef struct WGPUBlendComponent { WGPUBlendOperation operation; WGPUBlendFactor srcFactor; WGPUBlendFactor dstFactor; } WGPUBlendComponent; typedef struct WGPUBufferBindingLayout { WGPUChainedStruct const * nextInChain; WGPUBufferBindingType type; bool hasDynamicOffset; uint64_t minBindingSize; } WGPUBufferBindingLayout; typedef struct WGPUBufferDescriptor { WGPUChainedStruct const * nextInChain; char const * label; WGPUBufferUsageFlags usage; uint64_t size; bool mappedAtCreation; } WGPUBufferDescriptor; typedef struct WGPUColor { double r; double g; double b; double a; } WGPUColor; typedef struct WGPUCommandBufferDescriptor { WGPUChainedStruct const * nextInChain; char const * label; } WGPUCommandBufferDescriptor; typedef struct WGPUCommandEncoderDescriptor { WGPUChainedStruct const * nextInChain; char const * label; } WGPUCommandEncoderDescriptor; typedef struct WGPUCompilationMessage { WGPUChainedStruct const * nextInChain; char const * message; WGPUCompilationMessageType type; uint64_t lineNum; uint64_t linePos; uint64_t offset; uint64_t length; } WGPUCompilationMessage; typedef struct WGPUComputePassTimestampWrite { WGPUQuerySet querySet; uint32_t queryIndex; WGPUComputePassTimestampLocation location; } WGPUComputePassTimestampWrite; typedef struct WGPUConstantEntry { WGPUChainedStruct const * nextInChain; char const * key; double value; } WGPUConstantEntry; typedef struct WGPUCopyTextureForBrowserOptions { WGPUChainedStruct const * nextInChain; bool flipY; bool needsColorSpaceConversion; WGPUAlphaMode srcAlphaMode; float const * srcTransferFunctionParameters; float const * conversionMatrix; float const * dstTransferFunctionParameters; WGPUAlphaMode dstAlphaMode; } WGPUCopyTextureForBrowserOptions; typedef struct WGPUDawnCacheDeviceDescriptor { WGPUChainedStruct chain; char const * isolationKey; } WGPUDawnCacheDeviceDescriptor; typedef struct WGPUDawnEncoderInternalUsageDescriptor { WGPUChainedStruct chain; bool useInternalUsages; } WGPUDawnEncoderInternalUsageDescriptor; typedef struct WGPUDawnInstanceDescriptor { WGPUChainedStruct chain; uint32_t additionalRuntimeSearchPathsCount; const char* const * additionalRuntimeSearchPaths; } WGPUDawnInstanceDescriptor; typedef struct WGPUDawnTextureInternalUsageDescriptor { WGPUChainedStruct chain; WGPUTextureUsageFlags internalUsage; } WGPUDawnTextureInternalUsageDescriptor; typedef struct WGPUDawnTogglesDeviceDescriptor { WGPUChainedStruct chain; uint32_t forceEnabledTogglesCount; const char* const * forceEnabledToggles; uint32_t forceDisabledTogglesCount; const char* const * forceDisabledToggles; } WGPUDawnTogglesDeviceDescriptor; typedef struct WGPUExtent3D { uint32_t width; uint32_t height; uint32_t depthOrArrayLayers; } WGPUExtent3D; typedef struct WGPUExternalTextureBindingEntry { WGPUChainedStruct chain; WGPUExternalTexture externalTexture; } WGPUExternalTextureBindingEntry; typedef struct WGPUExternalTextureBindingLayout { WGPUChainedStruct chain; } WGPUExternalTextureBindingLayout; typedef struct WGPUExternalTextureDescriptor { WGPUChainedStruct const * nextInChain; char const * label; WGPUTextureView plane0; WGPUTextureView plane1; WGPUPredefinedColorSpace colorSpace; } WGPUExternalTextureDescriptor; typedef struct WGPUMultisampleState { WGPUChainedStruct const * nextInChain; uint32_t count; uint32_t mask; bool alphaToCoverageEnabled; } WGPUMultisampleState; typedef struct WGPUOrigin3D { uint32_t x; uint32_t y; uint32_t z; } WGPUOrigin3D; typedef struct WGPUPipelineLayoutDescriptor { WGPUChainedStruct const * nextInChain; char const * label; uint32_t bindGroupLayoutCount; WGPUBindGroupLayout const * bindGroupLayouts; } WGPUPipelineLayoutDescriptor; typedef struct WGPUPrimitiveDepthClampingState { WGPUChainedStruct chain; bool clampDepth; } WGPUPrimitiveDepthClampingState; typedef struct WGPUPrimitiveState { WGPUChainedStruct const * nextInChain; WGPUPrimitiveTopology topology; WGPUIndexFormat stripIndexFormat; WGPUFrontFace frontFace; WGPUCullMode cullMode; } WGPUPrimitiveState; typedef struct WGPUQuerySetDescriptor { WGPUChainedStruct const * nextInChain; char const * label; WGPUQueryType type; uint32_t count; WGPUPipelineStatisticName const * pipelineStatistics; uint32_t pipelineStatisticsCount; } WGPUQuerySetDescriptor; typedef struct WGPURenderBundleDescriptor { WGPUChainedStruct const * nextInChain; char const * label; } WGPURenderBundleDescriptor; typedef struct WGPURenderBundleEncoderDescriptor { WGPUChainedStruct const * nextInChain; char const * label; uint32_t colorFormatsCount; WGPUTextureFormat const * colorFormats; WGPUTextureFormat depthStencilFormat; uint32_t sampleCount; bool depthReadOnly; bool stencilReadOnly; } WGPURenderBundleEncoderDescriptor; typedef struct WGPURenderPassDepthStencilAttachment { WGPUTextureView view; WGPULoadOp depthLoadOp; WGPUStoreOp depthStoreOp; float clearDepth; float depthClearValue; bool depthReadOnly; WGPULoadOp stencilLoadOp; WGPUStoreOp stencilStoreOp; uint32_t clearStencil; uint32_t stencilClearValue; bool stencilReadOnly; } WGPURenderPassDepthStencilAttachment; typedef struct WGPURenderPassTimestampWrite { WGPUQuerySet querySet; uint32_t queryIndex; WGPURenderPassTimestampLocation location; } WGPURenderPassTimestampWrite; typedef struct WGPUSamplerBindingLayout { WGPUChainedStruct const * nextInChain; WGPUSamplerBindingType type; } WGPUSamplerBindingLayout; typedef struct WGPUSamplerDescriptor { WGPUChainedStruct const * nextInChain; char const * label; WGPUAddressMode addressModeU; WGPUAddressMode addressModeV; WGPUAddressMode addressModeW; WGPUFilterMode magFilter; WGPUFilterMode minFilter; WGPUFilterMode mipmapFilter; float lodMinClamp; float lodMaxClamp; WGPUCompareFunction compare; uint16_t maxAnisotropy; } WGPUSamplerDescriptor; typedef struct WGPUStencilFaceState { WGPUCompareFunction compare; WGPUStencilOperation failOp; WGPUStencilOperation depthFailOp; WGPUStencilOperation passOp; } WGPUStencilFaceState; typedef struct WGPUStorageTextureBindingLayout { WGPUChainedStruct const * nextInChain; WGPUStorageTextureAccess access; WGPUTextureFormat format; WGPUTextureViewDimension viewDimension; } WGPUStorageTextureBindingLayout; typedef struct WGPUTextureBindingLayout { WGPUChainedStruct const * nextInChain; WGPUTextureSampleType sampleType; WGPUTextureViewDimension viewDimension; bool multisampled; } WGPUTextureBindingLayout; typedef struct WGPUTextureDataLayout { WGPUChainedStruct const * nextInChain; uint64_t offset; uint32_t bytesPerRow; uint32_t rowsPerImage; } WGPUTextureDataLayout; typedef struct WGPUTextureViewDescriptor { WGPUChainedStruct const * nextInChain; char const * label; WGPUTextureFormat format; WGPUTextureViewDimension dimension; uint32_t baseMipLevel; uint32_t mipLevelCount; uint32_t baseArrayLayer; uint32_t arrayLayerCount; WGPUTextureAspect aspect; } WGPUTextureViewDescriptor; typedef struct WGPUVertexAttribute { WGPUVertexFormat format; uint64_t offset; uint32_t shaderLocation; } WGPUVertexAttribute; typedef struct WGPUBindGroupDescriptor { WGPUChainedStruct const * nextInChain; char const * label; WGPUBindGroupLayout layout; uint32_t entryCount; WGPUBindGroupEntry const * entries; } WGPUBindGroupDescriptor; typedef struct WGPUBindGroupLayoutEntry { WGPUChainedStruct const * nextInChain; uint32_t binding; WGPUShaderStageFlags visibility; WGPUBufferBindingLayout buffer; WGPUSamplerBindingLayout sampler; WGPUTextureBindingLayout texture; WGPUStorageTextureBindingLayout storageTexture; } WGPUBindGroupLayoutEntry; typedef struct WGPUBlendState { WGPUBlendComponent color; WGPUBlendComponent alpha; } WGPUBlendState; typedef struct WGPUCompilationInfo { WGPUChainedStruct const * nextInChain; uint32_t messageCount; WGPUCompilationMessage const * messages; } WGPUCompilationInfo; typedef struct WGPUComputePassDescriptor { WGPUChainedStruct const * nextInChain; char const * label; uint32_t timestampWriteCount; WGPUComputePassTimestampWrite const * timestampWrites; } WGPUComputePassDescriptor; typedef struct WGPUDepthStencilState { WGPUChainedStruct const * nextInChain; WGPUTextureFormat format; bool depthWriteEnabled; WGPUCompareFunction depthCompare; WGPUStencilFaceState stencilFront; WGPUStencilFaceState stencilBack; uint32_t stencilReadMask; uint32_t stencilWriteMask; int32_t depthBias; float depthBiasSlopeScale; float depthBiasClamp; } WGPUDepthStencilState; typedef struct WGPUImageCopyBuffer { WGPUChainedStruct const * nextInChain; WGPUTextureDataLayout layout; WGPUBuffer buffer; } WGPUImageCopyBuffer; typedef struct WGPUImageCopyTexture { WGPUChainedStruct const * nextInChain; WGPUTexture texture; uint32_t mipLevel; WGPUOrigin3D origin; WGPUTextureAspect aspect; } WGPUImageCopyTexture; typedef struct WGPUProgrammableStageDescriptor { WGPUChainedStruct const * nextInChain; WGPUShaderModule module; char const * entryPoint; uint32_t constantCount; WGPUConstantEntry const * constants; } WGPUProgrammableStageDescriptor; typedef struct WGPURenderPassColorAttachment { WGPUTextureView view; WGPUTextureView resolveTarget; WGPULoadOp loadOp; WGPUStoreOp storeOp; WGPUColor clearColor; WGPUColor clearValue; } WGPURenderPassColorAttachment; typedef struct WGPUTextureDescriptor { WGPUChainedStruct const * nextInChain; char const * label; WGPUTextureUsageFlags usage; WGPUTextureDimension dimension; WGPUExtent3D size; WGPUTextureFormat format; uint32_t mipLevelCount; uint32_t sampleCount; } WGPUTextureDescriptor; typedef struct WGPUVertexBufferLayout { uint64_t arrayStride; WGPUVertexStepMode stepMode; uint32_t attributeCount; WGPUVertexAttribute const * attributes; } WGPUVertexBufferLayout; typedef struct WGPUBindGroupLayoutDescriptor { WGPUChainedStruct const * nextInChain; char const * label; uint32_t entryCount; WGPUBindGroupLayoutEntry const * entries; } WGPUBindGroupLayoutDescriptor; typedef struct WGPUColorTargetState { WGPUChainedStruct const * nextInChain; WGPUTextureFormat format; WGPUBlendState const * blend; WGPUColorWriteMaskFlags writeMask; } WGPUColorTargetState; typedef struct WGPUComputePipelineDescriptor { WGPUChainedStruct const * nextInChain; char const * label; WGPUPipelineLayout layout; WGPUProgrammableStageDescriptor compute; } WGPUComputePipelineDescriptor; typedef struct WGPUSupportedLimits { WGPUChainedStructOut * nextInChain; WGPULimits limits; } WGPUSupportedLimits; typedef struct WGPUDeviceProperties { uint32_t deviceID; uint32_t vendorID; WGPUAdapterType adapterType; bool textureCompressionBC; bool textureCompressionETC2; bool textureCompressionASTC; bool shaderFloat16; bool pipelineStatisticsQuery; bool timestampQuery; bool multiPlanarFormats; bool depthClamping; bool depth24UnormStencil8; bool depth32FloatStencil8; bool invalidFeature; bool dawnInternalUsages; bool dawnNative; WGPUSupportedLimits limits; } WGPUDeviceProperties; typedef struct WGPURenderPassDescriptor { WGPUChainedStruct const * nextInChain; char const * label; uint32_t colorAttachmentCount; WGPURenderPassColorAttachment const * colorAttachments; WGPURenderPassDepthStencilAttachment const * depthStencilAttachment; WGPUQuerySet occlusionQuerySet; uint32_t timestampWriteCount; WGPURenderPassTimestampWrite const * timestampWrites; } WGPURenderPassDescriptor; typedef struct WGPUVertexState { WGPUChainedStruct const * nextInChain; WGPUShaderModule module; char const * entryPoint; uint32_t constantCount; WGPUConstantEntry const * constants; uint32_t bufferCount; WGPUVertexBufferLayout const * buffers; } WGPUVertexState; typedef struct WGPUFragmentState { WGPUChainedStruct const * nextInChain; WGPUShaderModule module; char const * entryPoint; uint32_t constantCount; WGPUConstantEntry const * constants; uint32_t targetCount; WGPUColorTargetState const * targets; } WGPUFragmentState; typedef struct WGPURenderPipelineDescriptor { WGPUChainedStruct const * nextInChain; char const * label; WGPUPipelineLayout layout; WGPUVertexState vertex; WGPUPrimitiveState primitive; WGPUDepthStencilState const * depthStencil; WGPUMultisampleState multisample; WGPUFragmentState const * fragment; } WGPURenderPipelineDescriptor; typedef void (*WGPUBufferMapCallback)(WGPUBufferMapAsyncStatus status, void * userdata); typedef void (*WGPUCompilationInfoCallback)(WGPUCompilationInfoRequestStatus status, WGPUCompilationInfo const * compilationInfo, void * userdata); typedef void (*WGPUCreateComputePipelineAsyncCallback)(WGPUCreatePipelineAsyncStatus status, WGPUComputePipeline pipeline, char const * message, void * userdata); typedef void (*WGPUCreateRenderPipelineAsyncCallback)(WGPUCreatePipelineAsyncStatus status, WGPURenderPipeline pipeline, char const * message, void * userdata); typedef void (*WGPUDeviceLostCallback)(WGPUDeviceLostReason reason, char const * message, void * userdata); typedef void (*WGPUErrorCallback)(WGPUErrorType type, char const * message, void * userdata); typedef void (*WGPULoggingCallback)(WGPULoggingType type, char const * message, void * userdata); typedef void (*WGPUProc)(); WGPU_EXPORT WGPUProc wgpuGetProcAddress(WGPUDevice device, char const * procName); // Methods of BindGroup WGPU_EXPORT void wgpuBindGroupSetLabel(WGPUBindGroup bindGroup, char const * label); WGPU_EXPORT void wgpuBindGroupReference(WGPUBindGroup bindGroup); WGPU_EXPORT void wgpuBindGroupRelease(WGPUBindGroup bindGroup); // Methods of BindGroupLayout WGPU_EXPORT void wgpuBindGroupLayoutSetLabel(WGPUBindGroupLayout bindGroupLayout, char const * label); WGPU_EXPORT void wgpuBindGroupLayoutReference(WGPUBindGroupLayout bindGroupLayout); WGPU_EXPORT void wgpuBindGroupLayoutRelease(WGPUBindGroupLayout bindGroupLayout); // Methods of Buffer WGPU_EXPORT void wgpuBufferDestroy(WGPUBuffer buffer); WGPU_EXPORT void const * wgpuBufferGetConstMappedRange(WGPUBuffer buffer, size_t offset, size_t size); WGPU_EXPORT void * wgpuBufferGetMappedRange(WGPUBuffer buffer, size_t offset, size_t size); WGPU_EXPORT void wgpuBufferMapAsync(WGPUBuffer buffer, WGPUMapModeFlags mode, size_t offset, size_t size, WGPUBufferMapCallback callback, void * userdata); WGPU_EXPORT void wgpuBufferSetLabel(WGPUBuffer buffer, char const * label); WGPU_EXPORT void wgpuBufferUnmap(WGPUBuffer buffer); WGPU_EXPORT void wgpuBufferReference(WGPUBuffer buffer); WGPU_EXPORT void wgpuBufferRelease(WGPUBuffer buffer); // Methods of CommandBuffer WGPU_EXPORT void wgpuCommandBufferSetLabel(WGPUCommandBuffer commandBuffer, char const * label); WGPU_EXPORT void wgpuCommandBufferReference(WGPUCommandBuffer commandBuffer); WGPU_EXPORT void wgpuCommandBufferRelease(WGPUCommandBuffer commandBuffer); // Methods of CommandEncoder WGPU_EXPORT WGPUComputePassEncoder wgpuCommandEncoderBeginComputePass(WGPUCommandEncoder commandEncoder, WGPUComputePassDescriptor const * descriptor); WGPU_EXPORT WGPURenderPassEncoder wgpuCommandEncoderBeginRenderPass(WGPUCommandEncoder commandEncoder, WGPURenderPassDescriptor const * descriptor); WGPU_EXPORT void wgpuCommandEncoderClearBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t offset, uint64_t size); WGPU_EXPORT void wgpuCommandEncoderCopyBufferToBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer source, uint64_t sourceOffset, WGPUBuffer destination, uint64_t destinationOffset, uint64_t size); WGPU_EXPORT void wgpuCommandEncoderCopyBufferToTexture(WGPUCommandEncoder commandEncoder, WGPUImageCopyBuffer const * source, WGPUImageCopyTexture const * destination, WGPUExtent3D const * copySize); WGPU_EXPORT void wgpuCommandEncoderCopyTextureToBuffer(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const * source, WGPUImageCopyBuffer const * destination, WGPUExtent3D const * copySize); WGPU_EXPORT void wgpuCommandEncoderCopyTextureToTexture(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const * source, WGPUImageCopyTexture const * destination, WGPUExtent3D const * copySize); WGPU_EXPORT void wgpuCommandEncoderCopyTextureToTextureInternal(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const * source, WGPUImageCopyTexture const * destination, WGPUExtent3D const * copySize); WGPU_EXPORT WGPUCommandBuffer wgpuCommandEncoderFinish(WGPUCommandEncoder commandEncoder, WGPUCommandBufferDescriptor const * descriptor); WGPU_EXPORT void wgpuCommandEncoderInjectValidationError(WGPUCommandEncoder commandEncoder, char const * message); WGPU_EXPORT void wgpuCommandEncoderInsertDebugMarker(WGPUCommandEncoder commandEncoder, char const * markerLabel); WGPU_EXPORT void wgpuCommandEncoderPopDebugGroup(WGPUCommandEncoder commandEncoder); WGPU_EXPORT void wgpuCommandEncoderPushDebugGroup(WGPUCommandEncoder commandEncoder, char const * groupLabel); WGPU_EXPORT void wgpuCommandEncoderResolveQuerySet(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t firstQuery, uint32_t queryCount, WGPUBuffer destination, uint64_t destinationOffset); WGPU_EXPORT void wgpuCommandEncoderSetLabel(WGPUCommandEncoder commandEncoder, char const * label); WGPU_EXPORT void wgpuCommandEncoderWriteBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t bufferOffset, uint8_t const * data, uint64_t size); WGPU_EXPORT void wgpuCommandEncoderWriteTimestamp(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t queryIndex); WGPU_EXPORT void wgpuCommandEncoderReference(WGPUCommandEncoder commandEncoder); WGPU_EXPORT void wgpuCommandEncoderRelease(WGPUCommandEncoder commandEncoder); // Methods of ComputePassEncoder WGPU_EXPORT void wgpuComputePassEncoderDispatch(WGPUComputePassEncoder computePassEncoder, uint32_t workgroupCountX, uint32_t workgroupCountY, uint32_t workgroupCountZ); WGPU_EXPORT void wgpuComputePassEncoderDispatchIndirect(WGPUComputePassEncoder computePassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset); WGPU_EXPORT void wgpuComputePassEncoderEnd(WGPUComputePassEncoder computePassEncoder); WGPU_EXPORT void wgpuComputePassEncoderEndPass(WGPUComputePassEncoder computePassEncoder); WGPU_EXPORT void wgpuComputePassEncoderInsertDebugMarker(WGPUComputePassEncoder computePassEncoder, char const * markerLabel); WGPU_EXPORT void wgpuComputePassEncoderPopDebugGroup(WGPUComputePassEncoder computePassEncoder); WGPU_EXPORT void wgpuComputePassEncoderPushDebugGroup(WGPUComputePassEncoder computePassEncoder, char const * groupLabel); WGPU_EXPORT void wgpuComputePassEncoderSetBindGroup(WGPUComputePassEncoder computePassEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const * dynamicOffsets); WGPU_EXPORT void wgpuComputePassEncoderSetLabel(WGPUComputePassEncoder computePassEncoder, char const * label); WGPU_EXPORT void wgpuComputePassEncoderSetPipeline(WGPUComputePassEncoder computePassEncoder, WGPUComputePipeline pipeline); WGPU_EXPORT void wgpuComputePassEncoderWriteTimestamp(WGPUComputePassEncoder computePassEncoder, WGPUQuerySet querySet, uint32_t queryIndex); WGPU_EXPORT void wgpuComputePassEncoderReference(WGPUComputePassEncoder computePassEncoder); WGPU_EXPORT void wgpuComputePassEncoderRelease(WGPUComputePassEncoder computePassEncoder); // Methods of ComputePipeline WGPU_EXPORT WGPUBindGroupLayout wgpuComputePipelineGetBindGroupLayout(WGPUComputePipeline computePipeline, uint32_t groupIndex); WGPU_EXPORT void wgpuComputePipelineSetLabel(WGPUComputePipeline computePipeline, char const * label); WGPU_EXPORT void wgpuComputePipelineReference(WGPUComputePipeline computePipeline); WGPU_EXPORT void wgpuComputePipelineRelease(WGPUComputePipeline computePipeline); // Methods of ExternalTexture WGPU_EXPORT void wgpuExternalTextureDestroy(WGPUExternalTexture externalTexture); WGPU_EXPORT void wgpuExternalTextureSetLabel(WGPUExternalTexture externalTexture, char const * label); WGPU_EXPORT void wgpuExternalTextureReference(WGPUExternalTexture externalTexture); WGPU_EXPORT void wgpuExternalTextureRelease(WGPUExternalTexture externalTexture); // Methods of PipelineLayout WGPU_EXPORT void wgpuPipelineLayoutSetLabel(WGPUPipelineLayout pipelineLayout, char const * label); WGPU_EXPORT void wgpuPipelineLayoutReference(WGPUPipelineLayout pipelineLayout); WGPU_EXPORT void wgpuPipelineLayoutRelease(WGPUPipelineLayout pipelineLayout); // Methods of QuerySet WGPU_EXPORT void wgpuQuerySetDestroy(WGPUQuerySet querySet); WGPU_EXPORT void wgpuQuerySetSetLabel(WGPUQuerySet querySet, char const * label); WGPU_EXPORT void wgpuQuerySetReference(WGPUQuerySet querySet); WGPU_EXPORT void wgpuQuerySetRelease(WGPUQuerySet querySet); // Methods of RenderBundle WGPU_EXPORT void wgpuRenderBundleReference(WGPURenderBundle renderBundle); WGPU_EXPORT void wgpuRenderBundleRelease(WGPURenderBundle renderBundle); // Methods of RenderBundleEncoder WGPU_EXPORT void wgpuRenderBundleEncoderDraw(WGPURenderBundleEncoder renderBundleEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); WGPU_EXPORT void wgpuRenderBundleEncoderDrawIndexed(WGPURenderBundleEncoder renderBundleEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance); WGPU_EXPORT void wgpuRenderBundleEncoderDrawIndexedIndirect(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset); WGPU_EXPORT void wgpuRenderBundleEncoderDrawIndirect(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset); WGPU_EXPORT WGPURenderBundle wgpuRenderBundleEncoderFinish(WGPURenderBundleEncoder renderBundleEncoder, WGPURenderBundleDescriptor const * descriptor); WGPU_EXPORT void wgpuRenderBundleEncoderInsertDebugMarker(WGPURenderBundleEncoder renderBundleEncoder, char const * markerLabel); WGPU_EXPORT void wgpuRenderBundleEncoderPopDebugGroup(WGPURenderBundleEncoder renderBundleEncoder); WGPU_EXPORT void wgpuRenderBundleEncoderPushDebugGroup(WGPURenderBundleEncoder renderBundleEncoder, char const * groupLabel); WGPU_EXPORT void wgpuRenderBundleEncoderSetBindGroup(WGPURenderBundleEncoder renderBundleEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const * dynamicOffsets); WGPU_EXPORT void wgpuRenderBundleEncoderSetIndexBuffer(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size); WGPU_EXPORT void wgpuRenderBundleEncoderSetLabel(WGPURenderBundleEncoder renderBundleEncoder, char const * label); WGPU_EXPORT void wgpuRenderBundleEncoderSetPipeline(WGPURenderBundleEncoder renderBundleEncoder, WGPURenderPipeline pipeline); WGPU_EXPORT void wgpuRenderBundleEncoderSetVertexBuffer(WGPURenderBundleEncoder renderBundleEncoder, uint32_t slot, WGPUBuffer buffer, uint64_t offset, uint64_t size); WGPU_EXPORT void wgpuRenderBundleEncoderReference(WGPURenderBundleEncoder renderBundleEncoder); WGPU_EXPORT void wgpuRenderBundleEncoderRelease(WGPURenderBundleEncoder renderBundleEncoder); // Methods of RenderPassEncoder WGPU_EXPORT void wgpuRenderPassEncoderBeginOcclusionQuery(WGPURenderPassEncoder renderPassEncoder, uint32_t queryIndex); WGPU_EXPORT void wgpuRenderPassEncoderDraw(WGPURenderPassEncoder renderPassEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); WGPU_EXPORT void wgpuRenderPassEncoderDrawIndexed(WGPURenderPassEncoder renderPassEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance); WGPU_EXPORT void wgpuRenderPassEncoderDrawIndexedIndirect(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset); WGPU_EXPORT void wgpuRenderPassEncoderDrawIndirect(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset); WGPU_EXPORT void wgpuRenderPassEncoderEnd(WGPURenderPassEncoder renderPassEncoder); WGPU_EXPORT void wgpuRenderPassEncoderEndOcclusionQuery(WGPURenderPassEncoder renderPassEncoder); WGPU_EXPORT void wgpuRenderPassEncoderEndPass(WGPURenderPassEncoder renderPassEncoder); WGPU_EXPORT void wgpuRenderPassEncoderExecuteBundles(WGPURenderPassEncoder renderPassEncoder, uint32_t bundlesCount, WGPURenderBundle const * bundles); WGPU_EXPORT void wgpuRenderPassEncoderInsertDebugMarker(WGPURenderPassEncoder renderPassEncoder, char const * markerLabel); WGPU_EXPORT void wgpuRenderPassEncoderPopDebugGroup(WGPURenderPassEncoder renderPassEncoder); WGPU_EXPORT void wgpuRenderPassEncoderPushDebugGroup(WGPURenderPassEncoder renderPassEncoder, char const * groupLabel); WGPU_EXPORT void wgpuRenderPassEncoderSetBindGroup(WGPURenderPassEncoder renderPassEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const * dynamicOffsets); WGPU_EXPORT void wgpuRenderPassEncoderSetBlendConstant(WGPURenderPassEncoder renderPassEncoder, WGPUColor const * color); WGPU_EXPORT void wgpuRenderPassEncoderSetIndexBuffer(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size); WGPU_EXPORT void wgpuRenderPassEncoderSetLabel(WGPURenderPassEncoder renderPassEncoder, char const * label); WGPU_EXPORT void wgpuRenderPassEncoderSetPipeline(WGPURenderPassEncoder renderPassEncoder, WGPURenderPipeline pipeline); WGPU_EXPORT void wgpuRenderPassEncoderSetScissorRect(WGPURenderPassEncoder renderPassEncoder, uint32_t x, uint32_t y, uint32_t width, uint32_t height); WGPU_EXPORT void wgpuRenderPassEncoderSetStencilReference(WGPURenderPassEncoder renderPassEncoder, uint32_t reference); WGPU_EXPORT void wgpuRenderPassEncoderSetVertexBuffer(WGPURenderPassEncoder renderPassEncoder, uint32_t slot, WGPUBuffer buffer, uint64_t offset, uint64_t size); WGPU_EXPORT void wgpuRenderPassEncoderSetViewport(WGPURenderPassEncoder renderPassEncoder, float x, float y, float width, float height, float minDepth, float maxDepth); WGPU_EXPORT void wgpuRenderPassEncoderWriteTimestamp(WGPURenderPassEncoder renderPassEncoder, WGPUQuerySet querySet, uint32_t queryIndex); WGPU_EXPORT void wgpuRenderPassEncoderReference(WGPURenderPassEncoder renderPassEncoder); WGPU_EXPORT void wgpuRenderPassEncoderRelease(WGPURenderPassEncoder renderPassEncoder); // Methods of RenderPipeline WGPU_EXPORT WGPUBindGroupLayout wgpuRenderPipelineGetBindGroupLayout(WGPURenderPipeline renderPipeline, uint32_t groupIndex); WGPU_EXPORT void wgpuRenderPipelineSetLabel(WGPURenderPipeline renderPipeline, char const * label); WGPU_EXPORT void wgpuRenderPipelineReference(WGPURenderPipeline renderPipeline); WGPU_EXPORT void wgpuRenderPipelineRelease(WGPURenderPipeline renderPipeline); // Methods of Sampler WGPU_EXPORT void wgpuSamplerSetLabel(WGPUSampler sampler, char const * label); WGPU_EXPORT void wgpuSamplerReference(WGPUSampler sampler); WGPU_EXPORT void wgpuSamplerRelease(WGPUSampler sampler); // Methods of Texture WGPU_EXPORT WGPUTextureView wgpuTextureCreateView(WGPUTexture texture, WGPUTextureViewDescriptor const * descriptor); WGPU_EXPORT void wgpuTextureDestroy(WGPUTexture texture); WGPU_EXPORT void wgpuTextureSetLabel(WGPUTexture texture, char const * label); WGPU_EXPORT void wgpuTextureReference(WGPUTexture texture); WGPU_EXPORT void wgpuTextureRelease(WGPUTexture texture); // Methods of TextureView WGPU_EXPORT void wgpuTextureViewSetLabel(WGPUTextureView textureView, char const * label); WGPU_EXPORT void wgpuTextureViewReference(WGPUTextureView textureView); WGPU_EXPORT void wgpuTextureViewRelease(WGPUTextureView textureView);