1 def is_depth_format (format : VkFormat) = case format of 2 VkFormat/D16_UNORM 3 | VkFormat/D16_UNORM_S8_UINT 4 | VkFormat/D24_UNORM_S8_UINT 5 | VkFormat/D32_SFLOAT 6 | VkFormat/D32_SFLOAT_S8_UINT 7 | VkFormat/X8_D24_UNORM_PACK32 -> true 8 9 else -> false 10 11 def has_stencil (format : VkFormat) = case format of 12 VkFormat/S8_UINT 13 | VkFormat/D16_UNORM_S8_UINT 14 | VkFormat/D24_UNORM_S8_UINT 15 | VkFormat/D32_SFLOAT_S8_UINT -> true 16 17 else -> false 18 19 type ImageFormat 20 def to_vk_format = case self of 21 Grayscale -> VkFormat/R8_UNORM 22 Rgba -> VkFormat/R8G8B8A8_UNORM 23 Rgb -> VkFormat/R8G8B8_UNORM 24