From: Josh Simmons Date: Sun, 12 May 2024 10:47:41 +0000 (+0200) Subject: narcissus-gpu: Add 10-bit packed color formats X-Git-Url: https://git.nega.tv//gitweb.cgi?a=commitdiff_plain;h=d87196f4847e56a34ae3f5d96dfe0fec465de24e;p=josh%2Fnarcissus narcissus-gpu: Add 10-bit packed color formats --- diff --git a/engine/narcissus-gpu/src/backend/vulkan/convert.rs b/engine/narcissus-gpu/src/backend/vulkan/convert.rs index 3fa1850..7726a05 100644 --- a/engine/narcissus-gpu/src/backend/vulkan/convert.rs +++ b/engine/narcissus-gpu/src/backend/vulkan/convert.rs @@ -27,6 +27,8 @@ pub fn vulkan_format(format: ImageFormat) -> vk::Format { ImageFormat::RGBA8_UNORM => vk::Format::R8G8B8A8_UNORM, ImageFormat::BGRA8_SRGB => vk::Format::B8G8R8A8_SRGB, ImageFormat::BGRA8_UNORM => vk::Format::B8G8R8A8_UNORM, + ImageFormat::A2R10G10B10_UNORM_PACK32 => vk::Format::A2R10G10B10_UNORM_PACK32, + ImageFormat::A2B10G10R10_UNORM_PACK32 => vk::Format::A2B10G10R10_UNORM_PACK32, ImageFormat::DEPTH_F32 => vk::Format::D32_SFLOAT, } } @@ -38,7 +40,9 @@ pub fn vulkan_aspect_for_format(format: ImageFormat) -> vk::ImageAspectFlags { | ImageFormat::BGRA8_SRGB | ImageFormat::BGRA8_UNORM | ImageFormat::RGBA8_SRGB - | ImageFormat::RGBA8_UNORM => vk::ImageAspectFlags::COLOR, + | ImageFormat::RGBA8_UNORM + | ImageFormat::A2R10G10B10_UNORM_PACK32 + | ImageFormat::A2B10G10R10_UNORM_PACK32 => vk::ImageAspectFlags::COLOR, ImageFormat::DEPTH_F32 => vk::ImageAspectFlags::DEPTH, } } diff --git a/engine/narcissus-gpu/src/lib.rs b/engine/narcissus-gpu/src/lib.rs index c5a7165..13fa86b 100644 --- a/engine/narcissus-gpu/src/lib.rs +++ b/engine/narcissus-gpu/src/lib.rs @@ -129,6 +129,8 @@ pub enum ImageFormat { BGRA8_UNORM, RGBA8_SRGB, RGBA8_UNORM, + A2R10G10B10_UNORM_PACK32, + A2B10G10R10_UNORM_PACK32, DEPTH_F32, }