From 089eb3bdda9c2aa3445bd32dcbb6e37b83a0c60c Mon Sep 17 00:00:00 2001 From: Stephen Gutekanst Date: Mon, 11 Jul 2022 06:38:39 -0700 Subject: [PATCH] gpu: make enum namers methods Signed-off-by: Stephen Gutekanst --- gpu/src/Adapter.zig | 20 +++++++++++++------- gpu/src/types.zig | 36 +++++++++++++++++++++++------------- 2 files changed, 36 insertions(+), 20 deletions(-) diff --git a/gpu/src/Adapter.zig b/gpu/src/Adapter.zig index b1bd4478..a146828e 100644 --- a/gpu/src/Adapter.zig +++ b/gpu/src/Adapter.zig @@ -1,3 +1,5 @@ +const testing = @import("std").testing; + ptr: *anyopaque, pub const Type = enum(u32) { @@ -5,13 +7,17 @@ pub const Type = enum(u32) { integrated_gpu, cpu, unknown, + + pub fn name(t: Type) []const u8 { + return switch (t) { + .discrete_gpu => "Discrete GPU", + .integrated_gpu => "Integrated GPU", + .cpu => "CPU", + .unknown => "Unknown", + }; + } }; -pub fn typeName(t: Type) []const u8 { - return switch (t) { - .discrete_gpu => "Discrete GPU", - .integrated_gpu => "Integrated GPU", - .cpu => "CPU", - .unknown => "Unknown", - }; +test "Adapter.Type name" { + try testing.expectEqualStrings("Discrete GPU", Type.discrete_gpu.name()); } diff --git a/gpu/src/types.zig b/gpu/src/types.zig index c0a6a8e9..7610682a 100644 --- a/gpu/src/types.zig +++ b/gpu/src/types.zig @@ -1,3 +1,5 @@ +const testing = @import("std").testing; + pub const AlphaMode = enum(u32) { premultiplied = 0x00000000, unpremultiplied = 0x00000001, @@ -12,20 +14,20 @@ pub const BackendType = enum(u32) { vulkan, opengl, opengles, -}; -pub fn backendTypeName(t: BackendType) []const u8 { - return switch (t) { - .nul => "Null", - .webgpu => "WebGPU", - .d3d11 => "D3D11", - .d3d12 => "D3D12", - .metal => "Metal", - .vulkan => "Vulkan", - .opengl => "OpenGL", - .opengles => "OpenGLES", - }; -} + pub fn name(t: BackendType) []const u8 { + return switch (t) { + .nul => "Null", + .webgpu => "WebGPU", + .d3d11 => "D3D11", + .d3d12 => "D3D12", + .metal => "Metal", + .vulkan => "Vulkan", + .opengl => "OpenGL", + .opengles => "OpenGLES", + }; + } +}; pub const BlendFactor = enum(u32) { zero = 0x00000000, @@ -94,3 +96,11 @@ pub const CullMode = enum(u32) { front = 0x00000001, back = 0x00000002, }; + +test "BackendType name" { + try testing.expectEqualStrings("Vulkan", BackendType.vulkan.name()); +} + +test "enum name" { + try testing.expectEqualStrings("front", @tagName(CullMode.front)); +}