gpu: add type-safety for chaining RenderPassDescriptorMaxDrawCount

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-08-16 20:17:59 -07:00
parent 9a36a74e49
commit 34ea41e319

View file

@ -76,7 +76,12 @@ pub const ComputePassDescriptor = extern struct {
};
pub const RenderPassDescriptor = extern struct {
next_in_chain: ?*const ChainedStruct = null,
pub const NextInChain = extern union {
generic: ?*const ChainedStruct,
max_draw_count: *const RenderPassDescriptorMaxDrawCount,
};
next_in_chain: NextInChain = .{ .generic = null },
label: ?[*:0]const u8 = null,
color_attachment_count: u32 = 0,
color_attachments: ?[*]const RenderPassColorAttachment = null,
@ -589,7 +594,6 @@ pub const PrimitiveState = extern struct {
cull_mode: CullMode = .none,
};
/// TODO: Can be chained in gpu.RenderPassDescriptor
pub const RenderPassDescriptorMaxDrawCount = extern struct {
chain: ChainedStruct = .{ .next = null, .s_type = .render_pass_descriptor_max_draw_count },
max_draw_count: u64 = 50000000,