gpu: correct implementation invocations

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-07-26 23:03:54 -07:00 committed by Stephen Gutekanst
parent 4f91682bc2
commit 39ed9b5822
25 changed files with 638 additions and 638 deletions

View file

@ -5,40 +5,40 @@ const DeviceDescriptor = @import("device.zig").DeviceDescriptor;
const FeatureName = @import("types.zig").FeatureName; const FeatureName = @import("types.zig").FeatureName;
const SupportedLimits = @import("types.zig").SupportedLimits; const SupportedLimits = @import("types.zig").SupportedLimits;
const RequestDeviceStatus = @import("types.zig").RequestDeviceStatus; const RequestDeviceStatus = @import("types.zig").RequestDeviceStatus;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const Adapter = *opaque { pub const Adapter = *opaque {
pub inline fn createDevice(adapter: Adapter, descriptor: ?*const DeviceDescriptor) ?Device { pub inline fn createDevice(adapter: Adapter, descriptor: ?*const DeviceDescriptor) ?Device {
return impl.createDevice(adapter, descriptor); return Impl.createDevice(adapter, descriptor);
} }
/// Call once with null to determine the array length, and again to fetch the feature list. /// Call once with null to determine the array length, and again to fetch the feature list.
pub inline fn enumerateFeatures(adapter: Adapter, features: ?[*]FeatureName) usize { pub inline fn enumerateFeatures(adapter: Adapter, features: ?[*]FeatureName) usize {
return impl.adapterEnumerateFeatures(adapter, features); return Impl.adapterEnumerateFeatures(adapter, features);
} }
pub inline fn getLimits(adapter: Adapter, limits: *SupportedLimits) bool { pub inline fn getLimits(adapter: Adapter, limits: *SupportedLimits) bool {
return impl.adapterGetLimits(adapter, limits); return Impl.adapterGetLimits(adapter, limits);
} }
pub inline fn getProperties(adapter: Adapter, properties: *AdapterProperties) void { pub inline fn getProperties(adapter: Adapter, properties: *AdapterProperties) void {
impl.adapterGetProperties(adapter, properties); Impl.adapterGetProperties(adapter, properties);
} }
pub inline fn hasFeature(adapter: Adapter, feature: FeatureName) bool { pub inline fn hasFeature(adapter: Adapter, feature: FeatureName) bool {
return impl.adapterHasFeature(adapter, feature); return Impl.adapterHasFeature(adapter, feature);
} }
pub inline fn requestDevice(adapter: Adapter, descriptor: ?*const DeviceDescriptor, callback: RequestDeviceCallback, userdata: *anyopaque) void { pub inline fn requestDevice(adapter: Adapter, descriptor: ?*const DeviceDescriptor, callback: RequestDeviceCallback, userdata: *anyopaque) void {
impl.adapterRequestDevice(adapter, descriptor, callback, userdata); Impl.adapterRequestDevice(adapter, descriptor, callback, userdata);
} }
pub inline fn reference(adapter: Adapter) void { pub inline fn reference(adapter: Adapter) void {
impl.adapterReference(adapter); Impl.adapterReference(adapter);
} }
pub inline fn release(adapter: Adapter) void { pub inline fn release(adapter: Adapter) void {
impl.adapterRelease(adapter); Impl.adapterRelease(adapter);
} }
}; };

View file

@ -3,19 +3,19 @@ const Sampler = @import("sampler.zig").Sampler;
const TextureView = @import("texture_view.zig").TextureView; const TextureView = @import("texture_view.zig").TextureView;
const ChainedStruct = @import("types.zig").ChainedStruct; const ChainedStruct = @import("types.zig").ChainedStruct;
const BindGroupLayout = @import("bind_group_layout.zig").BindGroupLayout; const BindGroupLayout = @import("bind_group_layout.zig").BindGroupLayout;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const BindGroup = *opaque { pub const BindGroup = *opaque {
pub inline fn setLabel(bind_group: BindGroup, label: [*:0]const u8) void { pub inline fn setLabel(bind_group: BindGroup, label: [*:0]const u8) void {
impl.bindGroupSetLabel(bind_group, label); Impl.bindGroupSetLabel(bind_group, label);
} }
pub inline fn reference(bind_group: BindGroup) void { pub inline fn reference(bind_group: BindGroup) void {
impl.bindGroupReference(bind_group); Impl.bindGroupReference(bind_group);
} }
pub inline fn release(bind_group: BindGroup) void { pub inline fn release(bind_group: BindGroup) void {
impl.bindGroupRelease(bind_group); Impl.bindGroupRelease(bind_group);
} }
}; };

View file

@ -7,19 +7,19 @@ const SamplerBindingLayout = @import("sampler.zig").SamplerBindingLayout;
const Texture = @import("texture.zig").Texture; const Texture = @import("texture.zig").Texture;
const TextureBindingLayout = @import("texture.zig").TextureBindingLayout; const TextureBindingLayout = @import("texture.zig").TextureBindingLayout;
const StorageTextureBindingLayout = @import("types.zig").StorageTextureBindingLayout; const StorageTextureBindingLayout = @import("types.zig").StorageTextureBindingLayout;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const BindGroupLayout = *opaque { pub const BindGroupLayout = *opaque {
pub inline fn setLabel(bind_group_layout: BindGroupLayout, label: [*:0]const u8) void { pub inline fn setLabel(bind_group_layout: BindGroupLayout, label: [*:0]const u8) void {
impl.bindGroupLayoutSetLabel(bind_group_layout, label); Impl.bindGroupLayoutSetLabel(bind_group_layout, label);
} }
pub inline fn reference(bind_group_layout: BindGroupLayout) void { pub inline fn reference(bind_group_layout: BindGroupLayout) void {
impl.bindGroupLayoutReference(bind_group_layout); Impl.bindGroupLayoutReference(bind_group_layout);
} }
pub inline fn release(bind_group_layout: BindGroupLayout) void { pub inline fn release(bind_group_layout: BindGroupLayout) void {
impl.bindGroupLayoutRelease(bind_group_layout); Impl.bindGroupLayoutRelease(bind_group_layout);
} }
}; };

View file

@ -1,47 +1,47 @@
const std = @import("std"); const std = @import("std");
const ChainedStruct = @import("types.zig").ChainedStruct; const ChainedStruct = @import("types.zig").ChainedStruct;
const MapModeFlags = @import("types.zig").MapModeFlags; const MapModeFlags = @import("types.zig").MapModeFlags;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const Buffer = *opaque { pub const Buffer = *opaque {
pub inline fn destroy(buffer: Buffer) void { pub inline fn destroy(buffer: Buffer) void {
impl.bufferDestroy(buffer); Impl.bufferDestroy(buffer);
} }
pub inline fn bufferGetConstMappedRange(buffer: Buffer, offset: usize, size: usize) ?*const anyopaque { pub inline fn bufferGetConstMappedRange(buffer: Buffer, offset: usize, size: usize) ?*const anyopaque {
return impl.bufferGetConstMappedRange(buffer, offset, size); return Impl.bufferGetConstMappedRange(buffer, offset, size);
} }
pub inline fn bufferGetMappedRange(buffer: Buffer, offset: usize, size: usize) ?*anyopaque { pub inline fn bufferGetMappedRange(buffer: Buffer, offset: usize, size: usize) ?*anyopaque {
return impl.bufferGetMappedRange(buffer, offset, size); return Impl.bufferGetMappedRange(buffer, offset, size);
} }
pub inline fn bufferGetSize(buffer: Buffer) u64 { pub inline fn bufferGetSize(buffer: Buffer) u64 {
return impl.bufferGetSize(buffer); return Impl.bufferGetSize(buffer);
} }
pub inline fn bufferGetUsage(buffer: Buffer) BufferUsage { pub inline fn bufferGetUsage(buffer: Buffer) BufferUsage {
return impl.bufferGetUsage(buffer); return Impl.bufferGetUsage(buffer);
} }
pub inline fn bufferMapAsync(buffer: Buffer, mode: MapModeFlags, offset: usize, size: usize, callback: BufferMapCallback, userdata: *anyopaque) void { pub inline fn bufferMapAsync(buffer: Buffer, mode: MapModeFlags, offset: usize, size: usize, callback: BufferMapCallback, userdata: *anyopaque) void {
impl.bufferMapAsync(buffer, mode, offset, size, callback, userdata); Impl.bufferMapAsync(buffer, mode, offset, size, callback, userdata);
} }
pub inline fn bufferSetLabel(buffer: Buffer, label: [*:0]const u8) void { pub inline fn bufferSetLabel(buffer: Buffer, label: [*:0]const u8) void {
impl.bufferSetLabel(buffer, label); Impl.bufferSetLabel(buffer, label);
} }
pub inline fn bufferUnmap(buffer: Buffer) void { pub inline fn bufferUnmap(buffer: Buffer) void {
impl.bufferUnmap(buffer); Impl.bufferUnmap(buffer);
} }
pub inline fn bufferReference(buffer: Buffer) void { pub inline fn bufferReference(buffer: Buffer) void {
impl.bufferReference(buffer); Impl.bufferReference(buffer);
} }
pub inline fn bufferRelease(buffer: Buffer) void { pub inline fn bufferRelease(buffer: Buffer) void {
impl.bufferRelease(buffer); Impl.bufferRelease(buffer);
} }
}; };

View file

@ -1,17 +1,17 @@
const ChainedStruct = @import("types.zig").ChainedStruct; const ChainedStruct = @import("types.zig").ChainedStruct;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const CommandBuffer = *opaque { pub const CommandBuffer = *opaque {
pub inline fn setLabel(command_buffer: CommandBuffer, label: [*:0]const u8) void { pub inline fn setLabel(command_buffer: CommandBuffer, label: [*:0]const u8) void {
impl.commandBufferSetLabel(command_buffer, label); Impl.commandBufferSetLabel(command_buffer, label);
} }
pub inline fn reference(command_buffer: CommandBuffer) void { pub inline fn reference(command_buffer: CommandBuffer) void {
impl.commandBufferReference(command_buffer); Impl.commandBufferReference(command_buffer);
} }
pub inline fn release(command_buffer: CommandBuffer) void { pub inline fn release(command_buffer: CommandBuffer) void {
impl.commandBufferRelease(command_buffer); Impl.commandBufferRelease(command_buffer);
} }
}; };

View file

@ -10,85 +10,85 @@ const ChainedStruct = @import("types.zig").ChainedStruct;
const ImageCopyBuffer = @import("types.zig").ImageCopyBuffer; const ImageCopyBuffer = @import("types.zig").ImageCopyBuffer;
const ImageCopyTexture = @import("types.zig").ImageCopyTexture; const ImageCopyTexture = @import("types.zig").ImageCopyTexture;
const Extent3D = @import("types.zig").Extent3D; const Extent3D = @import("types.zig").Extent3D;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const CommandEncoder = *opaque { pub const CommandEncoder = *opaque {
pub inline fn beginComputePass(command_encoder: CommandEncoder, descriptor: ?*const ComputePassDescriptor) ComputePassEncoder { pub inline fn beginComputePass(command_encoder: CommandEncoder, descriptor: ?*const ComputePassDescriptor) ComputePassEncoder {
return impl.commandEncoderBeginComputePass(command_encoder, descriptor); return Impl.commandEncoderBeginComputePass(command_encoder, descriptor);
} }
pub inline fn beginRenderPass(command_encoder: CommandEncoder, descriptor: *const RenderPassDescriptor) RenderPassEncoder { pub inline fn beginRenderPass(command_encoder: CommandEncoder, descriptor: *const RenderPassDescriptor) RenderPassEncoder {
return impl.commandEncoderBeginRenderPass(command_encoder, descriptor); return Impl.commandEncoderBeginRenderPass(command_encoder, descriptor);
} }
pub inline fn clearBuffer(command_encoder: CommandEncoder, buffer: Buffer, offset: u64, size: u64) void { pub inline fn clearBuffer(command_encoder: CommandEncoder, buffer: Buffer, offset: u64, size: u64) void {
impl.commandEncoderClearBuffer(command_encoder, buffer, offset, size); Impl.commandEncoderClearBuffer(command_encoder, buffer, offset, size);
} }
pub inline fn copyBufferToBuffer(command_encoder: CommandEncoder, source: Buffer, source_offset: u64, destination: Buffer, destination_offset: u64, size: u64) void { pub inline fn copyBufferToBuffer(command_encoder: CommandEncoder, source: Buffer, source_offset: u64, destination: Buffer, destination_offset: u64, size: u64) void {
impl.commandEncoderCopyBufferToBuffer(command_encoder, source, source_offset, destination, destination_offset, size); Impl.commandEncoderCopyBufferToBuffer(command_encoder, source, source_offset, destination, destination_offset, size);
} }
pub inline fn copyBufferToTexture(command_encoder: CommandEncoder, source: *const ImageCopyBuffer, destination: *const ImageCopyTexture, copy_size: *const Extent3D) void { pub inline fn copyBufferToTexture(command_encoder: CommandEncoder, source: *const ImageCopyBuffer, destination: *const ImageCopyTexture, copy_size: *const Extent3D) void {
impl.commandEncoderCopyBufferToTexture(command_encoder, source, destination, copy_size); Impl.commandEncoderCopyBufferToTexture(command_encoder, source, destination, copy_size);
} }
pub inline fn copyTextureToBuffer(command_encoder: CommandEncoder, source: *const ImageCopyTexture, destination: *const ImageCopyBuffer, copy_size: *const Extent3D) void { pub inline fn copyTextureToBuffer(command_encoder: CommandEncoder, source: *const ImageCopyTexture, destination: *const ImageCopyBuffer, copy_size: *const Extent3D) void {
impl.commandEncoderCopyTextureToBuffer(command_encoder, source, destination, copy_size); Impl.commandEncoderCopyTextureToBuffer(command_encoder, source, destination, copy_size);
} }
pub inline fn copyTextureToTexture(command_encoder: CommandEncoder, source: *const ImageCopyTexture, destination: *const ImageCopyTexture, copy_size: *const Extent3D) void { pub inline fn copyTextureToTexture(command_encoder: CommandEncoder, source: *const ImageCopyTexture, destination: *const ImageCopyTexture, copy_size: *const Extent3D) void {
impl.commandEncoderCopyTextureToTexture(command_encoder, source, destination, copy_size); Impl.commandEncoderCopyTextureToTexture(command_encoder, source, destination, copy_size);
} }
// Note: the only difference between this and the non-internal variant is that this one checks // Note: the only difference between this and the non-internal variant is that this one checks
// internal usage. // internal usage.
pub inline fn copyTextureToTextureInternal(command_encoder: CommandEncoder, source: *const ImageCopyTexture, destination: *const ImageCopyTexture, copy_size: *const Extent3D) void { pub inline fn copyTextureToTextureInternal(command_encoder: CommandEncoder, source: *const ImageCopyTexture, destination: *const ImageCopyTexture, copy_size: *const Extent3D) void {
impl.commandEncoderCopyTextureToTextureInternal(command_encoder, source, destination, copy_size); Impl.commandEncoderCopyTextureToTextureInternal(command_encoder, source, destination, copy_size);
} }
pub inline fn finish(command_encoder: CommandEncoder, descriptor: ?*const CommandBufferDescriptor) CommandBuffer { pub inline fn finish(command_encoder: CommandEncoder, descriptor: ?*const CommandBufferDescriptor) CommandBuffer {
return impl.commandEncoderFinish(command_encoder, descriptor); return Impl.commandEncoderFinish(command_encoder, descriptor);
} }
pub inline fn injectValidationError(command_encoder: CommandEncoder, message: [*:0]const u8) void { pub inline fn injectValidationError(command_encoder: CommandEncoder, message: [*:0]const u8) void {
impl.commandEncoderInjectValidationError(command_encoder, message); Impl.commandEncoderInjectValidationError(command_encoder, message);
} }
pub inline fn insertDebugMarker(command_encoder: CommandEncoder, marker_label: [*:0]const u8) void { pub inline fn insertDebugMarker(command_encoder: CommandEncoder, marker_label: [*:0]const u8) void {
impl.commandEncoderInsertDebugMarker(command_encoder, marker_label); Impl.commandEncoderInsertDebugMarker(command_encoder, marker_label);
} }
pub inline fn popDebugGroup(command_encoder: CommandEncoder) void { pub inline fn popDebugGroup(command_encoder: CommandEncoder) void {
impl.commandEncoderPopDebugGroup(command_encoder); Impl.commandEncoderPopDebugGroup(command_encoder);
} }
pub inline fn pushDebugGroup(command_encoder: CommandEncoder, group_label: [*:0]const u8) void { pub inline fn pushDebugGroup(command_encoder: CommandEncoder, group_label: [*:0]const u8) void {
impl.commandEncoderPushDebugGroup(command_encoder, group_label); Impl.commandEncoderPushDebugGroup(command_encoder, group_label);
} }
pub inline fn resolveQuerySet(command_encoder: CommandEncoder, query_set: QuerySet, first_query: u32, query_count: u32, destination: Buffer, destination_offset: u64) void { pub inline fn resolveQuerySet(command_encoder: CommandEncoder, query_set: QuerySet, first_query: u32, query_count: u32, destination: Buffer, destination_offset: u64) void {
impl.commandEncoderResolveQuerySet(command_encoder, query_set, first_query, query_count, destination, destination_offset); Impl.commandEncoderResolveQuerySet(command_encoder, query_set, first_query, query_count, destination, destination_offset);
} }
pub inline fn setLabel(command_encoder: CommandEncoder, label: [*:0]const u8) void { pub inline fn setLabel(command_encoder: CommandEncoder, label: [*:0]const u8) void {
impl.commandEncoderSetLabel(command_encoder, label); Impl.commandEncoderSetLabel(command_encoder, label);
} }
pub inline fn writeBuffer(command_encoder: CommandEncoder, buffer: Buffer, buffer_offset: u64, data: [*]const u8, size: u64) void { pub inline fn writeBuffer(command_encoder: CommandEncoder, buffer: Buffer, buffer_offset: u64, data: [*]const u8, size: u64) void {
impl.commandEncoderWriteBuffer(command_encoder, buffer, buffer_offset, data, size); Impl.commandEncoderWriteBuffer(command_encoder, buffer, buffer_offset, data, size);
} }
pub inline fn writeTimestamp(command_encoder: CommandEncoder, query_set: QuerySet, query_index: u32) void { pub inline fn writeTimestamp(command_encoder: CommandEncoder, query_set: QuerySet, query_index: u32) void {
impl.commandEncoderWriteTimestamp(command_encoder, query_set, query_index); Impl.commandEncoderWriteTimestamp(command_encoder, query_set, query_index);
} }
pub inline fn reference(command_encoder: CommandEncoder) void { pub inline fn reference(command_encoder: CommandEncoder) void {
impl.commandEncoderReference(command_encoder); Impl.commandEncoderReference(command_encoder);
} }
pub inline fn release(command_encoder: CommandEncoder) void { pub inline fn release(command_encoder: CommandEncoder) void {
impl.commandEncoderRelease(command_encoder); Impl.commandEncoderRelease(command_encoder);
} }
}; };

View file

@ -1,66 +1,66 @@
const Buffer = @import("buffer.zig").Buffer; const Buffer = @import("buffer.zig").Buffer;
const BindGroup = @import("bind_group.zig").BindGroup; const BindGroup = @import("bind_group.zig").BindGroup;
const ComputePipeline = @import("compute_pipeline.zig").ComputePipeline; const ComputePipeline = @import("compute_pipeline.zig").ComputePipeline;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const ComputePassEncoder = *opaque { pub const ComputePassEncoder = *opaque {
pub inline fn dispatch(compute_pass_encoder: ComputePassEncoder, workgroup_count_x: u32, workgroup_count_y: u32, workgroup_count_z: u32) void { pub inline fn dispatch(compute_pass_encoder: ComputePassEncoder, workgroup_count_x: u32, workgroup_count_y: u32, workgroup_count_z: u32) void {
impl.computePassEncoderDispatch(compute_pass_encoder, workgroup_count_x, workgroup_count_y, workgroup_count_z); Impl.computePassEncoderDispatch(compute_pass_encoder, workgroup_count_x, workgroup_count_y, workgroup_count_z);
} }
pub inline fn dispatchIndirect(compute_pass_encoder: ComputePassEncoder, indirect_buffer: Buffer, indirect_offset: u64) void { pub inline fn dispatchIndirect(compute_pass_encoder: ComputePassEncoder, indirect_buffer: Buffer, indirect_offset: u64) void {
impl.computePassEncoderDispatchIndirect(compute_pass_encoder, indirect_buffer, indirect_offset); Impl.computePassEncoderDispatchIndirect(compute_pass_encoder, indirect_buffer, indirect_offset);
} }
pub inline fn dispatchWorkgroups(compute_pass_encoder: ComputePassEncoder, workgroup_count_x: u32, workgroup_count_y: u32, workgroup_count_z: u32) void { pub inline fn dispatchWorkgroups(compute_pass_encoder: ComputePassEncoder, workgroup_count_x: u32, workgroup_count_y: u32, workgroup_count_z: u32) void {
impl.computePassEncoderDispatchWorkgroups(compute_pass_encoder, workgroup_count_x, workgroup_count_y, workgroup_count_z); Impl.computePassEncoderDispatchWorkgroups(compute_pass_encoder, workgroup_count_x, workgroup_count_y, workgroup_count_z);
} }
pub inline fn dispatchWorkgroupsIndirect(compute_pass_encoder: ComputePassEncoder, indirect_buffer: Buffer, indirect_offset: u64) void { pub inline fn dispatchWorkgroupsIndirect(compute_pass_encoder: ComputePassEncoder, indirect_buffer: Buffer, indirect_offset: u64) void {
impl.computePassEncoderDispatchWorkgroupsIndirect(compute_pass_encoder, indirect_buffer, indirect_offset); Impl.computePassEncoderDispatchWorkgroupsIndirect(compute_pass_encoder, indirect_buffer, indirect_offset);
} }
pub inline fn end(compute_pass_encoder: ComputePassEncoder) void { pub inline fn end(compute_pass_encoder: ComputePassEncoder) void {
impl.computePassEncoderEnd(compute_pass_encoder); Impl.computePassEncoderEnd(compute_pass_encoder);
} }
pub inline fn endPass(compute_pass_encoder: ComputePassEncoder) void { pub inline fn endPass(compute_pass_encoder: ComputePassEncoder) void {
impl.computePassEncoderEndPass(compute_pass_encoder); Impl.computePassEncoderEndPass(compute_pass_encoder);
} }
pub inline fn insertDebugMarker(compute_pass_encoder: ComputePassEncoder, marker_label: [*:0]const u8) void { pub inline fn insertDebugMarker(compute_pass_encoder: ComputePassEncoder, marker_label: [*:0]const u8) void {
impl.computePassEncoderInsertDebugMarker(compute_pass_encoder, marker_label); Impl.computePassEncoderInsertDebugMarker(compute_pass_encoder, marker_label);
} }
pub inline fn popDebugGroup(compute_pass_encoder: ComputePassEncoder) void { pub inline fn popDebugGroup(compute_pass_encoder: ComputePassEncoder) void {
impl.computePassEncoderPopDebugGroup(compute_pass_encoder); Impl.computePassEncoderPopDebugGroup(compute_pass_encoder);
} }
pub inline fn pushDebugGroup(compute_pass_encoder: ComputePassEncoder, group_label: [*:0]const u8) void { pub inline fn pushDebugGroup(compute_pass_encoder: ComputePassEncoder, group_label: [*:0]const u8) void {
impl.computePassEncoderPushDebugGroup(compute_pass_encoder, group_label); Impl.computePassEncoderPushDebugGroup(compute_pass_encoder, group_label);
} }
pub inline fn setBindGroup(compute_pass_encoder: ComputePassEncoder, group_index: u32, group: BindGroup, dynamic_offset_count: u32, dynamic_offsets: [*]const u32) void { pub inline fn setBindGroup(compute_pass_encoder: ComputePassEncoder, group_index: u32, group: BindGroup, dynamic_offset_count: u32, dynamic_offsets: [*]const u32) void {
impl.computePassEncoderSetBindGroup(compute_pass_encoder, group_index, group, dynamic_offset_count, dynamic_offsets); Impl.computePassEncoderSetBindGroup(compute_pass_encoder, group_index, group, dynamic_offset_count, dynamic_offsets);
} }
pub inline fn setLabel(compute_pass_encoder: ComputePassEncoder, label: [*:0]const u8) void { pub inline fn setLabel(compute_pass_encoder: ComputePassEncoder, label: [*:0]const u8) void {
impl.computePassEncoderSetLabel(compute_pass_encoder, label); Impl.computePassEncoderSetLabel(compute_pass_encoder, label);
} }
pub inline fn setPipeline(compute_pass_encoder: ComputePassEncoder, pipeline: ComputePipeline) void { pub inline fn setPipeline(compute_pass_encoder: ComputePassEncoder, pipeline: ComputePipeline) void {
impl.computePassEncoderSetPipeline(compute_pass_encoder, pipeline); Impl.computePassEncoderSetPipeline(compute_pass_encoder, pipeline);
} }
pub inline fn writeTimestamp(compute_pass_encoder: ComputePassEncoder, pipeline: ComputePipeline) void { pub inline fn writeTimestamp(compute_pass_encoder: ComputePassEncoder, pipeline: ComputePipeline) void {
impl.computePassEncoderWriteTimestamp(compute_pass_encoder, pipeline); Impl.computePassEncoderWriteTimestamp(compute_pass_encoder, pipeline);
} }
pub inline fn reference(compute_pass_encoder: ComputePassEncoder) void { pub inline fn reference(compute_pass_encoder: ComputePassEncoder) void {
impl.computePassEncoderReference(compute_pass_encoder); Impl.computePassEncoderReference(compute_pass_encoder);
} }
pub inline fn release(compute_pass_encoder: ComputePassEncoder) void { pub inline fn release(compute_pass_encoder: ComputePassEncoder) void {
impl.computePassEncoderRelease(compute_pass_encoder); Impl.computePassEncoderRelease(compute_pass_encoder);
} }
}; };

View file

@ -2,23 +2,23 @@ const ChainedStruct = @import("types.zig").ChainedStruct;
const ProgrammableStageDescriptor = @import("types.zig").ProgrammableStageDescriptor; const ProgrammableStageDescriptor = @import("types.zig").ProgrammableStageDescriptor;
const PipelineLayout = @import("pipeline_layout.zig").PipelineLayout; const PipelineLayout = @import("pipeline_layout.zig").PipelineLayout;
const BindGroupLayout = @import("bind_group_layout.zig").BindGroupLayout; const BindGroupLayout = @import("bind_group_layout.zig").BindGroupLayout;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const ComputePipeline = *opaque { pub const ComputePipeline = *opaque {
pub inline fn getBindGroupLayout(compute_pipeline: ComputePipeline, group_index: u32) BindGroupLayout { pub inline fn getBindGroupLayout(compute_pipeline: ComputePipeline, group_index: u32) BindGroupLayout {
return impl.computePipelineGetBindGroupLayout(compute_pipeline, group_index); return Impl.computePipelineGetBindGroupLayout(compute_pipeline, group_index);
} }
pub inline fn setLabel(compute_pipeline: ComputePipeline, label: [*:0]const u8) void { pub inline fn setLabel(compute_pipeline: ComputePipeline, label: [*:0]const u8) void {
impl.computePipelineSetLabel(compute_pipeline, label); Impl.computePipelineSetLabel(compute_pipeline, label);
} }
pub inline fn reference(compute_pipeline: ComputePipeline) void { pub inline fn reference(compute_pipeline: ComputePipeline) void {
impl.computePipelineReference(compute_pipeline); Impl.computePipelineReference(compute_pipeline);
} }
pub inline fn release(compute_pipeline: ComputePipeline) void { pub inline fn release(compute_pipeline: ComputePipeline) void {
impl.computePipelineRelease(compute_pipeline); Impl.computePipelineRelease(compute_pipeline);
} }
}; };

View file

@ -39,143 +39,143 @@ const ErrorCallback = @import("types.zig").ErrorCallback;
const LoggingCallback = @import("types.zig").LoggingCallback; const LoggingCallback = @import("types.zig").LoggingCallback;
const CreateComputePipelineAsyncCallback = @import("types.zig").CreateComputePipelineAsyncCallback; const CreateComputePipelineAsyncCallback = @import("types.zig").CreateComputePipelineAsyncCallback;
const CreateRenderPipelineAsyncCallback = @import("types.zig").CreateRenderPipelineAsyncCallback; const CreateRenderPipelineAsyncCallback = @import("types.zig").CreateRenderPipelineAsyncCallback;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const Device = *opaque { pub const Device = *opaque {
pub inline fn createBindGroup(device: Device, descriptor: *const BindGroupDescriptor) BindGroup { pub inline fn createBindGroup(device: Device, descriptor: *const BindGroupDescriptor) BindGroup {
return impl.deviceCreateBindGroup(device, descriptor); return Impl.deviceCreateBindGroup(device, descriptor);
} }
pub inline fn createBindGroupLayout(device: Device, descriptor: *const BindGroupLayoutDescriptor) BindGroupLayout { pub inline fn createBindGroupLayout(device: Device, descriptor: *const BindGroupLayoutDescriptor) BindGroupLayout {
return impl.deviceCreateBindGroupLayout(device, descriptor); return Impl.deviceCreateBindGroupLayout(device, descriptor);
} }
pub inline fn createBuffer(device: Device, descriptor: *const BufferDescriptor) Buffer { pub inline fn createBuffer(device: Device, descriptor: *const BufferDescriptor) Buffer {
return impl.deviceCreateBuffer(device, descriptor); return Impl.deviceCreateBuffer(device, descriptor);
} }
pub inline fn createCommandEncoder(device: Device, descriptor: ?*const CommandEncoderDescriptor) CommandEncoder { pub inline fn createCommandEncoder(device: Device, descriptor: ?*const CommandEncoderDescriptor) CommandEncoder {
return impl.deviceCreateCommandEncoder(device, descriptor); return Impl.deviceCreateCommandEncoder(device, descriptor);
} }
pub inline fn createComputePipeline(device: Device, descriptor: *const ComputePipelineDescriptor) ComputePipeline { pub inline fn createComputePipeline(device: Device, descriptor: *const ComputePipelineDescriptor) ComputePipeline {
return impl.deviceCreateComputePipeline(device, descriptor); return Impl.deviceCreateComputePipeline(device, descriptor);
} }
pub inline fn createComputePipelineAsync(device: Device, descriptor: *const ComputePipelineDescriptor, callback: CreateComputePipelineAsyncCallback, userdata: *anyopaque) void { pub inline fn createComputePipelineAsync(device: Device, descriptor: *const ComputePipelineDescriptor, callback: CreateComputePipelineAsyncCallback, userdata: *anyopaque) void {
impl.deviceCreateComputePipelineAsync(device, descriptor, callback, userdata); Impl.deviceCreateComputePipelineAsync(device, descriptor, callback, userdata);
} }
pub inline fn createErrorBuffer(device: Device) Buffer { pub inline fn createErrorBuffer(device: Device) Buffer {
return impl.deviceCreateErrorBuffer(device); return Impl.deviceCreateErrorBuffer(device);
} }
pub inline fn createErrorExternalTexture(device: Device) ExternalTexture { pub inline fn createErrorExternalTexture(device: Device) ExternalTexture {
return impl.deviceCreateErrorExternalTexture(device); return Impl.deviceCreateErrorExternalTexture(device);
} }
pub inline fn createExternalTexture(device: Device, external_texture_descriptor: *const ExternalTextureDescriptor) ExternalTexture { pub inline fn createExternalTexture(device: Device, external_texture_descriptor: *const ExternalTextureDescriptor) ExternalTexture {
return impl.deviceCreateExternalTexture(device, external_texture_descriptor); return Impl.deviceCreateExternalTexture(device, external_texture_descriptor);
} }
pub inline fn createPipelineLayout(device: Device, pipeline_layout_descriptor: *const PipelineLayoutDescriptor) PipelineLayout { pub inline fn createPipelineLayout(device: Device, pipeline_layout_descriptor: *const PipelineLayoutDescriptor) PipelineLayout {
return impl.deviceCreatePipelineLayout(device, pipeline_layout_descriptor); return Impl.deviceCreatePipelineLayout(device, pipeline_layout_descriptor);
} }
pub inline fn createQuerySet(device: Device, descriptor: *const QuerySetDescriptor) QuerySet { pub inline fn createQuerySet(device: Device, descriptor: *const QuerySetDescriptor) QuerySet {
return impl.deviceCreateQuerySet(device, descriptor); return Impl.deviceCreateQuerySet(device, descriptor);
} }
pub inline fn createRenderBundleEncoder(device: Device, descriptor: *const RenderBundleEncoderDescriptor) RenderBundleEncoder { pub inline fn createRenderBundleEncoder(device: Device, descriptor: *const RenderBundleEncoderDescriptor) RenderBundleEncoder {
return impl.deviceCreateRenderBundleEncoder(device, descriptor); return Impl.deviceCreateRenderBundleEncoder(device, descriptor);
} }
pub inline fn createRenderPipeline(device: Device, descriptor: *const RenderPipelineDescriptor) RenderPipeline { pub inline fn createRenderPipeline(device: Device, descriptor: *const RenderPipelineDescriptor) RenderPipeline {
return impl.deviceCreateRenderPipeline(device, descriptor); return Impl.deviceCreateRenderPipeline(device, descriptor);
} }
pub inline fn createRenderPipelineAsync(device: Device, descriptor: *const RenderPipelineDescriptor, callback: CreateRenderPipelineAsyncCallback, userdata: *anyopaque) void { pub inline fn createRenderPipelineAsync(device: Device, descriptor: *const RenderPipelineDescriptor, callback: CreateRenderPipelineAsyncCallback, userdata: *anyopaque) void {
impl.deviceCreateRenderPipelineAsync(device, descriptor, callback, userdata); Impl.deviceCreateRenderPipelineAsync(device, descriptor, callback, userdata);
} }
pub inline fn createSampler(device: Device, descriptor: ?*const SamplerDescriptor) Sampler { pub inline fn createSampler(device: Device, descriptor: ?*const SamplerDescriptor) Sampler {
return impl.deviceCreateSampler(device, descriptor); return Impl.deviceCreateSampler(device, descriptor);
} }
pub inline fn createShaderModule(device: Device, descriptor: *const ShaderModuleDescriptor) ShaderModule { pub inline fn createShaderModule(device: Device, descriptor: *const ShaderModuleDescriptor) ShaderModule {
return impl.deviceCreateShaderModule(device, descriptor); return Impl.deviceCreateShaderModule(device, descriptor);
} }
pub inline fn createSwapChain(device: Device, surface: ?Surface, descriptor: *const SwapChainDescriptor) SwapChain { pub inline fn createSwapChain(device: Device, surface: ?Surface, descriptor: *const SwapChainDescriptor) SwapChain {
return impl.deviceCreateSwapChain(device, surface, descriptor); return Impl.deviceCreateSwapChain(device, surface, descriptor);
} }
pub inline fn createTexture(device: Device, descriptor: *const TextureDescriptor) Texture { pub inline fn createTexture(device: Device, descriptor: *const TextureDescriptor) Texture {
return impl.deviceCreateTexture(device, descriptor); return Impl.deviceCreateTexture(device, descriptor);
} }
pub inline fn destroy(device: Device) void { pub inline fn destroy(device: Device) void {
impl.deviceDestroy(device); Impl.deviceDestroy(device);
} }
pub inline fn enumerateFeatures(device: Device, features: [*]FeatureName) usize { pub inline fn enumerateFeatures(device: Device, features: [*]FeatureName) usize {
return impl.deviceEnumerateFeatures(device, features); return Impl.deviceEnumerateFeatures(device, features);
} }
pub inline fn getLimits(device: Device, limits: *SupportedLimits) bool { pub inline fn getLimits(device: Device, limits: *SupportedLimits) bool {
return impl.deviceGetLimits(device, limits); return Impl.deviceGetLimits(device, limits);
} }
pub inline fn getQueue(device: Device) Queue { pub inline fn getQueue(device: Device) Queue {
return impl.deviceGetQueue(device); return Impl.deviceGetQueue(device);
} }
pub inline fn hasFeature(device: Device, feature: FeatureName) bool { pub inline fn hasFeature(device: Device, feature: FeatureName) bool {
return impl.deviceHasFeature(device, feature); return Impl.deviceHasFeature(device, feature);
} }
pub inline fn injectError(device: Device, typ: ErrorType, message: [*:0]const u8) void { pub inline fn injectError(device: Device, typ: ErrorType, message: [*:0]const u8) void {
impl.deviceInjectError(device, typ, message); Impl.deviceInjectError(device, typ, message);
} }
pub inline fn loseForTesting(device: Device) void { pub inline fn loseForTesting(device: Device) void {
impl.deviceLoseForTesting(device); Impl.deviceLoseForTesting(device);
} }
pub inline fn popErrorScope(device: Device, callback: ErrorCallback, userdata: *anyopaque) bool { pub inline fn popErrorScope(device: Device, callback: ErrorCallback, userdata: *anyopaque) bool {
return impl.devicePopErrorScope(device, callback, userdata); return Impl.devicePopErrorScope(device, callback, userdata);
} }
pub inline fn pushErrorScope(device: Device, filter: ErrorFilter) void { pub inline fn pushErrorScope(device: Device, filter: ErrorFilter) void {
impl.devicePushErrorScope(device, filter); Impl.devicePushErrorScope(device, filter);
} }
pub inline fn setDeviceLostCallback(device: Device, callback: DeviceLostCallback, userdata: *anyopaque) void { pub inline fn setDeviceLostCallback(device: Device, callback: DeviceLostCallback, userdata: *anyopaque) void {
impl.deviceSetDeviceLostCallback(device, callback, userdata); Impl.deviceSetDeviceLostCallback(device, callback, userdata);
} }
pub inline fn setLabel(device: Device, label: [*:0]const u8) void { pub inline fn setLabel(device: Device, label: [*:0]const u8) void {
impl.deviceSetLabel(device, label); Impl.deviceSetLabel(device, label);
} }
pub inline fn setLoggingCallback(device: Device, callback: LoggingCallback, userdata: *anyopaque) void { pub inline fn setLoggingCallback(device: Device, callback: LoggingCallback, userdata: *anyopaque) void {
impl.deviceSetLoggingCallback(device, callback, userdata); Impl.deviceSetLoggingCallback(device, callback, userdata);
} }
pub inline fn setUncapturedErrorCallback(device: Device, callback: ErrorCallback, userdata: *anyopaque) void { pub inline fn setUncapturedErrorCallback(device: Device, callback: ErrorCallback, userdata: *anyopaque) void {
impl.deviceSetUncapturedErrorCallback(device, callback, userdata); Impl.deviceSetUncapturedErrorCallback(device, callback, userdata);
} }
pub inline fn tick(device: Device) void { pub inline fn tick(device: Device) void {
impl.deviceTick(device); Impl.deviceTick(device);
} }
pub inline fn reference(device: Device) void { pub inline fn reference(device: Device) void {
impl.deviceReference(device); Impl.deviceReference(device);
} }
pub inline fn release(device: Device) void { pub inline fn release(device: Device) void {
impl.deviceRelease(device); Impl.deviceRelease(device);
} }
}; };

View file

@ -1,22 +1,22 @@
const ChainedStruct = @import("types.zig").ChainedStruct; const ChainedStruct = @import("types.zig").ChainedStruct;
const TextureView = @import("texture_view.zig").TextureView; const TextureView = @import("texture_view.zig").TextureView;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const ExternalTexture = *opaque { pub const ExternalTexture = *opaque {
pub inline fn destroy(external_texture: ExternalTexture) void { pub inline fn destroy(external_texture: ExternalTexture) void {
impl.externalTextureDestroy(external_texture); Impl.externalTextureDestroy(external_texture);
} }
pub inline fn setLabel(external_texture: ExternalTexture, label: [*:0]const u8) void { pub inline fn setLabel(external_texture: ExternalTexture, label: [*:0]const u8) void {
impl.externalTextureSetLabel(external_texture, label); Impl.externalTextureSetLabel(external_texture, label);
} }
pub inline fn reference(external_texture: ExternalTexture) void { pub inline fn reference(external_texture: ExternalTexture) void {
impl.externalTextureReference(external_texture); Impl.externalTextureReference(external_texture);
} }
pub inline fn release(external_texture: ExternalTexture) void { pub inline fn release(external_texture: ExternalTexture) void {
impl.externalTextureRelease(external_texture); Impl.externalTextureRelease(external_texture);
} }
}; };

View file

@ -4,23 +4,23 @@ const Surface = @import("surface.zig").Surface;
const SurfaceDescriptor = @import("surface.zig").SurfaceDescriptor; const SurfaceDescriptor = @import("surface.zig").SurfaceDescriptor;
const Adapter = @import("adapter.zig").Adapter; const Adapter = @import("adapter.zig").Adapter;
const RequestAdapterOptions = @import("main.zig").RequestAdapterOptions; const RequestAdapterOptions = @import("main.zig").RequestAdapterOptions;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const Instance = *opaque { pub const Instance = *opaque {
pub inline fn createSurface(instance: Instance, descriptor: *const SurfaceDescriptor) Surface { pub inline fn createSurface(instance: Instance, descriptor: *const SurfaceDescriptor) Surface {
return impl.instanceCreateSurface(instance, descriptor); return Impl.instanceCreateSurface(instance, descriptor);
} }
pub inline fn requestAdapter(instance: Instance, options: *const RequestAdapterOptions, callback: RequestAdapterCallback, userdata: *anyopaque) void { pub inline fn requestAdapter(instance: Instance, options: *const RequestAdapterOptions, callback: RequestAdapterCallback, userdata: *anyopaque) void {
impl.instanceRequestAdapter(instance, options, callback, userdata); Impl.instanceRequestAdapter(instance, options, callback, userdata);
} }
pub inline fn reference(instance: Instance) void { pub inline fn reference(instance: Instance) void {
impl.instanceReference(instance); Impl.instanceReference(instance);
} }
pub inline fn release(instance: Instance) void { pub inline fn release(instance: Instance) void {
impl.instanceRelease(instance); Impl.instanceRelease(instance);
} }
}; };

File diff suppressed because it is too large Load diff

View file

@ -1,18 +1,18 @@
const ChainedStruct = @import("types.zig").ChainedStruct; const ChainedStruct = @import("types.zig").ChainedStruct;
const BindGroupLayout = @import("bind_group_layout.zig").BindGroupLayout; const BindGroupLayout = @import("bind_group_layout.zig").BindGroupLayout;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const PipelineLayout = *opaque { pub const PipelineLayout = *opaque {
pub inline fn setLabel(pipeline_layout: PipelineLayout, label: [*:0]const u8) void { pub inline fn setLabel(pipeline_layout: PipelineLayout, label: [*:0]const u8) void {
impl.pipelineLayoutSetLabel(pipeline_layout, label); Impl.pipelineLayoutSetLabel(pipeline_layout, label);
} }
pub inline fn reference(pipeline_layout: PipelineLayout) void { pub inline fn reference(pipeline_layout: PipelineLayout) void {
impl.pipelineLayoutReference(pipeline_layout); Impl.pipelineLayoutReference(pipeline_layout);
} }
pub inline fn release(pipeline_layout: PipelineLayout) void { pub inline fn release(pipeline_layout: PipelineLayout) void {
impl.pipelineLayoutRelease(pipeline_layout); Impl.pipelineLayoutRelease(pipeline_layout);
} }
}; };

View file

@ -1,31 +1,31 @@
const ChainedStruct = @import("types.zig").ChainedStruct; const ChainedStruct = @import("types.zig").ChainedStruct;
const PipelineStatisticName = @import("types.zig").PipelineStatisticName; const PipelineStatisticName = @import("types.zig").PipelineStatisticName;
const QueryType = @import("types.zig").QueryType; const QueryType = @import("types.zig").QueryType;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const QuerySet = *opaque { pub const QuerySet = *opaque {
pub inline fn destroy(query_set: QuerySet) void { pub inline fn destroy(query_set: QuerySet) void {
impl.querySetDestroy(query_set); Impl.querySetDestroy(query_set);
} }
pub inline fn getCount(query_set: QuerySet) u32 { pub inline fn getCount(query_set: QuerySet) u32 {
return impl.querySetGetCount(query_set); return Impl.querySetGetCount(query_set);
} }
pub inline fn getType(query_set: QuerySet) QueryType { pub inline fn getType(query_set: QuerySet) QueryType {
return impl.querySetGetType(query_set); return Impl.querySetGetType(query_set);
} }
pub inline fn setLabel(query_set: QuerySet, label: [*:0]const u8) void { pub inline fn setLabel(query_set: QuerySet, label: [*:0]const u8) void {
impl.querySetSetLabel(query_set, label); Impl.querySetSetLabel(query_set, label);
} }
pub inline fn reference(query_set: QuerySet) void { pub inline fn reference(query_set: QuerySet) void {
impl.querySetReference(query_set); Impl.querySetReference(query_set);
} }
pub inline fn release(query_set: QuerySet) void { pub inline fn release(query_set: QuerySet) void {
impl.querySetRelease(query_set); Impl.querySetRelease(query_set);
} }
}; };

View file

@ -5,39 +5,39 @@ const ImageCopyTexture = @import("types.zig").ImageCopyTexture;
const ChainedStruct = @import("types.zig").ChainedStruct; const ChainedStruct = @import("types.zig").ChainedStruct;
const Extent3D = @import("types.zig").Extent3D; const Extent3D = @import("types.zig").Extent3D;
const CopyTextureForBrowserOptions = @import("types.zig").CopyTextureForBrowserOptions; const CopyTextureForBrowserOptions = @import("types.zig").CopyTextureForBrowserOptions;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const Queue = *opaque { pub const Queue = *opaque {
pub inline fn copyTextureForBrowser(queue: Queue, source: *const ImageCopyTexture, destination: *const ImageCopyTexture, copy_size: *const Extent3D, options: *const CopyTextureForBrowserOptions) void { pub inline fn copyTextureForBrowser(queue: Queue, source: *const ImageCopyTexture, destination: *const ImageCopyTexture, copy_size: *const Extent3D, options: *const CopyTextureForBrowserOptions) void {
impl.queueCopyTextureForBrowser(queue, source, destination, copy_size, options); Impl.queueCopyTextureForBrowser(queue, source, destination, copy_size, options);
} }
pub inline fn onSubmittedWorkDone(queue: Queue, signal_value: u64, callback: QueueWorkDoneCallback, userdata: *anyopaque) void { pub inline fn onSubmittedWorkDone(queue: Queue, signal_value: u64, callback: QueueWorkDoneCallback, userdata: *anyopaque) void {
impl.queueOnSubmittedWorkDone(queue, signal_value, callback, userdata); Impl.queueOnSubmittedWorkDone(queue, signal_value, callback, userdata);
} }
pub inline fn setLabel(queue: Queue, label: [*:0]const u8) void { pub inline fn setLabel(queue: Queue, label: [*:0]const u8) void {
impl.queueSetLabel(queue, label); Impl.queueSetLabel(queue, label);
} }
pub inline fn submit(queue: Queue, command_count: u32, commands: [*]CommandBuffer) void { pub inline fn submit(queue: Queue, command_count: u32, commands: [*]CommandBuffer) void {
impl.queueSubmit(queue, command_count, commands); Impl.queueSubmit(queue, command_count, commands);
} }
pub inline fn writeBuffer(queue: Queue, buffer: Buffer, buffer_offset: u64, data: *anyopaque, size: usize) void { pub inline fn writeBuffer(queue: Queue, buffer: Buffer, buffer_offset: u64, data: *anyopaque, size: usize) void {
impl.queueWriteBuffer(queue, buffer, buffer_offset, data, size); Impl.queueWriteBuffer(queue, buffer, buffer_offset, data, size);
} }
pub inline fn writeTexture(queue: Queue, data: *anyopaque, data_size: usize, data_layout: *const TextureDataLayout, write_size: *const Extent3D) void { pub inline fn writeTexture(queue: Queue, data: *anyopaque, data_size: usize, data_layout: *const TextureDataLayout, write_size: *const Extent3D) void {
impl.queueWriteTexture(queue, data, data_size, data_layout, write_size); Impl.queueWriteTexture(queue, data, data_size, data_layout, write_size);
} }
pub inline fn reference(queue: Queue) void { pub inline fn reference(queue: Queue) void {
impl.queueReference(queue); Impl.queueReference(queue);
} }
pub inline fn release(queue: Queue) void { pub inline fn release(queue: Queue) void {
impl.queueRelease(queue); Impl.queueRelease(queue);
} }
}; };

View file

@ -1,13 +1,13 @@
const ChainedStruct = @import("types.zig").ChainedStruct; const ChainedStruct = @import("types.zig").ChainedStruct;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const RenderBundle = *opaque { pub const RenderBundle = *opaque {
pub inline fn reference(render_bundle: RenderBundle) void { pub inline fn reference(render_bundle: RenderBundle) void {
impl.renderBundleReference(render_bundle); Impl.renderBundleReference(render_bundle);
} }
pub inline fn release(render_bundle: RenderBundle) void { pub inline fn release(render_bundle: RenderBundle) void {
impl.renderBundleRelease(render_bundle); Impl.renderBundleRelease(render_bundle);
} }
}; };

View file

@ -6,67 +6,67 @@ const BindGroup = @import("bind_group.zig").BindGroup;
const RenderPipeline = @import("render_pipeline.zig").RenderPipeline; const RenderPipeline = @import("render_pipeline.zig").RenderPipeline;
const ChainedStruct = @import("types.zig").ChainedStruct; const ChainedStruct = @import("types.zig").ChainedStruct;
const IndexFormat = @import("types.zig").IndexFormat; const IndexFormat = @import("types.zig").IndexFormat;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const RenderBundleEncoder = *opaque { pub const RenderBundleEncoder = *opaque {
pub inline fn draw(render_bundle_encoder: RenderBundleEncoder, vertex_count: u32, instance_count: u32, first_vertex: u32, first_instance: u32) void { pub inline fn draw(render_bundle_encoder: RenderBundleEncoder, vertex_count: u32, instance_count: u32, first_vertex: u32, first_instance: u32) void {
impl.renderBundleEncoderDraw(render_bundle_encoder, vertex_count, instance_count, first_vertex, first_instance); Impl.renderBundleEncoderDraw(render_bundle_encoder, vertex_count, instance_count, first_vertex, first_instance);
} }
pub inline fn drawIndexed(render_bundle_encoder: RenderBundleEncoder, index_count: u32, instance_count: u32, first_index: u32, base_vertex: u32, first_instance: u32) void { pub inline fn drawIndexed(render_bundle_encoder: RenderBundleEncoder, index_count: u32, instance_count: u32, first_index: u32, base_vertex: u32, first_instance: u32) void {
impl.renderBundleEncoderDrawIndexed(render_bundle_encoder, index_count, instance_count, first_index, base_vertex, first_instance); Impl.renderBundleEncoderDrawIndexed(render_bundle_encoder, index_count, instance_count, first_index, base_vertex, first_instance);
} }
pub inline fn drawIndexedIndirect(render_bundle_encoder: RenderBundleEncoder, indirect_buffer: Buffer, indirect_offset: u64) void { pub inline fn drawIndexedIndirect(render_bundle_encoder: RenderBundleEncoder, indirect_buffer: Buffer, indirect_offset: u64) void {
impl.renderBundleEncoderDrawIndexedIndirect(render_bundle_encoder, indirect_buffer, indirect_offset); Impl.renderBundleEncoderDrawIndexedIndirect(render_bundle_encoder, indirect_buffer, indirect_offset);
} }
pub inline fn drawIndirect(render_bundle_encoder: RenderBundleEncoder, indirect_buffer: Buffer, indirect_offset: u64) void { pub inline fn drawIndirect(render_bundle_encoder: RenderBundleEncoder, indirect_buffer: Buffer, indirect_offset: u64) void {
impl.renderBundleEncoderDrawIndirect(render_bundle_encoder, indirect_buffer, indirect_offset); Impl.renderBundleEncoderDrawIndirect(render_bundle_encoder, indirect_buffer, indirect_offset);
} }
pub inline fn finish(render_bundle_encoder: RenderBundleEncoder, descriptor: ?*const RenderBundleDescriptor) void { pub inline fn finish(render_bundle_encoder: RenderBundleEncoder, descriptor: ?*const RenderBundleDescriptor) void {
impl.renderBundleEncoderFinish(render_bundle_encoder, descriptor); Impl.renderBundleEncoderFinish(render_bundle_encoder, descriptor);
} }
pub inline fn insertDebugMarker(render_bundle_encoder: RenderBundleEncoder, marker_label: [*:0]const u8) void { pub inline fn insertDebugMarker(render_bundle_encoder: RenderBundleEncoder, marker_label: [*:0]const u8) void {
impl.renderBundleEncoderInsertDebugMarker(render_bundle_encoder, marker_label); Impl.renderBundleEncoderInsertDebugMarker(render_bundle_encoder, marker_label);
} }
pub inline fn popDebugGroup(render_bundle_encoder: RenderBundleEncoder) void { pub inline fn popDebugGroup(render_bundle_encoder: RenderBundleEncoder) void {
impl.renderBundleEncoderPopDebugGroup(render_bundle_encoder); Impl.renderBundleEncoderPopDebugGroup(render_bundle_encoder);
} }
pub inline fn pushDebugGroup(render_bundle_encoder: RenderBundleEncoder, group_label: [*:0]const u8) void { pub inline fn pushDebugGroup(render_bundle_encoder: RenderBundleEncoder, group_label: [*:0]const u8) void {
impl.renderBundleEncoderPushDebugGroup(render_bundle_encoder, group_label); Impl.renderBundleEncoderPushDebugGroup(render_bundle_encoder, group_label);
} }
pub inline fn setBindGroup(render_bundle_encoder: RenderBundleEncoder, group_index: u32, group: BindGroup, dynamic_offset_count: u32, dynamic_offsets: [*]const u32) void { pub inline fn setBindGroup(render_bundle_encoder: RenderBundleEncoder, group_index: u32, group: BindGroup, dynamic_offset_count: u32, dynamic_offsets: [*]const u32) void {
impl.renderBundleEncoderSetBindGroup(render_bundle_encoder, group_index, group, dynamic_offset_count, dynamic_offsets); Impl.renderBundleEncoderSetBindGroup(render_bundle_encoder, group_index, group, dynamic_offset_count, dynamic_offsets);
} }
pub inline fn setIndexBuffer(render_bundle_encoder: RenderBundleEncoder, buffer: Buffer, format: IndexFormat, offset: u64, size: u64) void { pub inline fn setIndexBuffer(render_bundle_encoder: RenderBundleEncoder, buffer: Buffer, format: IndexFormat, offset: u64, size: u64) void {
impl.renderBundleEncoderSetIndexBuffer(render_bundle_encoder, buffer, format, offset, size); Impl.renderBundleEncoderSetIndexBuffer(render_bundle_encoder, buffer, format, offset, size);
} }
pub inline fn setLabel(render_bundle_encoder: RenderBundleEncoder, label: [*:0]const u8) void { pub inline fn setLabel(render_bundle_encoder: RenderBundleEncoder, label: [*:0]const u8) void {
impl.renderBundleEncoderSetLabel(render_bundle_encoder, label); Impl.renderBundleEncoderSetLabel(render_bundle_encoder, label);
} }
pub inline fn setPipeline(render_bundle_encoder: RenderBundleEncoder, pipeline: RenderPipeline) void { pub inline fn setPipeline(render_bundle_encoder: RenderBundleEncoder, pipeline: RenderPipeline) void {
impl.renderBundleEncoderSetPipeline(render_bundle_encoder, pipeline); Impl.renderBundleEncoderSetPipeline(render_bundle_encoder, pipeline);
} }
pub inline fn setVertexBuffer(render_bundle_encoder: RenderBundleEncoder, slot: u32, buffer: Buffer, offset: u64, size: u64) void { pub inline fn setVertexBuffer(render_bundle_encoder: RenderBundleEncoder, slot: u32, buffer: Buffer, offset: u64, size: u64) void {
impl.renderBundleEncoderSetVertexBuffer(render_bundle_encoder, slot, buffer, offset, size); Impl.renderBundleEncoderSetVertexBuffer(render_bundle_encoder, slot, buffer, offset, size);
} }
pub inline fn reference(render_bundle_encoder: RenderBundleEncoder) void { pub inline fn reference(render_bundle_encoder: RenderBundleEncoder) void {
impl.renderBundleEncoderReference(render_bundle_encoder); Impl.renderBundleEncoderReference(render_bundle_encoder);
} }
pub inline fn release(render_bundle_encoder: RenderBundleEncoder) void { pub inline fn release(render_bundle_encoder: RenderBundleEncoder) void {
impl.renderBundleEncoderRelease(render_bundle_encoder); Impl.renderBundleEncoderRelease(render_bundle_encoder);
} }
}; };

View file

@ -5,102 +5,102 @@ const RenderPipeline = @import("render_pipeline.zig").RenderPipeline;
const QuerySet = @import("query_set.zig").QuerySet; const QuerySet = @import("query_set.zig").QuerySet;
const Color = @import("types.zig").Color; const Color = @import("types.zig").Color;
const IndexFormat = @import("types.zig").IndexFormat; const IndexFormat = @import("types.zig").IndexFormat;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const RenderPassEncoder = *opaque { pub const RenderPassEncoder = *opaque {
pub inline fn beginOcclusionQuery(render_pass_encoder: RenderPassEncoder, query_index: u32) void { pub inline fn beginOcclusionQuery(render_pass_encoder: RenderPassEncoder, query_index: u32) void {
impl.renderPassEncoderBeginOcclusionQuery(render_pass_encoder, query_index); Impl.renderPassEncoderBeginOcclusionQuery(render_pass_encoder, query_index);
} }
pub inline fn draw(render_pass_encoder: RenderPassEncoder, vertex_count: u32, instance_count: u32, first_vertex: u32, first_instance: u32) void { pub inline fn draw(render_pass_encoder: RenderPassEncoder, vertex_count: u32, instance_count: u32, first_vertex: u32, first_instance: u32) void {
impl.renderPassEncoderDraw(render_pass_encoder, vertex_count, instance_count, first_vertex, first_instance); Impl.renderPassEncoderDraw(render_pass_encoder, vertex_count, instance_count, first_vertex, first_instance);
} }
pub inline fn drawIndexed(render_pass_encoder: RenderPassEncoder, index_count: u32, instance_count: u32, first_index: u32, base_vertex: u32, first_instance: u32) void { pub inline fn drawIndexed(render_pass_encoder: RenderPassEncoder, index_count: u32, instance_count: u32, first_index: u32, base_vertex: u32, first_instance: u32) void {
impl.renderPassEncoderDrawIndexed(render_pass_encoder, index_count, instance_count, first_index, base_vertex, first_instance); Impl.renderPassEncoderDrawIndexed(render_pass_encoder, index_count, instance_count, first_index, base_vertex, first_instance);
} }
pub inline fn drawIndexedIndirect(render_pass_encoder: RenderPassEncoder, indirect_buffer: Buffer, indirect_offset: u64) void { pub inline fn drawIndexedIndirect(render_pass_encoder: RenderPassEncoder, indirect_buffer: Buffer, indirect_offset: u64) void {
impl.renderPassEncoderDrawIndexedIndirect(render_pass_encoder, indirect_buffer, indirect_offset); Impl.renderPassEncoderDrawIndexedIndirect(render_pass_encoder, indirect_buffer, indirect_offset);
} }
pub inline fn drawIndirect(render_pass_encoder: RenderPassEncoder, indirect_buffer: Buffer, indirect_offset: u64) void { pub inline fn drawIndirect(render_pass_encoder: RenderPassEncoder, indirect_buffer: Buffer, indirect_offset: u64) void {
impl.renderPassEncoderDrawIndirect(render_pass_encoder, indirect_buffer, indirect_offset); Impl.renderPassEncoderDrawIndirect(render_pass_encoder, indirect_buffer, indirect_offset);
} }
pub inline fn end(render_pass_encoder: RenderPassEncoder) void { pub inline fn end(render_pass_encoder: RenderPassEncoder) void {
impl.renderPassEncoderEnd(render_pass_encoder); Impl.renderPassEncoderEnd(render_pass_encoder);
} }
pub inline fn endOcclusionQuery(render_pass_encoder: RenderPassEncoder) void { pub inline fn endOcclusionQuery(render_pass_encoder: RenderPassEncoder) void {
impl.renderPassEncoderEndOcclusionQuery(render_pass_encoder); Impl.renderPassEncoderEndOcclusionQuery(render_pass_encoder);
} }
pub inline fn endPass(render_pass_encoder: RenderPassEncoder) void { pub inline fn endPass(render_pass_encoder: RenderPassEncoder) void {
impl.renderPassEncoderEndPass(render_pass_encoder); Impl.renderPassEncoderEndPass(render_pass_encoder);
} }
pub inline fn executeBundles(render_pass_encoder: RenderPassEncoder, bundles_count: u32, bundles: [*]const RenderBundle) void { pub inline fn executeBundles(render_pass_encoder: RenderPassEncoder, bundles_count: u32, bundles: [*]const RenderBundle) void {
impl.renderPassEncoderExecuteBundles(render_pass_encoder, bundles_count, bundles); Impl.renderPassEncoderExecuteBundles(render_pass_encoder, bundles_count, bundles);
} }
pub inline fn insertDebugMarker(render_pass_encoder: RenderPassEncoder, marker_label: [*:0]const u8) void { pub inline fn insertDebugMarker(render_pass_encoder: RenderPassEncoder, marker_label: [*:0]const u8) void {
impl.renderPassEncoderInsertDebugMarker(render_pass_encoder, marker_label); Impl.renderPassEncoderInsertDebugMarker(render_pass_encoder, marker_label);
} }
pub inline fn popDebugGroup(render_pass_encoder: RenderPassEncoder) void { pub inline fn popDebugGroup(render_pass_encoder: RenderPassEncoder) void {
impl.renderPassEncoderPopDebugGroup(render_pass_encoder); Impl.renderPassEncoderPopDebugGroup(render_pass_encoder);
} }
pub inline fn pushDebugGroup(render_pass_encoder: RenderPassEncoder, group_label: [*:0]const u8) void { pub inline fn pushDebugGroup(render_pass_encoder: RenderPassEncoder, group_label: [*:0]const u8) void {
impl.renderPassEncoderPushDebugGroup(render_pass_encoder, group_label); Impl.renderPassEncoderPushDebugGroup(render_pass_encoder, group_label);
} }
pub inline fn setBindGroup(render_pass_encoder: RenderPassEncoder, group_index: u32, group: BindGroup, dynamic_offset_count: u32, dynamic_offsets: [*]const u32) void { pub inline fn setBindGroup(render_pass_encoder: RenderPassEncoder, group_index: u32, group: BindGroup, dynamic_offset_count: u32, dynamic_offsets: [*]const u32) void {
impl.renderPassEncoderSetBindGroup(render_pass_encoder, group_index, group, dynamic_offset_count, dynamic_offsets); Impl.renderPassEncoderSetBindGroup(render_pass_encoder, group_index, group, dynamic_offset_count, dynamic_offsets);
} }
pub inline fn setBlendConstant(render_pass_encoder: RenderPassEncoder, color: *const Color) void { pub inline fn setBlendConstant(render_pass_encoder: RenderPassEncoder, color: *const Color) void {
impl.renderPassEncoderSetBlendConstant(render_pass_encoder, color); Impl.renderPassEncoderSetBlendConstant(render_pass_encoder, color);
} }
pub inline fn setIndexBuffer(render_pass_encoder: RenderPassEncoder, buffer: Buffer, format: IndexFormat, offset: u64, size: u64) void { pub inline fn setIndexBuffer(render_pass_encoder: RenderPassEncoder, buffer: Buffer, format: IndexFormat, offset: u64, size: u64) void {
impl.renderPassEncoderSetIndexBuffer(render_pass_encoder, buffer, format, offset, size); Impl.renderPassEncoderSetIndexBuffer(render_pass_encoder, buffer, format, offset, size);
} }
pub inline fn setLabel(render_pass_encoder: RenderPassEncoder, label: [*:0]const u8) void { pub inline fn setLabel(render_pass_encoder: RenderPassEncoder, label: [*:0]const u8) void {
impl.renderPassEncoderSetLabel(render_pass_encoder, label); Impl.renderPassEncoderSetLabel(render_pass_encoder, label);
} }
pub inline fn setPipeline(render_pass_encoder: RenderPassEncoder, pipeline: RenderPipeline) void { pub inline fn setPipeline(render_pass_encoder: RenderPassEncoder, pipeline: RenderPipeline) void {
impl.renderPassEncoderSetPipeline(render_pass_encoder, pipeline); Impl.renderPassEncoderSetPipeline(render_pass_encoder, pipeline);
} }
pub inline fn setScissorRect(render_pass_encoder: RenderPassEncoder, x: u32, y: u32, width: u32, height: u32) void { pub inline fn setScissorRect(render_pass_encoder: RenderPassEncoder, x: u32, y: u32, width: u32, height: u32) void {
impl.renderPassEncoderSetScissorRect(render_pass_encoder, x, y, width, height); Impl.renderPassEncoderSetScissorRect(render_pass_encoder, x, y, width, height);
} }
pub inline fn setStencilReference(render_pass_encoder: RenderPassEncoder, _reference: u32) void { pub inline fn setStencilReference(render_pass_encoder: RenderPassEncoder, _reference: u32) void {
impl.renderPassEncoderSetStencilReference(render_pass_encoder, _reference); Impl.renderPassEncoderSetStencilReference(render_pass_encoder, _reference);
} }
pub inline fn setVertexBuffer(render_pass_encoder: RenderPassEncoder, slot: u32, buffer: Buffer, offset: u64, size: u64) void { pub inline fn setVertexBuffer(render_pass_encoder: RenderPassEncoder, slot: u32, buffer: Buffer, offset: u64, size: u64) void {
impl.renderPassEncoderSetVertexBuffer(render_pass_encoder, slot, buffer, offset, size); Impl.renderPassEncoderSetVertexBuffer(render_pass_encoder, slot, buffer, offset, size);
} }
pub inline fn setViewport(render_pass_encoder: RenderPassEncoder, x: f32, y: f32, width: f32, height: f32, min_depth: f32, max_depth: f32) void { pub inline fn setViewport(render_pass_encoder: RenderPassEncoder, x: f32, y: f32, width: f32, height: f32, min_depth: f32, max_depth: f32) void {
impl.renderPassEncoderSetViewport(render_pass_encoder, x, y, width, height, min_depth, max_depth); Impl.renderPassEncoderSetViewport(render_pass_encoder, x, y, width, height, min_depth, max_depth);
} }
pub inline fn writeTimestamp(render_pass_encoder: RenderPassEncoder, query_set: QuerySet, query_index: u32) void { pub inline fn writeTimestamp(render_pass_encoder: RenderPassEncoder, query_set: QuerySet, query_index: u32) void {
impl.renderPassEncoderWriteTimestamp(render_pass_encoder, query_set, query_index); Impl.renderPassEncoderWriteTimestamp(render_pass_encoder, query_set, query_index);
} }
pub inline fn reference(render_pass_encoder: RenderPassEncoder) void { pub inline fn reference(render_pass_encoder: RenderPassEncoder) void {
impl.renderPassEncoderReference(render_pass_encoder); Impl.renderPassEncoderReference(render_pass_encoder);
} }
pub inline fn release(render_pass_encoder: RenderPassEncoder) void { pub inline fn release(render_pass_encoder: RenderPassEncoder) void {
impl.renderPassEncoderRelease(render_pass_encoder); Impl.renderPassEncoderRelease(render_pass_encoder);
} }
}; };

View file

@ -6,23 +6,23 @@ const PrimitiveState = @import("types.zig").PrimitiveState;
const FragmentState = @import("types.zig").FragmentState; const FragmentState = @import("types.zig").FragmentState;
const PipelineLayout = @import("pipeline_layout.zig").PipelineLayout; const PipelineLayout = @import("pipeline_layout.zig").PipelineLayout;
const BindGroupLayout = @import("bind_group_layout.zig").BindGroupLayout; const BindGroupLayout = @import("bind_group_layout.zig").BindGroupLayout;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const RenderPipeline = *opaque { pub const RenderPipeline = *opaque {
pub inline fn getBindGroupLayout(render_pipeline: RenderPipeline, group_index: u32) BindGroupLayout { pub inline fn getBindGroupLayout(render_pipeline: RenderPipeline, group_index: u32) BindGroupLayout {
return impl.renderPipelineGetBindGroupLayout(render_pipeline, group_index); return Impl.renderPipelineGetBindGroupLayout(render_pipeline, group_index);
} }
pub inline fn setLabel(render_pipeline: RenderPipeline, label: [*:0]const u8) void { pub inline fn setLabel(render_pipeline: RenderPipeline, label: [*:0]const u8) void {
impl.renderPipelineSetLabel(render_pipeline, label); Impl.renderPipelineSetLabel(render_pipeline, label);
} }
pub inline fn reference(render_pipeline: RenderPipeline) void { pub inline fn reference(render_pipeline: RenderPipeline) void {
impl.renderPipelineReference(render_pipeline); Impl.renderPipelineReference(render_pipeline);
} }
pub inline fn release(render_pipeline: RenderPipeline) void { pub inline fn release(render_pipeline: RenderPipeline) void {
impl.renderPipelineRelease(render_pipeline); Impl.renderPipelineRelease(render_pipeline);
} }
}; };

View file

@ -1,19 +1,19 @@
const ChainedStruct = @import("types.zig").ChainedStruct; const ChainedStruct = @import("types.zig").ChainedStruct;
const FilterMode = @import("types.zig").FilterMode; const FilterMode = @import("types.zig").FilterMode;
const CompareFunction = @import("types.zig").CompareFunction; const CompareFunction = @import("types.zig").CompareFunction;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const Sampler = *opaque { pub const Sampler = *opaque {
pub inline fn setLabel(sampler: Sampler, label: [*:0]const u8) void { pub inline fn setLabel(sampler: Sampler, label: [*:0]const u8) void {
impl.samplerSetLabel(sampler, label); Impl.samplerSetLabel(sampler, label);
} }
pub inline fn reference(sampler: Sampler) void { pub inline fn reference(sampler: Sampler) void {
impl.samplerReference(sampler); Impl.samplerReference(sampler);
} }
pub inline fn release(sampler: Sampler) void { pub inline fn release(sampler: Sampler) void {
impl.samplerRelease(sampler); Impl.samplerRelease(sampler);
} }
}; };

View file

@ -1,22 +1,22 @@
const ChainedStruct = @import("types.zig").ChainedStruct; const ChainedStruct = @import("types.zig").ChainedStruct;
const CompilationInfoCallback = @import("types.zig").CompilationInfoCallback; const CompilationInfoCallback = @import("types.zig").CompilationInfoCallback;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const ShaderModule = *opaque { pub const ShaderModule = *opaque {
pub inline fn getCompilationInfo(shader_module: ShaderModule, callback: CompilationInfoCallback, userdata: *anyopaque) void { pub inline fn getCompilationInfo(shader_module: ShaderModule, callback: CompilationInfoCallback, userdata: *anyopaque) void {
impl.shaderModuleGetCompilationInfo(shader_module, callback, userdata); Impl.shaderModuleGetCompilationInfo(shader_module, callback, userdata);
} }
pub inline fn setLabel(shader_module: ShaderModule, label: [*:0]const u8) void { pub inline fn setLabel(shader_module: ShaderModule, label: [*:0]const u8) void {
impl.shaderModuleSetLabel(shader_module, label); Impl.shaderModuleSetLabel(shader_module, label);
} }
pub inline fn reference(shader_module: ShaderModule) void { pub inline fn reference(shader_module: ShaderModule) void {
impl.shaderModuleReference(shader_module); Impl.shaderModuleReference(shader_module);
} }
pub inline fn release(shader_module: ShaderModule) void { pub inline fn release(shader_module: ShaderModule) void {
impl.shaderModuleRelease(shader_module); Impl.shaderModuleRelease(shader_module);
} }
}; };

View file

@ -1,13 +1,13 @@
const ChainedStruct = @import("types.zig").ChainedStruct; const ChainedStruct = @import("types.zig").ChainedStruct;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const Surface = *opaque { pub const Surface = *opaque {
pub inline fn reference(surface: Surface) void { pub inline fn reference(surface: Surface) void {
impl.surfaceReference(surface); Impl.surfaceReference(surface);
} }
pub inline fn release(surface: Surface) void { pub inline fn release(surface: Surface) void {
impl.surfaceRelease(surface); Impl.surfaceRelease(surface);
} }
}; };

View file

@ -4,27 +4,27 @@ const Texture = @import("texture.zig").Texture;
const TextureUsageFlags = @import("texture.zig").TextureUsageFlags; const TextureUsageFlags = @import("texture.zig").TextureUsageFlags;
const TextureFormat = @import("texture.zig").TextureFormat; const TextureFormat = @import("texture.zig").TextureFormat;
const TextureView = @import("texture_view.zig").TextureView; const TextureView = @import("texture_view.zig").TextureView;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const SwapChain = *opaque { pub const SwapChain = *opaque {
pub inline fn configure(swap_chain: SwapChain, format: TextureFormat, allowed_usage: TextureUsageFlags, width: u32, height: u32) void { pub inline fn configure(swap_chain: SwapChain, format: TextureFormat, allowed_usage: TextureUsageFlags, width: u32, height: u32) void {
impl.swapChainConfigure(swap_chain, format, allowed_usage, width, height); Impl.swapChainConfigure(swap_chain, format, allowed_usage, width, height);
} }
pub inline fn getCurrentTextureView(swap_chain: SwapChain) TextureView { pub inline fn getCurrentTextureView(swap_chain: SwapChain) TextureView {
return impl.swapChainGetCurrentTextureView(swap_chain); return Impl.swapChainGetCurrentTextureView(swap_chain);
} }
pub inline fn present(swap_chain: SwapChain) void { pub inline fn present(swap_chain: SwapChain) void {
impl.swapChainPresent(swap_chain); Impl.swapChainPresent(swap_chain);
} }
pub inline fn reference(swap_chain: SwapChain) void { pub inline fn reference(swap_chain: SwapChain) void {
impl.swapChainReference(swap_chain); Impl.swapChainReference(swap_chain);
} }
pub inline fn release(swap_chain: SwapChain) void { pub inline fn release(swap_chain: SwapChain) void {
impl.swapChainRelease(swap_chain); Impl.swapChainRelease(swap_chain);
} }
}; };

View file

@ -4,59 +4,59 @@ const TextureView = @import("texture_view.zig").TextureView;
const TextureViewDimension = @import("texture_view.zig").TextureViewDimension; const TextureViewDimension = @import("texture_view.zig").TextureViewDimension;
const TextureViewDescriptor = @import("texture_view.zig").TextureViewDescriptor; const TextureViewDescriptor = @import("texture_view.zig").TextureViewDescriptor;
const Extent3D = @import("types.zig").Extent3D; const Extent3D = @import("types.zig").Extent3D;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const Texture = *opaque { pub const Texture = *opaque {
pub inline fn createView(texture: Texture, descriptor: ?*const TextureViewDescriptor) TextureView { pub inline fn createView(texture: Texture, descriptor: ?*const TextureViewDescriptor) TextureView {
return impl.textureCreateView(texture, descriptor); return Impl.textureCreateView(texture, descriptor);
} }
pub inline fn destroy(texture: Texture) void { pub inline fn destroy(texture: Texture) void {
impl.textureDestroy(texture); Impl.textureDestroy(texture);
} }
pub inline fn getDepthOrArrayLayers(texture: Texture) u32 { pub inline fn getDepthOrArrayLayers(texture: Texture) u32 {
return impl.textureGetDepthOrArrayLayers(texture); return Impl.textureGetDepthOrArrayLayers(texture);
} }
pub inline fn getDimension(texture: Texture) TextureDimension { pub inline fn getDimension(texture: Texture) TextureDimension {
return impl.textureGetDimension(texture); return Impl.textureGetDimension(texture);
} }
pub inline fn getFormat(texture: Texture) TextureFormat { pub inline fn getFormat(texture: Texture) TextureFormat {
return impl.textureGetFormat(texture); return Impl.textureGetFormat(texture);
} }
pub inline fn getHeight(texture: Texture) u32 { pub inline fn getHeight(texture: Texture) u32 {
return impl.textureGetHeight(texture); return Impl.textureGetHeight(texture);
} }
pub inline fn getMipLevelCount(texture: Texture) u32 { pub inline fn getMipLevelCount(texture: Texture) u32 {
return impl.textureGetMipLevelCount(texture); return Impl.textureGetMipLevelCount(texture);
} }
pub inline fn getSampleCount(texture: Texture) u32 { pub inline fn getSampleCount(texture: Texture) u32 {
return impl.textureGetSampleCount(texture); return Impl.textureGetSampleCount(texture);
} }
pub inline fn getUsage(texture: Texture) TextureUsageFlags { pub inline fn getUsage(texture: Texture) TextureUsageFlags {
return impl.textureGetUsage(texture); return Impl.textureGetUsage(texture);
} }
pub inline fn getWidth(texture: Texture) u32 { pub inline fn getWidth(texture: Texture) u32 {
return impl.textureGetWidth(texture); return Impl.textureGetWidth(texture);
} }
pub inline fn setLabel(texture: Texture, label: [*:0]const u8) void { pub inline fn setLabel(texture: Texture, label: [*:0]const u8) void {
impl.textureSetLabel(texture, label); Impl.textureSetLabel(texture, label);
} }
pub inline fn reference(texture: Texture) void { pub inline fn reference(texture: Texture) void {
impl.textureReference(texture); Impl.textureReference(texture);
} }
pub inline fn release(texture: Texture) void { pub inline fn release(texture: Texture) void {
impl.textureRelease(texture); Impl.textureRelease(texture);
} }
}; };

View file

@ -2,19 +2,19 @@ const ChainedStruct = @import("types.zig").ChainedStruct;
const Texture = @import("texture.zig").Texture; const Texture = @import("texture.zig").Texture;
const TextureFormat = @import("texture.zig").TextureFormat; const TextureFormat = @import("texture.zig").TextureFormat;
const TextureAspect = @import("texture.zig").TextureAspect; const TextureAspect = @import("texture.zig").TextureAspect;
const impl = @import("interface.zig").impl; const Impl = @import("interface.zig").Impl;
pub const TextureView = *opaque { pub const TextureView = *opaque {
pub inline fn setLabel(texture_view: TextureView, label: [*:0]const u8) void { pub inline fn setLabel(texture_view: TextureView, label: [*:0]const u8) void {
impl.textureViewSetLabel(texture_view, label); Impl.textureViewSetLabel(texture_view, label);
} }
pub inline fn reference(texture_view: TextureView) void { pub inline fn reference(texture_view: TextureView) void {
impl.textureViewReference(texture_view); Impl.textureViewReference(texture_view);
} }
pub inline fn release(texture_view: TextureView) void { pub inline fn release(texture_view: TextureView) void {
impl.textureViewRelease(texture_view); Impl.textureViewRelease(texture_view);
} }
}; };