gpu: implement ComputePipeline methods

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-07-26 20:06:31 -07:00 committed by Stephen Gutekanst
parent 2498e08cb9
commit a91585614a

View file

@ -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 {