From 7ac64131e821333967c3d89b4665e71ee459d5cf Mon Sep 17 00:00:00 2001 From: Joshua Simmons Date: Sun, 26 Feb 2023 19:15:46 +0100 Subject: [PATCH] Add support for `R8_UNORM` and `R8_SRGB` formats --- libs/narcissus-gpu/src/backend/vulkan/mod.rs | 6 +++++- libs/narcissus-gpu/src/lib.rs | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libs/narcissus-gpu/src/backend/vulkan/mod.rs b/libs/narcissus-gpu/src/backend/vulkan/mod.rs index 48eeabf..1c55190 100644 --- a/libs/narcissus-gpu/src/backend/vulkan/mod.rs +++ b/libs/narcissus-gpu/src/backend/vulkan/mod.rs @@ -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, diff --git a/libs/narcissus-gpu/src/lib.rs b/libs/narcissus-gpu/src/lib.rs index 03d24f6..1e64970 100644 --- a/libs/narcissus-gpu/src/lib.rs +++ b/libs/narcissus-gpu/src/lib.rs @@ -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, -- 2.49.0