diff --git a/gpu/src/compute_pipeline.zig b/gpu/src/compute_pipeline.zig index 150eb0b3..bd2e3b93 100644 --- a/gpu/src/compute_pipeline.zig +++ b/gpu/src/compute_pipeline.zig @@ -7,6 +7,6 @@ pub const ComputePipeline = *opaque {}; pub const ComputePipelineDescriptor = extern struct { next_in_chain: *const ChainedStruct, label: ?[*:0]const u8 = null, - layout: PipelineLayout = PipelineLayout.none, // nullable + layout: ?PipelineLayout, compute: ProgrammableStageDescriptor, }; diff --git a/gpu/src/pipeline_layout.zig b/gpu/src/pipeline_layout.zig index 269f75ba..e029b02f 100644 --- a/gpu/src/pipeline_layout.zig +++ b/gpu/src/pipeline_layout.zig @@ -1,16 +1,11 @@ const ChainedStruct = @import("types.zig").ChainedStruct; const BindGroupLayout = @import("bind_group_layout.zig").BindGroupLayout; -pub const PipelineLayout = enum(usize) { - _, +pub const PipelineLayout = *opaque {}; - // TODO: verify there is a use case for nullable value of this type. - pub const none: PipelineLayout = @intToEnum(PipelineLayout, 0); - - pub const Descriptor = extern struct { - next_in_chain: *const ChainedStruct, - label: ?[*:0]const u8 = null, - bind_group_layout_count: u32, - bind_group_layouts: [*]const BindGroupLayout, - }; +pub const PipelineLayoutDescriptor = extern struct { + next_in_chain: *const ChainedStruct, + label: ?[*:0]const u8 = null, + bind_group_layout_count: u32, + bind_group_layouts: [*]const BindGroupLayout, }; diff --git a/gpu/src/render_pipeline.zig b/gpu/src/render_pipeline.zig index 24b09ec7..90c28142 100644 --- a/gpu/src/render_pipeline.zig +++ b/gpu/src/render_pipeline.zig @@ -15,7 +15,7 @@ pub const RenderPipeline = enum(usize) { pub const Descriptor = extern struct { next_in_chain: *const ChainedStruct, label: ?[*:0]const u8 = null, - layout: PipelineLayout = PipelineLayout.none, // nullable + layout: ?PipelineLayout, vertex: VertexState, primitive: PrimitiveState, depth_stencil: ?*const DepthStencilState = null, // nullable