diff --git a/gpu/TODO-webgpu.h b/gpu/TODO-webgpu.h index 645020f0..c4e566e0 100644 --- a/gpu/TODO-webgpu.h +++ b/gpu/TODO-webgpu.h @@ -1,10 +1,3 @@ -pub const ColorTargetState = extern struct { - next_in_chain: *const ChainedStruct, - format: TextureFormat, - blend: ?*const BlendState = null, - write_mask: ColorWriteMaskFlags, -}; - pub const WGPUComputePipelineDescriptor = extern struct { next_in_chain: *const ChainedStruct, label: ?[*:0]const u8 = null, diff --git a/gpu/src/types.zig b/gpu/src/types.zig index 7e4029ec..833df148 100644 --- a/gpu/src/types.zig +++ b/gpu/src/types.zig @@ -300,7 +300,7 @@ pub const VertexStepMode = enum(u32) { vertex_buffer_not_used = 0x00000002, }; -pub const ColorWriteMask = packed struct { +pub const ColorWriteMaskFlags = packed struct { red: bool = false, green: bool = false, blue: bool = false, @@ -315,14 +315,14 @@ pub const ColorWriteMask = packed struct { ); } - pub const all = ColorWriteMask{ + pub const all = ColorWriteMaskFlags{ .red = true, .green = true, .blue = true, .alpha = true, }; - pub fn equal(a: ColorWriteMask, b: ColorWriteMask) bool { + pub fn equal(a: ColorWriteMaskFlags, b: ColorWriteMaskFlags) bool { return @truncate(u4, @bitCast(u32, a)) == @truncate(u4, @bitCast(u32, b)); } }; @@ -584,6 +584,13 @@ pub const VertexBufferLayout = extern struct { attributes: [*]const VertexAttribute, }; +pub const ColorTargetState = extern struct { + next_in_chain: *const ChainedStruct, + format: Texture.Format, + blend: ?*const BlendState = null, + write_mask: ColorWriteMaskFlags, +}; + test "BackendType name" { try testing.expectEqualStrings("Vulkan", BackendType.vulkan.name()); }