From ceec97978eefa38ff659b5c31b2d255098b83c64 Mon Sep 17 00:00:00 2001 From: Stephen White Date: Mon, 9 Apr 2018 15:43:40 -0400 Subject: [PATCH] Implement recent vertex and texture formats on Vk. Implement unorm_rgba8 and unorm_rg8 vertex formats and {uint8, unorm8} x {r, rg} texture formats on Vulkan backend. --- src/backend/vulkan/InputStateVk.cpp | 4 ++++ src/backend/vulkan/TextureVk.cpp | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/src/backend/vulkan/InputStateVk.cpp b/src/backend/vulkan/InputStateVk.cpp index ec399ffcbb..86fc2b820d 100644 --- a/src/backend/vulkan/InputStateVk.cpp +++ b/src/backend/vulkan/InputStateVk.cpp @@ -41,6 +41,10 @@ namespace backend { namespace vulkan { return VK_FORMAT_R32G32_SFLOAT; case nxt::VertexFormat::FloatR32: return VK_FORMAT_R32_SFLOAT; + case nxt::VertexFormat::UnormR8G8B8A8: + return VK_FORMAT_R8G8B8A8_UNORM; + case nxt::VertexFormat::UnormR8G8: + return VK_FORMAT_R8G8_UNORM; default: UNREACHABLE(); } diff --git a/src/backend/vulkan/TextureVk.cpp b/src/backend/vulkan/TextureVk.cpp index 2db03512a1..bd24d14da9 100644 --- a/src/backend/vulkan/TextureVk.cpp +++ b/src/backend/vulkan/TextureVk.cpp @@ -188,8 +188,16 @@ namespace backend { namespace vulkan { switch (format) { case nxt::TextureFormat::R8G8B8A8Unorm: return VK_FORMAT_R8G8B8A8_UNORM; + case nxt::TextureFormat::R8G8Unorm: + return VK_FORMAT_R8G8_UNORM; + case nxt::TextureFormat::R8Unorm: + return VK_FORMAT_R8_UNORM; case nxt::TextureFormat::R8G8B8A8Uint: return VK_FORMAT_R8G8B8A8_UINT; + case nxt::TextureFormat::R8G8Uint: + return VK_FORMAT_R8G8_UINT; + case nxt::TextureFormat::R8Uint: + return VK_FORMAT_R8_UINT; case nxt::TextureFormat::B8G8R8A8Unorm: return VK_FORMAT_B8G8R8A8_UNORM; case nxt::TextureFormat::D32FloatS8Uint: