From a91585614aef05046b8d318294e8b2e90170e9b1 Mon Sep 17 00:00:00 2001 From: Stephen Gutekanst Date: Tue, 26 Jul 2022 20:06:31 -0700 Subject: [PATCH] gpu: implement ComputePipeline methods Signed-off-by: Stephen Gutekanst --- gpu/src/compute_pipeline.zig | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/gpu/src/compute_pipeline.zig b/gpu/src/compute_pipeline.zig index 1bb8ae6d..e684bfd2 100644 --- a/gpu/src/compute_pipeline.zig +++ b/gpu/src/compute_pipeline.zig @@ -1,19 +1,25 @@ const ChainedStruct = @import("types.zig").ChainedStruct; const ProgrammableStageDescriptor = @import("types.zig").ProgrammableStageDescriptor; const PipelineLayout = @import("pipeline_layout.zig").PipelineLayout; +const BindGroupLayout = @import("bind_group_layout.zig").BindGroupLayout; +const impl = @import("interface.zig").impl; pub const ComputePipeline = *opaque { - // TODO - // pub inline fn computePipelineGetBindGroupLayout(compute_pipeline: gpu.ComputePipeline, group_index: u32) gpu.BindGroupLayout { + pub inline fn getBindGroupLayout(compute_pipeline: ComputePipeline, group_index: u32) BindGroupLayout { + return impl.computePipelineGetBindGroupLayout(compute_pipeline, group_index); + } - // TODO - // pub inline fn computePipelineSetLabel(compute_pipeline: gpu.ComputePipeline, label: [*:0]const u8) void { + pub inline fn setLabel(compute_pipeline: ComputePipeline, label: [*:0]const u8) void { + impl.computePipelineSetLabel(compute_pipeline, label); + } - // TODO - // pub inline fn computePipelineReference(compute_pipeline: gpu.ComputePipeline) void { + pub inline fn reference(compute_pipeline: ComputePipeline) void { + impl.computePipelineReference(compute_pipeline); + } - // TODO - // pub inline fn computePipelineRelease(compute_pipeline: gpu.ComputePipeline) void { + pub inline fn release(compute_pipeline: ComputePipeline) void { + impl.computePipelineRelease(compute_pipeline); + } }; pub const ComputePipelineDescriptor = extern struct {