gpu: add type-safety for chaining dawn.EncoderInternalUsageDescriptor

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-08-16 20:54:03 -07:00
parent 801d772752
commit e9e506720b
2 changed files with 7 additions and 2 deletions

View file

@ -11,10 +11,16 @@ 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;
const dawn = @import("dawn.zig");
pub const CommandEncoder = opaque { pub const CommandEncoder = opaque {
pub const Descriptor = extern struct { pub const Descriptor = extern struct {
next_in_chain: ?*const ChainedStruct = null, pub const NextInChain = extern union {
generic: ?*const ChainedStruct,
dawn_encoder_internal_usage_descriptor: *const dawn.EncoderInternalUsageDescriptor,
};
next_in_chain: NextInChain = .{ .generic = null },
label: ?[*:0]const u8 = null, label: ?[*:0]const u8 = null,
}; };

View file

@ -7,7 +7,6 @@ pub const CacheDeviceDescriptor = extern struct {
isolation_key: [*:0]const u8 = "", isolation_key: [*:0]const u8 = "",
}; };
/// TODO: Can be chained in gpu.CommandEncoder.Descriptor
pub const EncoderInternalUsageDescriptor = extern struct { pub const EncoderInternalUsageDescriptor = extern struct {
chain: ChainedStruct = .{ .next = null, .s_type = .dawn_encoder_internal_usage_descriptor }, chain: ChainedStruct = .{ .next = null, .s_type = .dawn_encoder_internal_usage_descriptor },
use_internal_usages: bool = false, use_internal_usages: bool = false,