617 lines
33 KiB
C
617 lines
33 KiB
C
pub const WGPURenderPassDepthStencilAttachment = extern struct {
|
|
view: TextureView,
|
|
depth_load_op: LoadOp,
|
|
depth_store_op: StoreOp,
|
|
clear_depth: f32,
|
|
depth_clear_value: f32,
|
|
depth_read_only: bool,
|
|
stencil_load_op: LoadOp,
|
|
stencil_store_op: StoreOp,
|
|
clear_stencil: u32,
|
|
stencil_clear_value: u32,
|
|
stencil_read_only: bool,
|
|
};
|
|
|
|
pub const WGPURenderPassDescriptorMaxDrawCount = extern struct {
|
|
chain: ChainedStruct,
|
|
max_draw_count: u64,
|
|
};
|
|
|
|
pub const WGPURenderPassTimestampWrite = extern struct {
|
|
query_set: QuerySet,
|
|
query_index: u32,
|
|
location: RenderPassTimestampLocation,
|
|
};
|
|
|
|
pub const RequestAdapterOptions = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
compatible_surface: Surface = Surface.none, // nullable
|
|
power_preference: PowerPreference,
|
|
force_fallback_adapter: bool,
|
|
};
|
|
|
|
pub const SamplerBindingLayout = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
type: SamplerBindingType,
|
|
};
|
|
|
|
pub const WGPUSamplerDescriptor = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
label: ?[*:0]const u8 = null,
|
|
address_mode_u: AddressMode,
|
|
address_mode_v: AddressMode,
|
|
address_mode_w: AddressMode,
|
|
mag_filter: FilterMode,
|
|
min_filter: FilterMode,
|
|
mipmap_filter: FilterMode,
|
|
lod_min_clamp: f32,
|
|
lod_max_clamp: f32,
|
|
compare: CompareFunction,
|
|
max_anisotropy: u16,
|
|
};
|
|
|
|
pub const WGPUShaderModuleDescriptor = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
label: ?[*:0]const u8 = null,
|
|
};
|
|
|
|
pub const WGPUShaderModuleSPIRVDescriptor = extern struct {
|
|
chain: ChainedStruct,
|
|
code_size: u32,
|
|
code: [*]const u32,
|
|
};
|
|
|
|
pub const WGPUShaderModuleWGSLDescriptor = extern struct {
|
|
chain: ChainedStruct,
|
|
source: [*:0]const u8,
|
|
};
|
|
|
|
pub const StencilFaceState = extern struct {
|
|
compare: CompareFunction,
|
|
fail_op: StencilOperation,
|
|
depth_fail_op: StencilOperation,
|
|
pass_op: StencilOperation,
|
|
};
|
|
|
|
pub const StorageTextureBindingLayout = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
access: StorageTextureAccess,
|
|
format: TextureFormat,
|
|
view_dimension: TextureViewDimension,
|
|
};
|
|
|
|
pub const WGPUSurfaceDescriptor = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
label: ?[*:0]const u8 = null,
|
|
};
|
|
|
|
pub const WGPUSurfaceDescriptorFromAndroidNativeWindow = extern struct {
|
|
chain: ChainedStruct,
|
|
window: *anyopaque,
|
|
};
|
|
|
|
pub const WGPUSurfaceDescriptorFromCanvasHTMLSelector = extern struct {
|
|
chain: ChainedStruct,
|
|
selector: [*:0]const u8,
|
|
};
|
|
|
|
pub const WGPUSurfaceDescriptorFromMetalLayer = extern struct {
|
|
chain: ChainedStruct,
|
|
layer: *anyopaque,
|
|
};
|
|
|
|
pub const WGPUSurfaceDescriptorFromWaylandSurface = extern struct {
|
|
chain: ChainedStruct,
|
|
display: *anyopaque,
|
|
surface: *anyopaque,
|
|
};
|
|
|
|
pub const WGPUSurfaceDescriptorFromWindowsCoreWindow = extern struct {
|
|
chain: ChainedStruct,
|
|
core_window: *anyopaque,
|
|
};
|
|
|
|
pub const WGPUSurfaceDescriptorFromWindowsHWND = extern struct {
|
|
chain: ChainedStruct,
|
|
hinstance: *anyopaque,
|
|
hwnd: *anyopaque,
|
|
};
|
|
|
|
pub const WGPUSurfaceDescriptorFromWindowsSwapChainPanel = extern struct {
|
|
chain: ChainedStruct,
|
|
swap_chain_panel: *anyopaque,
|
|
};
|
|
|
|
pub const WGPUSurfaceDescriptorFromXlibWindow = extern struct {
|
|
chain: ChainedStruct,
|
|
display: *anyopaque,
|
|
window: u32,
|
|
};
|
|
|
|
pub const WGPUSwapChainDescriptor = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
label: ?[*:0]const u8 = null,
|
|
usage: TextureUsageFlags,
|
|
format: TextureFormat,
|
|
width: u32,
|
|
height: u32,
|
|
present_mode: PresentMode,
|
|
implementation: u64,
|
|
};
|
|
|
|
pub const WGPUTextureBindingLayout = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
sample_type: TextureSampleType,
|
|
view_dimension: TextureViewDimension,
|
|
multisampled: bool,
|
|
};
|
|
|
|
pub const WGPUTextureDataLayout = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
offset: u64,
|
|
bytes_per_row: u32,
|
|
rows_per_image: u32,
|
|
};
|
|
|
|
pub const WGPUTextureViewDescriptor = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
label: ?[*:0]const u8 = null,
|
|
format: TextureFormat,
|
|
dimension: TextureViewDimension,
|
|
base_mip_level: u32,
|
|
mip_level_count: u32,
|
|
base_array_layer: u32,
|
|
array_layer_count: u32,
|
|
aspect: TextureAspect,
|
|
};
|
|
|
|
pub const VertexAttribute = extern struct {
|
|
format: VertexFormat,
|
|
offset: u64,
|
|
shader_location: u32,
|
|
};
|
|
|
|
pub const WGPUBindGroupDescriptor = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
label: ?[*:0]const u8 = null,
|
|
layout: BindGroupLayout,
|
|
entry_count: u32,
|
|
entries: [*]const BindGroupEntry,
|
|
};
|
|
|
|
pub const WGPUBindGroupLayoutEntry = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
binding: u32,
|
|
visibility: ShaderStageFlags,
|
|
buffer: BufferBindingLayout,
|
|
sampler: SamplerBindingLayout,
|
|
texture: TextureBindingLayout,
|
|
storage_texture: StorageTextureBindingLayout,
|
|
};
|
|
|
|
pub const BlendState = extern struct {
|
|
color: BlendComponent,
|
|
alpha: BlendComponent,
|
|
};
|
|
|
|
pub const CompilationInfo = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
message_count: u32,
|
|
messages: [*]const CompilationMessage,
|
|
};
|
|
|
|
pub const WGPUComputePassDescriptor = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
label: ?[*:0]const u8 = null,
|
|
timestamp_write_count: u32,
|
|
timestamp_writes: [*]const ComputePassTimestampWrite,
|
|
};
|
|
|
|
pub const DepthStencilState = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
format: TextureFormat,
|
|
depth_write_enabled: bool,
|
|
depth_compare: CompareFunction,
|
|
stencil_front: StencilFaceState,
|
|
stencil_back: StencilFaceState,
|
|
stencil_read_mask: u32,
|
|
stencil_write_mask: u32,
|
|
depth_bias: i32,
|
|
depth_bias_slope_scale: f32,
|
|
depth_bias_clamp: f32,
|
|
};
|
|
|
|
pub const ImageCopyBuffer = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
layout: TextureDataLayout,
|
|
buffer: Buffer
|
|
};
|
|
|
|
pub const ImageCopyTexture = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
texture: Texture,
|
|
mip_level: u32,
|
|
origin: Origin3D,
|
|
aspect: TextureAspect,
|
|
};
|
|
|
|
pub const WGPUProgrammableStageDescriptor = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
module: ShaderModule,
|
|
entry_point: [*:0]const u8,
|
|
constant_count: u32,
|
|
constants: [*]const ConstantEntry,
|
|
};
|
|
|
|
pub const WGPURenderPassColorAttachment = extern struct {
|
|
view: TextureView = TextureView.none, // nullable
|
|
resolve_target: TextureView = TextureView.none, // nullable
|
|
load_op: LoadOp,
|
|
store_op: StoreOp,
|
|
clear_color: Color,
|
|
clear_value: Color,
|
|
};
|
|
|
|
pub const RequiredLimits = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
limits: Limits,
|
|
};
|
|
|
|
pub const SupportedLimits = extern struct {
|
|
next_in_chain: *CHainedStructOut,
|
|
limits: Limits,
|
|
};
|
|
|
|
pub const WGPUTextureDescriptor = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
label: ?[*:0]const u8 = null,
|
|
usage: TextureUsageFlags,
|
|
dimension: TextureDimension,
|
|
size: Extent3D,
|
|
format: TextureFormat,
|
|
mip_level_count: u32,
|
|
sample_count: u32,
|
|
view_format_count: u32,
|
|
view_formats: [*]const TextureFormat,
|
|
};
|
|
|
|
pub const VertexBufferLayout = extern struct {
|
|
array_stride: u64,
|
|
step_mode: VertexStepMode,
|
|
attribute_count: u32,
|
|
attributes: [*]const VertexAttribute,
|
|
};
|
|
|
|
pub const WGPUBindGroupLayoutDescriptor = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
label: ?[*:0]const u8 = null,
|
|
entry_count: u32,
|
|
entries: [*]const BindGroupLayoutEntry,
|
|
};
|
|
|
|
pub const ColorTargetState = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
format: TextureFormat,
|
|
blend: ?*const BlendState = null,
|
|
write_mask: ColorWriteMaskFlags,
|
|
};
|
|
|
|
pub const WGPUComputePipelineDescriptor = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
label: ?[*:0]const u8 = null,
|
|
layout: PipelineLayout = PipelineLayout.none, // nullable
|
|
compute: ProgrammableStageDescriptor,
|
|
};
|
|
|
|
pub const WGPUDeviceDescriptor = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
label: ?[*:0]const u8 = null,
|
|
required_features_count: u32,
|
|
required_features: [*]const FeatureName,
|
|
required_limits: ?*const RequiredLimits = null, // nullable
|
|
default_queue: Queue.Descriptor,
|
|
};
|
|
|
|
pub const WGPURenderPassDescriptor = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
label: ?[*:0]const u8 = null,
|
|
color_attachment_count: u32,
|
|
color_attachments: [*]const RenderPassColorAttachment,
|
|
depth_stencil_attachment: ?[*]const RenderPassDepthStencilAttachment = null, // nullable
|
|
occlusion_query_set: QuerySet = QuerySet.none, // nullable
|
|
timestamp_write_count: u32,
|
|
timestamp_writes: [*]const RenderPassTimestampWrite,
|
|
};
|
|
|
|
pub const VertexState = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
module: ShaderModule,
|
|
entry_point: [*:0]const u8,
|
|
constant_count: u32,
|
|
constants: [*]const ConstantEntry,
|
|
buffer_count: u32,
|
|
buffers: [*]const VertexBufferLayout,
|
|
};
|
|
|
|
pub const FragmentState = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
module: ShaderModule,
|
|
entry_point: [*:0]const u8,
|
|
constant_count: u32,
|
|
constants: [*]const ConstantEntry,
|
|
target_count: u32,
|
|
targets: [*]const ColorTargetState,
|
|
};
|
|
|
|
pub const WGPURenderPipelineDescriptor = extern struct {
|
|
next_in_chain: *const ChainedStruct,
|
|
label: ?[*:0]const u8 = null,
|
|
layout: PipelineLayout = PipelineLayout.none, // nullable
|
|
vertex: VertexState,
|
|
primitive: PrimitiveState,
|
|
depth_stencil: ?*const DepthStencilState = null, // nullable
|
|
multisample: MultisampleState,
|
|
fragment: ?*const FragmentState = null, // nullable
|
|
};
|
|
|
|
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)(void);
|
|
typedef void (*WGPUQueueWorkDoneCallback)(WGPUQueueWorkDoneStatus status, void * userdata);
|
|
typedef void (*WGPURequestAdapterCallback)(WGPURequestAdapterStatus status, WGPUAdapter adapter, char const * message, void * userdata);
|
|
typedef void (*WGPURequestDeviceCallback)(WGPURequestDeviceStatus status, WGPUDevice device, char const * message, void * userdata);
|
|
|
|
WGPU_EXPORT WGPUInstance wgpuCreateInstance(WGPUInstanceDescriptor const * descriptor);
|
|
WGPU_EXPORT WGPUProc wgpuGetProcAddress(WGPUDevice device, char const * procName);
|
|
|
|
// Methods of Adapter
|
|
WGPU_EXPORT WGPUDevice wgpuAdapterCreateDevice(WGPUAdapter adapter, WGPUDeviceDescriptor const * descriptor /* nullable */);
|
|
WGPU_EXPORT size_t wgpuAdapterEnumerateFeatures(WGPUAdapter adapter, WGPUFeatureName * features);
|
|
WGPU_EXPORT bool wgpuAdapterGetLimits(WGPUAdapter adapter, WGPUSupportedLimits * limits);
|
|
WGPU_EXPORT void wgpuAdapterGetProperties(WGPUAdapter adapter, WGPUAdapterProperties * properties);
|
|
WGPU_EXPORT bool wgpuAdapterHasFeature(WGPUAdapter adapter, WGPUFeatureName feature);
|
|
WGPU_EXPORT void wgpuAdapterRequestDevice(WGPUAdapter adapter, WGPUDeviceDescriptor const * descriptor, WGPURequestDeviceCallback callback, void * userdata);
|
|
WGPU_EXPORT void wgpuAdapterReference(WGPUAdapter adapter);
|
|
WGPU_EXPORT void wgpuAdapterRelease(WGPUAdapter adapter);
|
|
|
|
// 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 uint64_t wgpuBufferGetSize(WGPUBuffer buffer);
|
|
WGPU_EXPORT WGPUBufferUsage wgpuBufferGetUsage(WGPUBuffer buffer);
|
|
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 /* nullable */);
|
|
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 /* nullable */);
|
|
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 wgpuComputePassEncoderDispatchWorkgroups(WGPUComputePassEncoder computePassEncoder, uint32_t workgroupCountX, uint32_t workgroupCountY, uint32_t workgroupCountZ);
|
|
WGPU_EXPORT void wgpuComputePassEncoderDispatchWorkgroupsIndirect(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 Device
|
|
WGPU_EXPORT WGPUBindGroup wgpuDeviceCreateBindGroup(WGPUDevice device, WGPUBindGroupDescriptor const * descriptor);
|
|
WGPU_EXPORT WGPUBindGroupLayout wgpuDeviceCreateBindGroupLayout(WGPUDevice device, WGPUBindGroupLayoutDescriptor const * descriptor);
|
|
WGPU_EXPORT WGPUBuffer wgpuDeviceCreateBuffer(WGPUDevice device, WGPUBufferDescriptor const * descriptor);
|
|
WGPU_EXPORT WGPUCommandEncoder wgpuDeviceCreateCommandEncoder(WGPUDevice device, WGPUCommandEncoderDescriptor const * descriptor /* nullable */);
|
|
WGPU_EXPORT WGPUComputePipeline wgpuDeviceCreateComputePipeline(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor);
|
|
WGPU_EXPORT void wgpuDeviceCreateComputePipelineAsync(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor, WGPUCreateComputePipelineAsyncCallback callback, void * userdata);
|
|
WGPU_EXPORT WGPUBuffer wgpuDeviceCreateErrorBuffer(WGPUDevice device);
|
|
WGPU_EXPORT WGPUExternalTexture wgpuDeviceCreateErrorExternalTexture(WGPUDevice device);
|
|
WGPU_EXPORT WGPUExternalTexture wgpuDeviceCreateExternalTexture(WGPUDevice device, WGPUExternalTextureDescriptor const * externalTextureDescriptor);
|
|
WGPU_EXPORT WGPUPipelineLayout wgpuDeviceCreatePipelineLayout(WGPUDevice device, WGPUPipelineLayoutDescriptor const * descriptor);
|
|
WGPU_EXPORT WGPUQuerySet wgpuDeviceCreateQuerySet(WGPUDevice device, WGPUQuerySetDescriptor const * descriptor);
|
|
WGPU_EXPORT WGPURenderBundleEncoder wgpuDeviceCreateRenderBundleEncoder(WGPUDevice device, WGPURenderBundleEncoderDescriptor const * descriptor);
|
|
WGPU_EXPORT WGPURenderPipeline wgpuDeviceCreateRenderPipeline(WGPUDevice device, WGPURenderPipelineDescriptor const * descriptor);
|
|
WGPU_EXPORT void wgpuDeviceCreateRenderPipelineAsync(WGPUDevice device, WGPURenderPipelineDescriptor const * descriptor, WGPUCreateRenderPipelineAsyncCallback callback, void * userdata);
|
|
WGPU_EXPORT WGPUSampler wgpuDeviceCreateSampler(WGPUDevice device, WGPUSamplerDescriptor const * descriptor /* nullable */);
|
|
WGPU_EXPORT WGPUShaderModule wgpuDeviceCreateShaderModule(WGPUDevice device, WGPUShaderModuleDescriptor const * descriptor);
|
|
WGPU_EXPORT WGPUSwapChain wgpuDeviceCreateSwapChain(WGPUDevice device, WGPUSurface surface /* nullable */, WGPUSwapChainDescriptor const * descriptor);
|
|
WGPU_EXPORT WGPUTexture wgpuDeviceCreateTexture(WGPUDevice device, WGPUTextureDescriptor const * descriptor);
|
|
WGPU_EXPORT void wgpuDeviceDestroy(WGPUDevice device);
|
|
WGPU_EXPORT size_t wgpuDeviceEnumerateFeatures(WGPUDevice device, WGPUFeatureName * features);
|
|
WGPU_EXPORT bool wgpuDeviceGetLimits(WGPUDevice device, WGPUSupportedLimits * limits);
|
|
WGPU_EXPORT WGPUQueue wgpuDeviceGetQueue(WGPUDevice device);
|
|
WGPU_EXPORT bool wgpuDeviceHasFeature(WGPUDevice device, WGPUFeatureName feature);
|
|
WGPU_EXPORT void wgpuDeviceInjectError(WGPUDevice device, WGPUErrorType type, char const * message);
|
|
WGPU_EXPORT void wgpuDeviceLoseForTesting(WGPUDevice device);
|
|
WGPU_EXPORT bool wgpuDevicePopErrorScope(WGPUDevice device, WGPUErrorCallback callback, void * userdata);
|
|
WGPU_EXPORT void wgpuDevicePushErrorScope(WGPUDevice device, WGPUErrorFilter filter);
|
|
WGPU_EXPORT void wgpuDeviceSetDeviceLostCallback(WGPUDevice device, WGPUDeviceLostCallback callback, void * userdata);
|
|
WGPU_EXPORT void wgpuDeviceSetLabel(WGPUDevice device, char const * label);
|
|
WGPU_EXPORT void wgpuDeviceSetLoggingCallback(WGPUDevice device, WGPULoggingCallback callback, void * userdata);
|
|
WGPU_EXPORT void wgpuDeviceSetUncapturedErrorCallback(WGPUDevice device, WGPUErrorCallback callback, void * userdata);
|
|
WGPU_EXPORT void wgpuDeviceTick(WGPUDevice device);
|
|
WGPU_EXPORT void wgpuDeviceReference(WGPUDevice device);
|
|
WGPU_EXPORT void wgpuDeviceRelease(WGPUDevice device);
|
|
|
|
// 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 Instance
|
|
WGPU_EXPORT WGPUSurface wgpuInstanceCreateSurface(WGPUInstance instance, WGPUSurfaceDescriptor const * descriptor);
|
|
WGPU_EXPORT void wgpuInstanceRequestAdapter(WGPUInstance instance, WGPURequestAdapterOptions const * options, WGPURequestAdapterCallback callback, void * userdata);
|
|
WGPU_EXPORT void wgpuInstanceReference(WGPUInstance instance);
|
|
WGPU_EXPORT void wgpuInstanceRelease(WGPUInstance instance);
|
|
|
|
// 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 uint32_t wgpuQuerySetGetCount(WGPUQuerySet querySet);
|
|
WGPU_EXPORT WGPUQueryType wgpuQuerySetGetType(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 Queue
|
|
WGPU_EXPORT void wgpuQueueCopyTextureForBrowser(WGPUQueue queue, WGPUImageCopyTexture const * source, WGPUImageCopyTexture const * destination, WGPUExtent3D const * copySize, WGPUCopyTextureForBrowserOptions const * options);
|
|
WGPU_EXPORT void wgpuQueueOnSubmittedWorkDone(WGPUQueue queue, uint64_t signalValue, WGPUQueueWorkDoneCallback callback, void * userdata);
|
|
WGPU_EXPORT void wgpuQueueSetLabel(WGPUQueue queue, char const * label);
|
|
WGPU_EXPORT void wgpuQueueSubmit(WGPUQueue queue, uint32_t commandCount, WGPUCommandBuffer const * commands);
|
|
WGPU_EXPORT void wgpuQueueWriteBuffer(WGPUQueue queue, WGPUBuffer buffer, uint64_t bufferOffset, void const * data, size_t size);
|
|
WGPU_EXPORT void wgpuQueueWriteTexture(WGPUQueue queue, WGPUImageCopyTexture const * destination, void const * data, size_t dataSize, WGPUTextureDataLayout const * dataLayout, WGPUExtent3D const * writeSize);
|
|
WGPU_EXPORT void wgpuQueueReference(WGPUQueue queue);
|
|
WGPU_EXPORT void wgpuQueueRelease(WGPUQueue queue);
|
|
|
|
// 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 /* nullable */);
|
|
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 ShaderModule
|
|
WGPU_EXPORT void wgpuShaderModuleGetCompilationInfo(WGPUShaderModule shaderModule, WGPUCompilationInfoCallback callback, void * userdata);
|
|
WGPU_EXPORT void wgpuShaderModuleSetLabel(WGPUShaderModule shaderModule, char const * label);
|
|
WGPU_EXPORT void wgpuShaderModuleReference(WGPUShaderModule shaderModule);
|
|
WGPU_EXPORT void wgpuShaderModuleRelease(WGPUShaderModule shaderModule);
|
|
|
|
// Methods of Surface
|
|
WGPU_EXPORT void wgpuSurfaceReference(WGPUSurface surface);
|
|
WGPU_EXPORT void wgpuSurfaceRelease(WGPUSurface surface);
|
|
|
|
// Methods of SwapChain
|
|
WGPU_EXPORT void wgpuSwapChainConfigure(WGPUSwapChain swapChain, WGPUTextureFormat format, WGPUTextureUsageFlags allowedUsage, uint32_t width, uint32_t height);
|
|
WGPU_EXPORT WGPUTextureView wgpuSwapChainGetCurrentTextureView(WGPUSwapChain swapChain);
|
|
WGPU_EXPORT void wgpuSwapChainPresent(WGPUSwapChain swapChain);
|
|
WGPU_EXPORT void wgpuSwapChainReference(WGPUSwapChain swapChain);
|
|
WGPU_EXPORT void wgpuSwapChainRelease(WGPUSwapChain swapChain);
|
|
|
|
// Methods of Texture
|
|
WGPU_EXPORT WGPUTextureView wgpuTextureCreateView(WGPUTexture texture, WGPUTextureViewDescriptor const * descriptor /* nullable */);
|
|
WGPU_EXPORT void wgpuTextureDestroy(WGPUTexture texture);
|
|
WGPU_EXPORT uint32_t wgpuTextureGetDepthOrArrayLayers(WGPUTexture texture);
|
|
WGPU_EXPORT WGPUTextureDimension wgpuTextureGetDimension(WGPUTexture texture);
|
|
WGPU_EXPORT WGPUTextureFormat wgpuTextureGetFormat(WGPUTexture texture);
|
|
WGPU_EXPORT uint32_t wgpuTextureGetHeight(WGPUTexture texture);
|
|
WGPU_EXPORT uint32_t wgpuTextureGetMipLevelCount(WGPUTexture texture);
|
|
WGPU_EXPORT uint32_t wgpuTextureGetSampleCount(WGPUTexture texture);
|
|
WGPU_EXPORT WGPUTextureUsage wgpuTextureGetUsage(WGPUTexture texture);
|
|
WGPU_EXPORT uint32_t wgpuTextureGetWidth(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);
|