From: Joshua Simmons Date: Sun, 26 Feb 2023 18:15:46 +0000 (+0100) Subject: Add support for `R8_UNORM` and `R8_SRGB` formats X-Git-Url: https://git.nega.tv//gitweb.cgi?a=commitdiff_plain;h=7ac64131e821333967c3d89b4665e71ee459d5cf;p=josh%2Fnarcissus Add support for `R8_UNORM` and `R8_SRGB` formats --- 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,