]> git.nega.tv - josh/narcissus/commitdiff
Add support for `R8_UNORM` and `R8_SRGB` formats
authorJoshua Simmons <josh@nega.tv>
Sun, 26 Feb 2023 18:15:46 +0000 (19:15 +0100)
committerJoshua Simmons <josh@nega.tv>
Sun, 26 Feb 2023 18:15:46 +0000 (19:15 +0100)
libs/narcissus-gpu/src/backend/vulkan/mod.rs
libs/narcissus-gpu/src/lib.rs

index 48eeabfb5865935aabcb2d5f826243695c7a0932..1c551904638d29e710e3a03a1c054333165dd18d 100644 (file)
@@ -121,6 +121,8 @@ fn vulkan_bool32(b: bool) -> vk::Bool32 {
 #[must_use]
 fn vulkan_format(format: ImageFormat) -> vk::Format {
     match format {
+        ImageFormat::R8_SRGB => vk::Format::R8_SRGB,
+        ImageFormat::R8_UNORM => vk::Format::R8_UNORM,
         ImageFormat::RGBA8_SRGB => vk::Format::R8G8B8A8_SRGB,
         ImageFormat::RGBA8_UNORM => vk::Format::R8G8B8A8_UNORM,
         ImageFormat::BGRA8_SRGB => vk::Format::B8G8R8A8_SRGB,
@@ -131,7 +133,9 @@ fn vulkan_format(format: ImageFormat) -> vk::Format {
 
 fn vulkan_aspect_for_format(format: ImageFormat) -> vk::ImageAspectFlags {
     match format {
-        ImageFormat::BGRA8_SRGB
+        ImageFormat::R8_SRGB
+        | ImageFormat::R8_UNORM
+        | ImageFormat::BGRA8_SRGB
         | ImageFormat::BGRA8_UNORM
         | ImageFormat::RGBA8_SRGB
         | ImageFormat::RGBA8_UNORM => vk::ImageAspectFlags::COLOR,
index 03d24f6dfb6fed9bfd5112e4274c8d620812db91..1e64970c55b604dec3fc2a7fefa7a23bf32d2093 100644 (file)
@@ -110,6 +110,8 @@ pub enum ImageDimension {
 #[derive(Clone, Copy, PartialEq, Eq)]
 #[allow(non_camel_case_types)]
 pub enum ImageFormat {
+    R8_SRGB,
+    R8_UNORM,
     BGRA8_SRGB,
     BGRA8_UNORM,
     RGBA8_SRGB,