gpu: make enum namers methods

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-07-11 06:38:39 -07:00 committed by Stephen Gutekanst
parent 963f06261f
commit 089eb3bdda
2 changed files with 36 additions and 20 deletions

View file

@ -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());
}

View file

@ -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));
}