adding software blitter base

This commit is contained in:
2025-12-20 00:00:42 +01:00
parent 084412ac1c
commit 8a641adb8e
9 changed files with 95 additions and 28 deletions
+20
View File
@@ -125,3 +125,23 @@ pub fn formatSupportsColorAttachemendBlend(format: vk.Format) bool {
else => false,
};
}
pub fn formatFromAspect(base_format: vk.Format, aspect: vk.ImageAspectFlags) vk.Format {
if (aspect.color_bit or (aspect.color_bit and aspect.stencil_bit)) {
return base_format;
} else if (aspect.depth_bit) {
if (base_format == .d16_unorm or base_format == .d16_unorm_s8_uint) {
return .d16_unorm;
} else if (base_format == .d24_unorm_s8_uint) {
return .x8_d24_unorm_pack32;
} else if (base_format == .d32_sfloat or base_format == .d32_sfloat_s8_uint) {
return .d32_sfloat;
}
} else if (aspect.stencil_bit) {
if (base_format == .s8_uint or base_format == .d16_unorm_s8_uint or base_format == .d24_unorm_s8_uint or base_format == .d32_sfloat_s8_uint) {
return .s8_uint;
}
}
lib.unsupported("format {d}", .{@intFromEnum(base_format)});
return base_format;
}