mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-01-22 00:20:40 +01:00
gpu2: tweak formats
This commit is contained in:
parent
8d1e4f59d1
commit
59946fe927
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
static int gShmFd = -1;
|
||||
static constexpr std::size_t kShmSize = sizeof(amdgpu::bridge::BridgeHeader) +
|
||||
(sizeof(std::uint64_t) * 256);
|
||||
(sizeof(std::uint64_t) * 1024);
|
||||
amdgpu::bridge::BridgeHeader *
|
||||
amdgpu::bridge::createShmCommandBuffer(const char *name) {
|
||||
if (gShmFd != -1) {
|
||||
|
|
|
|||
|
|
@ -272,19 +272,19 @@ bool Device::flip(std::int64_t pid, int bufferIndex, std::uint64_t arg,
|
|||
|
||||
case 0x80002200:
|
||||
dfmt = gnm::kDataFormat8_8_8_8;
|
||||
nfmt = gnm::kNumericFormatUNorm;
|
||||
nfmt = gnm::kNumericFormatSrgb;
|
||||
flipType = FlipType::Std;
|
||||
break;
|
||||
|
||||
case 0x88740000:
|
||||
case 0x88060000:
|
||||
dfmt = gnm::kDataFormat2_10_10_10;
|
||||
nfmt = gnm::kNumericFormatUNorm;
|
||||
nfmt = gnm::kNumericFormatSNorm;
|
||||
break;
|
||||
|
||||
case 0xc1060000:
|
||||
dfmt = gnm::kDataFormat16_16_16_16;
|
||||
nfmt = gnm::kNumericFormatSrgb;
|
||||
nfmt = gnm::kNumericFormatFloat;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ struct CbColorInfo {
|
|||
std::uint32_t endian : 2;
|
||||
gnm::DataFormat dfmt : 5;
|
||||
std::uint32_t linearGeneral : 1;
|
||||
gnm::NumericFormat nfmt : 3;
|
||||
gnm::CbNumericFormat nfmt : 3;
|
||||
CbCompSwap compSwap : 2;
|
||||
std::uint32_t fastClear : 1;
|
||||
std::uint32_t compression : 1;
|
||||
|
|
|
|||
|
|
@ -283,7 +283,7 @@ void amdgpu::draw(GraphicsPipe &pipe, int vmId, std::uint32_t firstVertex,
|
|||
renderTargetInfo.extent.height = vkViewPortScissor.extent.height;
|
||||
renderTargetInfo.extent.depth = 1;
|
||||
renderTargetInfo.dfmt = cbColor.info.dfmt;
|
||||
renderTargetInfo.nfmt = cbColor.info.nfmt;
|
||||
renderTargetInfo.nfmt = gnm::toNumericFormat(cbColor.info.nfmt, cbColor.info.dfmt);
|
||||
renderTargetInfo.mipCount = 1;
|
||||
renderTargetInfo.arrayLayerCount = 1;
|
||||
|
||||
|
|
|
|||
|
|
@ -71,6 +71,15 @@ enum NumericFormat : unsigned {
|
|||
kNumericFormatUBScaled = 0x0000000D,
|
||||
};
|
||||
|
||||
enum CbNumericFormat : unsigned {
|
||||
kCbNumericFormatUNorm = 0,
|
||||
kCbNumericFormatSNorm = 1,
|
||||
kCbNumericFormatUInt = 4,
|
||||
kCbNumericFormatSint = 5,
|
||||
kCbNumericFormatSrgb = 6,
|
||||
kCbNumericFormatFloat = 7,
|
||||
};
|
||||
|
||||
enum ZFormat {
|
||||
kZFormatInvalid = 0,
|
||||
kZFormat16 = 1,
|
||||
|
|
@ -286,4 +295,14 @@ enum class AnisoRatio : std::uint8_t {
|
|||
x16,
|
||||
};
|
||||
|
||||
constexpr NumericFormat toNumericFormat(CbNumericFormat cbFmt,
|
||||
DataFormat dfmt) {
|
||||
if (cbFmt == kCbNumericFormatSrgb || dfmt == kDataFormat8_8_8_8 ||
|
||||
dfmt == kDataFormat10_10_10_2) {
|
||||
return kNumericFormatSrgb;
|
||||
}
|
||||
|
||||
return static_cast<NumericFormat>(cbFmt);
|
||||
}
|
||||
|
||||
} // namespace gnm
|
||||
|
|
|
|||
|
|
@ -1,319 +1,648 @@
|
|||
#include "vulkan.hpp"
|
||||
#include "rx/die.hpp"
|
||||
#include <unordered_map>
|
||||
|
||||
using namespace gnm;
|
||||
|
||||
enum class FormatPair : std::uint16_t {};
|
||||
|
||||
static constexpr auto makeFormatPair(DataFormat dfmt, NumericFormat nfmt) {
|
||||
return static_cast<FormatPair>(static_cast<std::uint16_t>(dfmt) |
|
||||
(static_cast<std::uint16_t>(nfmt) << 8));
|
||||
}
|
||||
// clang-format off
|
||||
static std::unordered_map<FormatPair, VkFormat> g_toVkFormats = {
|
||||
{ makeFormatPair(kDataFormat8, kNumericFormatUNorm), VK_FORMAT_R8_UNORM},
|
||||
{ makeFormatPair(kDataFormat8, kNumericFormatSNorm), VK_FORMAT_R8_SNORM},
|
||||
{ makeFormatPair(kDataFormat8, kNumericFormatUScaled), VK_FORMAT_R8_USCALED},
|
||||
{ makeFormatPair(kDataFormat8, kNumericFormatSScaled), VK_FORMAT_R8_SSCALED},
|
||||
{ makeFormatPair(kDataFormat8, kNumericFormatUInt), VK_FORMAT_R8_UINT},
|
||||
{ makeFormatPair(kDataFormat8, kNumericFormatSInt), VK_FORMAT_R8_SINT},
|
||||
// { makeFormatPair(kDataFormat8, kNumericFormatSNormNoZero), VK_FORMAT_R8_SNORM},
|
||||
// { makeFormatPair(kDataFormat8, kNumericFormatFloat), VK_FORMAT_R8_SFLOAT},
|
||||
{ makeFormatPair(kDataFormat8, kNumericFormatSrgb), VK_FORMAT_R8_SRGB},
|
||||
// { makeFormatPair(kDataFormat8, kNumericFormatUBNorm), VK_FORMAT_R8_UNORM},
|
||||
// { makeFormatPair(kDataFormat8, kNumericFormatUBNormNoZero), VK_FORMAT_R8_UNORM},
|
||||
// { makeFormatPair(kDataFormat8, kNumericFormatUBInt), VK_FORMAT_R8_UINT},
|
||||
// { makeFormatPair(kDataFormat8, kNumericFormatUBScaled), VK_FORMAT_R8_USCALED},
|
||||
{ makeFormatPair(kDataFormat16, kNumericFormatUNorm), VK_FORMAT_R16_UNORM},
|
||||
{ makeFormatPair(kDataFormat16, kNumericFormatSNorm), VK_FORMAT_R16_SNORM},
|
||||
{ makeFormatPair(kDataFormat16, kNumericFormatUScaled), VK_FORMAT_R16_USCALED},
|
||||
{ makeFormatPair(kDataFormat16, kNumericFormatSScaled), VK_FORMAT_R16_SSCALED},
|
||||
{ makeFormatPair(kDataFormat16, kNumericFormatUInt), VK_FORMAT_R16_UINT},
|
||||
{ makeFormatPair(kDataFormat16, kNumericFormatSInt), VK_FORMAT_R16_SINT},
|
||||
// { makeFormatPair(kDataFormat16, kNumericFormatSNormNoZero), VK_FORMAT_R16_SNORM},
|
||||
{ makeFormatPair(kDataFormat16, kNumericFormatFloat), VK_FORMAT_R16_SFLOAT},
|
||||
// { makeFormatPair(kDataFormat16, kNumericFormatSrgb), VK_FORMAT_R16_SRGB},
|
||||
// { makeFormatPair(kDataFormat16, kNumericFormatUBNorm), VK_FORMAT_R16_UNORM},
|
||||
// { makeFormatPair(kDataFormat16, kNumericFormatUBNormNoZero), VK_FORMAT_R16_UNORM},
|
||||
// { makeFormatPair(kDataFormat16, kNumericFormatUBInt), VK_FORMAT_R16_UINT},
|
||||
// { makeFormatPair(kDataFormat16, kNumericFormatUBScaled), VK_FORMAT_R16_USCALED},
|
||||
{ makeFormatPair(kDataFormat8_8, kNumericFormatUNorm), VK_FORMAT_R8G8_UNORM},
|
||||
{ makeFormatPair(kDataFormat8_8, kNumericFormatSNorm), VK_FORMAT_R8G8_SNORM},
|
||||
{ makeFormatPair(kDataFormat8_8, kNumericFormatUScaled), VK_FORMAT_R8G8_USCALED},
|
||||
{ makeFormatPair(kDataFormat8_8, kNumericFormatSScaled), VK_FORMAT_R8G8_SSCALED},
|
||||
{ makeFormatPair(kDataFormat8_8, kNumericFormatUInt), VK_FORMAT_R8G8_UINT},
|
||||
{ makeFormatPair(kDataFormat8_8, kNumericFormatSInt), VK_FORMAT_R8G8_SINT},
|
||||
// { makeFormatPair(kDataFormat8_8, kNumericFormatSNormNoZero), VK_FORMAT_R8G8_SNORM},
|
||||
// { makeFormatPair(kDataFormat8_8, kNumericFormatFloat), VK_FORMAT_R8G8_SFLOAT},
|
||||
{ makeFormatPair(kDataFormat8_8, kNumericFormatSrgb), VK_FORMAT_R8G8_SRGB},
|
||||
// { makeFormatPair(kDataFormat8_8, kNumericFormatUBNorm), VK_FORMAT_R8G8_UNORM},
|
||||
// { makeFormatPair(kDataFormat8_8, kNumericFormatUBNormNoZero), VK_FORMAT_R8G8_UNORM },
|
||||
// { makeFormatPair(kDataFormat8_8, kNumericFormatUBInt), VK_FORMAT_R8G8_UINT},
|
||||
// { makeFormatPair(kDataFormat8_8, kNumericFormatUBScaled), VK_FORMAT_R8G8_USCALED},
|
||||
// { makeFormatPair(kDataFormat32, kNumericFormatUNorm), VK_FORMAT_R32_UNORM },
|
||||
// { makeFormatPair(kDataFormat32, kNumericFormatSNorm), VK_FORMAT_R32_SNORM },
|
||||
// { makeFormatPair(kDataFormat32, kNumericFormatUScaled), VK_FORMAT_R32_USCALED },
|
||||
// { makeFormatPair(kDataFormat32, kNumericFormatSScaled), VK_FORMAT_R32_SSCALED },
|
||||
{ makeFormatPair(kDataFormat32, kNumericFormatUInt), VK_FORMAT_R32_UINT },
|
||||
{ makeFormatPair(kDataFormat32, kNumericFormatSInt), VK_FORMAT_R32_SINT },
|
||||
// { makeFormatPair(kDataFormat32, kNumericFormatSNormNoZero), VK_FORMAT_R32_SNORM },
|
||||
{ makeFormatPair(kDataFormat32, kNumericFormatFloat), VK_FORMAT_R32_SFLOAT },
|
||||
// { makeFormatPair(kDataFormat32, kNumericFormatSrgb), VK_FORMAT_R32_SRGB },
|
||||
// { makeFormatPair(kDataFormat32, kNumericFormatUBNorm), VK_FORMAT_R32_UNORM },
|
||||
// { makeFormatPair(kDataFormat32, kNumericFormatUBNormNoZero), VK_FORMAT_R32_UNORM },
|
||||
{ makeFormatPair(kDataFormat32, kNumericFormatUBInt), VK_FORMAT_R32_UINT },
|
||||
// { makeFormatPair(kDataFormat32, kNumericFormatUBScaled), VK_FORMAT_R32_USCALED },
|
||||
{ makeFormatPair(kDataFormat16_16, kNumericFormatUNorm), VK_FORMAT_R16G16_UNORM },
|
||||
{ makeFormatPair(kDataFormat16_16, kNumericFormatSNorm), VK_FORMAT_R16G16_SNORM },
|
||||
{ makeFormatPair(kDataFormat16_16, kNumericFormatUScaled), VK_FORMAT_R16G16_USCALED },
|
||||
{ makeFormatPair(kDataFormat16_16, kNumericFormatSScaled), VK_FORMAT_R16G16_SSCALED },
|
||||
{ makeFormatPair(kDataFormat16_16, kNumericFormatUInt), VK_FORMAT_R16G16_UINT },
|
||||
{ makeFormatPair(kDataFormat16_16, kNumericFormatSInt), VK_FORMAT_R16G16_SINT },
|
||||
// { makeFormatPair(kDataFormat16_16, kNumericFormatSNormNoZero), VK_FORMAT_R16G16_SNORM },
|
||||
{ makeFormatPair(kDataFormat16_16, kNumericFormatFloat), VK_FORMAT_R16G16_SFLOAT },
|
||||
// { makeFormatPair(kDataFormat16_16, kNumericFormatSrgb), VK_FORMAT_R16G16_SRGB },
|
||||
// { makeFormatPair(kDataFormat16_16, kNumericFormatUBNorm), VK_FORMAT_R16G16_UNORM },
|
||||
// { makeFormatPair(kDataFormat16_16, kNumericFormatUBNormNoZero), VK_FORMAT_R16G16_UNORM },
|
||||
// { makeFormatPair(kDataFormat16_16, kNumericFormatUBInt), VK_FORMAT_R16G16_UINT },
|
||||
// { makeFormatPair(kDataFormat16_16, kNumericFormatUBScaled), VK_FORMAT_R16G16_USCALED },
|
||||
// { makeFormatPair(kDataFormat10_11_11, kNumericFormatUNorm), VK_FORMAT_B10G11R11_UNORM_PACK32},
|
||||
// { makeFormatPair(kDataFormat10_11_11, kNumericFormatSNorm), VK_FORMAT_B10G11R11_SNORM_PACK32},
|
||||
// { makeFormatPair(kDataFormat10_11_11, kNumericFormatUScaled), VK_FORMAT_B10G11R11_USCALED_PACK32},
|
||||
// { makeFormatPair(kDataFormat10_11_11, kNumericFormatSScaled), VK_FORMAT_B10G11R11_SSCALED_PACK32},
|
||||
// { makeFormatPair(kDataFormat10_11_11, kNumericFormatUInt), VK_FORMAT_B10G11R11_UINT_PACK32},
|
||||
// { makeFormatPair(kDataFormat10_11_11, kNumericFormatSInt), VK_FORMAT_B10G11R11_SINT_PACK32},
|
||||
// { makeFormatPair(kDataFormat10_11_11, kNumericFormatSNormNoZero), VK_FORMAT_B10G11R11_SNORM_PACK32},
|
||||
{ makeFormatPair(kDataFormat10_11_11, kNumericFormatFloat), VK_FORMAT_B10G11R11_UFLOAT_PACK32},
|
||||
// { makeFormatPair(kDataFormat10_11_11, kNumericFormatSrgb), VK_FORMAT_B10G11R11_SRGB_PACK32},
|
||||
// { makeFormatPair(kDataFormat10_11_11, kNumericFormatUBNorm), VK_FORMAT_B10G11R11_UNORM_PACK32},
|
||||
// { makeFormatPair(kDataFormat10_11_11, kNumericFormatUBNormNoZero), VK_FORMAT_B10G11R11_UNORM_PACK32 },
|
||||
// { makeFormatPair(kDataFormat10_11_11, kNumericFormatUBInt), VK_FORMAT_B10G11R11_UINT_PACK32},
|
||||
// { makeFormatPair(kDataFormat10_11_11, kNumericFormatUBScaled), VK_FORMAT_B10G11R11_USCALED_PACK32},
|
||||
// { makeFormatPair(kDataFormat11_11_10, kNumericFormatUNorm), VK_FORMAT_B10G11R11_UNORM_PACK32 },
|
||||
// { makeFormatPair(kDataFormat11_11_10, kNumericFormatSNorm), VK_FORMAT_B10G11R11_SNORM_PACK32 },
|
||||
// { makeFormatPair(kDataFormat11_11_10, kNumericFormatUScaled), VK_FORMAT_B10G11R11_USCALED_PACK32 },
|
||||
// { makeFormatPair(kDataFormat11_11_10, kNumericFormatSScaled), VK_FORMAT_B10G11R11_SSCALED_PACK32 },
|
||||
// { makeFormatPair(kDataFormat11_11_10, kNumericFormatUInt), VK_FORMAT_B10G11R11_UINT_PACK32 },
|
||||
// { makeFormatPair(kDataFormat11_11_10, kNumericFormatSInt), VK_FORMAT_B10G11R11_SINT_PACK32 },
|
||||
// { makeFormatPair(kDataFormat11_11_10, kNumericFormatSNormNoZero), VK_FORMAT_B10G11R11_SNORM_PACK32 },
|
||||
{ makeFormatPair(kDataFormat11_11_10, kNumericFormatFloat), VK_FORMAT_B10G11R11_UFLOAT_PACK32 },
|
||||
// { makeFormatPair(kDataFormat11_11_10, kNumericFormatSrgb), VK_FORMAT_B10G11R11_SRGB_PACK32 },
|
||||
// { makeFormatPair(kDataFormat11_11_10, kNumericFormatUBNorm), VK_FORMAT_B10G11R11_UNORM_PACK32 },
|
||||
// { makeFormatPair(kDataFormat11_11_10, kNumericFormatUBNormNoZero), VK_FORMAT_B10G11R11_UNORM_PACK32 },
|
||||
// { makeFormatPair(kDataFormat11_11_10, kNumericFormatUBInt), VK_FORMAT_B10G11R11_UINT_PACK32 },
|
||||
// { makeFormatPair(kDataFormat11_11_10, kNumericFormatUBScaled), VK_FORMAT_B10G11R11_USCALED_PACK32 },
|
||||
{ makeFormatPair(kDataFormat10_10_10_2, kNumericFormatUNorm), VK_FORMAT_A2R10G10B10_UNORM_PACK32},
|
||||
{ makeFormatPair(kDataFormat10_10_10_2, kNumericFormatSNorm), VK_FORMAT_A2R10G10B10_SNORM_PACK32},
|
||||
{ makeFormatPair(kDataFormat10_10_10_2, kNumericFormatUScaled), VK_FORMAT_A2R10G10B10_USCALED_PACK32},
|
||||
{ makeFormatPair(kDataFormat10_10_10_2, kNumericFormatSScaled), VK_FORMAT_A2R10G10B10_SSCALED_PACK32},
|
||||
{ makeFormatPair(kDataFormat10_10_10_2, kNumericFormatUInt), VK_FORMAT_A2R10G10B10_UINT_PACK32},
|
||||
{ makeFormatPair(kDataFormat10_10_10_2, kNumericFormatSInt), VK_FORMAT_A2R10G10B10_SINT_PACK32},
|
||||
// { makeFormatPair(kDataFormat10_10_10_2, kNumericFormatSNormNoZero), VK_FORMAT_A2R10G10B10_SNORM_PACK32},
|
||||
// { makeFormatPair(kDataFormat10_10_10_2, kNumericFormatFloat), VK_FORMAT_A2R10G10B10_UFLOAT_PACK32},
|
||||
// { makeFormatPair(kDataFormat10_10_10_2, kNumericFormatSrgb), VK_FORMAT_A2R10G10B10_SRGB_PACK32},
|
||||
// { makeFormatPair(kDataFormat10_10_10_2, kNumericFormatUBNorm), VK_FORMAT_A2R10G10B10_UNORM_PACK32},
|
||||
// { makeFormatPair(kDataFormat10_10_10_2, kNumericFormatUBNormNoZero), VK_FORMAT_A2R10G10B10_UNORM_PACK32},
|
||||
// { makeFormatPair(kDataFormat10_10_10_2, kNumericFormatUBInt), VK_FORMAT_A2R10G10B10_UINT_PACK32},
|
||||
// { makeFormatPair(kDataFormat10_10_10_2, kNumericFormatUBScaled), VK_FORMAT_A2R10G10B10_USCALED_PACK32},
|
||||
{ makeFormatPair(kDataFormat2_10_10_10, kNumericFormatUNorm), VK_FORMAT_A2R10G10B10_UNORM_PACK32},
|
||||
{ makeFormatPair(kDataFormat2_10_10_10, kNumericFormatSNorm), VK_FORMAT_A2R10G10B10_SNORM_PACK32},
|
||||
{ makeFormatPair(kDataFormat2_10_10_10, kNumericFormatUScaled), VK_FORMAT_A2R10G10B10_USCALED_PACK32},
|
||||
{ makeFormatPair(kDataFormat2_10_10_10, kNumericFormatSScaled), VK_FORMAT_A2R10G10B10_SSCALED_PACK32},
|
||||
{ makeFormatPair(kDataFormat2_10_10_10, kNumericFormatUInt), VK_FORMAT_A2R10G10B10_UINT_PACK32},
|
||||
{ makeFormatPair(kDataFormat2_10_10_10, kNumericFormatSInt), VK_FORMAT_A2R10G10B10_SINT_PACK32},
|
||||
// { makeFormatPair(kDataFormat2_10_10_10, kNumericFormatSNormNoZero), VK_FORMAT_A2R10G10B10_SNORM_PACK32},
|
||||
// { makeFormatPair(kDataFormat2_10_10_10, kNumericFormatFloat), VK_FORMAT_A2R10G10B10_UFLOAT_PACK32},
|
||||
// { makeFormatPair(kDataFormat2_10_10_10, kNumericFormatSrgb), VK_FORMAT_A2R10G10B10_SRGB_PACK32},
|
||||
// { makeFormatPair(kDataFormat2_10_10_10, kNumericFormatUBNorm), VK_FORMAT_A2R10G10B10_UNORM_PACK32},
|
||||
// { makeFormatPair(kDataFormat2_10_10_10, kNumericFormatUBNormNoZero), VK_FORMAT_A2R10G10B10_UNORM_PACK32},
|
||||
// { makeFormatPair(kDataFormat2_10_10_10, kNumericFormatUBInt), VK_FORMAT_A2R10G10B10_UINT_PACK32},
|
||||
// { makeFormatPair(kDataFormat2_10_10_10, kNumericFormatUBScaled), VK_FORMAT_A2R10G10B10_USCALED_PACK32},
|
||||
{ makeFormatPair(kDataFormat8_8_8_8, kNumericFormatUNorm), VK_FORMAT_R8G8B8A8_UNORM },
|
||||
{ makeFormatPair(kDataFormat8_8_8_8, kNumericFormatSNorm), VK_FORMAT_R8G8B8A8_SNORM },
|
||||
{ makeFormatPair(kDataFormat8_8_8_8, kNumericFormatUScaled), VK_FORMAT_R8G8B8A8_USCALED },
|
||||
{ makeFormatPair(kDataFormat8_8_8_8, kNumericFormatSScaled), VK_FORMAT_R8G8B8A8_SSCALED },
|
||||
{ makeFormatPair(kDataFormat8_8_8_8, kNumericFormatUInt), VK_FORMAT_R8G8B8A8_UINT },
|
||||
{ makeFormatPair(kDataFormat8_8_8_8, kNumericFormatSInt), VK_FORMAT_R8G8B8A8_SINT },
|
||||
// { makeFormatPair(kDataFormat8_8_8_8, kNumericFormatSNormNoZero), VK_FORMAT_R8G8B8A8_SNORM },
|
||||
// { makeFormatPair(kDataFormat8_8_8_8, kNumericFormatFloat), VK_FORMAT_R8G8B8A8_SFLOAT },
|
||||
{ makeFormatPair(kDataFormat8_8_8_8, kNumericFormatSrgb), VK_FORMAT_R8G8B8A8_SRGB },
|
||||
// { makeFormatPair(kDataFormat8_8_8_8, kNumericFormatUBNorm), VK_FORMAT_R8G8B8A8_UNORM },
|
||||
// { makeFormatPair(kDataFormat8_8_8_8, kNumericFormatUBNormNoZero), VK_FORMAT_R8G8B8A8_UNORM },
|
||||
// { makeFormatPair(kDataFormat8_8_8_8, kNumericFormatUBInt), VK_FORMAT_R8G8B8A8_UINT },
|
||||
// { makeFormatPair(kDataFormat8_8_8_8, kNumericFormatUBScaled), VK_FORMAT_R8G8B8A8_USCALED },
|
||||
// { makeFormatPair(kDataFormat32_32, kNumericFormatUNorm), VK_FORMAT_R32G32_UNORM },
|
||||
// { makeFormatPair(kDataFormat32_32, kNumericFormatSNorm), VK_FORMAT_R32G32_SNORM },
|
||||
// { makeFormatPair(kDataFormat32_32, kNumericFormatUScaled), VK_FORMAT_R32G32_USCALED },
|
||||
// { makeFormatPair(kDataFormat32_32, kNumericFormatSScaled), VK_FORMAT_R32G32_SSCALED },
|
||||
{ makeFormatPair(kDataFormat32_32, kNumericFormatUInt), VK_FORMAT_R32G32_UINT },
|
||||
{ makeFormatPair(kDataFormat32_32, kNumericFormatSInt), VK_FORMAT_R32G32_SINT },
|
||||
// { makeFormatPair(kDataFormat32_32, kNumericFormatSNormNoZero), VK_FORMAT_R32G32_SNORM },
|
||||
{ makeFormatPair(kDataFormat32_32, kNumericFormatFloat), VK_FORMAT_R32G32_SFLOAT },
|
||||
// { makeFormatPair(kDataFormat32_32, kNumericFormatSrgb), VK_FORMAT_R32G32_SRGB },
|
||||
// { makeFormatPair(kDataFormat32_32, kNumericFormatUBNorm), VK_FORMAT_R32G32_UNORM },
|
||||
// { makeFormatPair(kDataFormat32_32, kNumericFormatUBNormNoZero), VK_FORMAT_R32G32_UNORM },
|
||||
// { makeFormatPair(kDataFormat32_32, kNumericFormatUBInt), VK_FORMAT_R32G32_UINT },
|
||||
// { makeFormatPair(kDataFormat32_32, kNumericFormatUBScaled), VK_FORMAT_R32G32_USCALED },
|
||||
{ makeFormatPair(kDataFormat16_16_16_16, kNumericFormatUNorm), VK_FORMAT_R16G16B16A16_UNORM },
|
||||
{ makeFormatPair(kDataFormat16_16_16_16, kNumericFormatSNorm), VK_FORMAT_R16G16B16A16_SNORM },
|
||||
{ makeFormatPair(kDataFormat16_16_16_16, kNumericFormatUScaled), VK_FORMAT_R16G16B16A16_USCALED },
|
||||
{ makeFormatPair(kDataFormat16_16_16_16, kNumericFormatSScaled), VK_FORMAT_R16G16B16A16_SSCALED },
|
||||
{ makeFormatPair(kDataFormat16_16_16_16, kNumericFormatUInt), VK_FORMAT_R16G16B16A16_UINT },
|
||||
{ makeFormatPair(kDataFormat16_16_16_16, kNumericFormatSInt), VK_FORMAT_R16G16B16A16_SINT },
|
||||
// { makeFormatPair(kDataFormat16_16_16_16, kNumericFormatSNormNoZero), VK_FORMAT_R16G16B16A16_SNORM },
|
||||
{ makeFormatPair(kDataFormat16_16_16_16, kNumericFormatFloat), VK_FORMAT_R16G16B16A16_SFLOAT },
|
||||
// { makeFormatPair(kDataFormat16_16_16_16, kNumericFormatSrgb), VK_FORMAT_R16G16B16A16_SRGB },
|
||||
// { makeFormatPair(kDataFormat16_16_16_16, kNumericFormatUBNorm), VK_FORMAT_R16G16B16A16_UNORM },
|
||||
// { makeFormatPair(kDataFormat16_16_16_16, kNumericFormatUBNormNoZero), VK_FORMAT_R16G16B16A16_UNORM },
|
||||
// { makeFormatPair(kDataFormat16_16_16_16, kNumericFormatUBInt), VK_FORMAT_R16G16B16A16_UINT },
|
||||
// { makeFormatPair(kDataFormat16_16_16_16, kNumericFormatUBScaled), VK_FORMAT_R16G16B16A16_USCALED },
|
||||
// { makeFormatPair(kDataFormat32_32_32, kNumericFormatUNorm), VK_FORMAT_R32G32B32_UNORM },
|
||||
// { makeFormatPair(kDataFormat32_32_32, kNumericFormatSNorm), VK_FORMAT_R32G32B32_SNORM },
|
||||
// { makeFormatPair(kDataFormat32_32_32, kNumericFormatUScaled), VK_FORMAT_R32G32B32_USCALED },
|
||||
// { makeFormatPair(kDataFormat32_32_32, kNumericFormatSScaled), VK_FORMAT_R32G32B32_SSCALED },
|
||||
{ makeFormatPair(kDataFormat32_32_32, kNumericFormatUInt), VK_FORMAT_R32G32B32_UINT },
|
||||
{ makeFormatPair(kDataFormat32_32_32, kNumericFormatSInt), VK_FORMAT_R32G32B32_SINT },
|
||||
// { makeFormatPair(kDataFormat32_32_32, kNumericFormatSNormNoZero), VK_FORMAT_R32G32B32_SNORM },
|
||||
{ makeFormatPair(kDataFormat32_32_32, kNumericFormatFloat), VK_FORMAT_R32G32B32_SFLOAT },
|
||||
// { makeFormatPair(kDataFormat32_32_32, kNumericFormatSrgb), VK_FORMAT_R32G32B32_SRGB },
|
||||
// { makeFormatPair(kDataFormat32_32_32, kNumericFormatUBNorm), VK_FORMAT_R32G32B32_UNORM },
|
||||
// { makeFormatPair(kDataFormat32_32_32, kNumericFormatUBNormNoZero), VK_FORMAT_R32G32B32_UNORM },
|
||||
// { makeFormatPair(kDataFormat32_32_32, kNumericFormatUBInt), VK_FORMAT_R32G32B32_UINT },
|
||||
// { makeFormatPair(kDataFormat32_32_32, kNumericFormatUBScaled), VK_FORMAT_R32G32B32_USCALED },
|
||||
// { makeFormatPair(kDataFormat32_32_32_32, kNumericFormatUNorm), VK_FORMAT_R32G32B32A32_UNORM },
|
||||
// { makeFormatPair(kDataFormat32_32_32_32, kNumericFormatSNorm), VK_FORMAT_R32G32B32A32_SNORM },
|
||||
// { makeFormatPair(kDataFormat32_32_32_32, kNumericFormatUScaled), VK_FORMAT_R32G32B32A32_USCALED },
|
||||
// { makeFormatPair(kDataFormat32_32_32_32, kNumericFormatSScaled), VK_FORMAT_R32G32B32A32_SSCALED },
|
||||
{ makeFormatPair(kDataFormat32_32_32_32, kNumericFormatUInt), VK_FORMAT_R32G32B32A32_UINT },
|
||||
{ makeFormatPair(kDataFormat32_32_32_32, kNumericFormatSInt), VK_FORMAT_R32G32B32A32_SINT },
|
||||
// { makeFormatPair(kDataFormat32_32_32_32, kNumericFormatSNormNoZero), VK_FORMAT_R32G32B32A32_SNORM },
|
||||
{ makeFormatPair(kDataFormat32_32_32_32, kNumericFormatFloat), VK_FORMAT_R32G32B32A32_SFLOAT },
|
||||
// { makeFormatPair(kDataFormat32_32_32_32, kNumericFormatSrgb), VK_FORMAT_R32G32B32A32_SRGB },
|
||||
// { makeFormatPair(kDataFormat32_32_32_32, kNumericFormatUBNorm), VK_FORMAT_R32G32B32A32_UNORM },
|
||||
// { makeFormatPair(kDataFormat32_32_32_32, kNumericFormatUBNormNoZero), VK_FORMAT_R32G32B32A32_UNORM },
|
||||
{ makeFormatPair(kDataFormat32_32_32_32, kNumericFormatUBInt), VK_FORMAT_R32G32B32A32_UINT },
|
||||
// { makeFormatPair(kDataFormat32_32_32_32, kNumericFormatUBScaled), VK_FORMAT_R32G32B32A32_USCALED },
|
||||
{ makeFormatPair(kDataFormat5_6_5, kNumericFormatUNorm), VK_FORMAT_B5G6R5_UNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_6_5, kNumericFormatSNorm), VK_FORMAT_B5G6R5_SNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_6_5, kNumericFormatUScaled), VK_FORMAT_B5G6R5_USCALED_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_6_5, kNumericFormatSScaled), VK_FORMAT_B5G6R5_SSCALED_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_6_5, kNumericFormatUInt), VK_FORMAT_B5G6R5_UINT_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_6_5, kNumericFormatSInt), VK_FORMAT_B5G6R5_SINT_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_6_5, kNumericFormatSNormNoZero), VK_FORMAT_B5G6R5_SNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_6_5, kNumericFormatFloat), VK_FORMAT_B5G6R5_SFLOAT_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_6_5, kNumericFormatSrgb), VK_FORMAT_B5G6R5_SRGB_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_6_5, kNumericFormatUBNorm), VK_FORMAT_B5G6R5_UNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_6_5, kNumericFormatUBNormNoZero), VK_FORMAT_B5G6R5_UNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_6_5, kNumericFormatUBInt), VK_FORMAT_B5G6R5_UINT_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_6_5, kNumericFormatUBScaled), VK_FORMAT_B5G6R5_USCALED_PACK16 },
|
||||
{ makeFormatPair(kDataFormat1_5_5_5, kNumericFormatUNorm), VK_FORMAT_A1R5G5B5_UNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat1_5_5_5, kNumericFormatSNorm), VK_FORMAT_A1R5G5B5_SNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat1_5_5_5, kNumericFormatUScaled), VK_FORMAT_A1R5G5B5_USCALED_PACK16 },
|
||||
// { makeFormatPair(kDataFormat1_5_5_5, kNumericFormatSScaled), VK_FORMAT_A1R5G5B5_SSCALED_PACK16 },
|
||||
// { makeFormatPair(kDataFormat1_5_5_5, kNumericFormatUInt), VK_FORMAT_A1R5G5B5_UINT_PACK16 },
|
||||
// { makeFormatPair(kDataFormat1_5_5_5, kNumericFormatSInt), VK_FORMAT_A1R5G5B5_SINT_PACK16 },
|
||||
// { makeFormatPair(kDataFormat1_5_5_5, kNumericFormatSNormNoZero), VK_FORMAT_A1R5G5B5_SNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat1_5_5_5, kNumericFormatFloat), VK_FORMAT_A1R5G5B5_SFLOAT_PACK16 },
|
||||
// { makeFormatPair(kDataFormat1_5_5_5, kNumericFormatSrgb), VK_FORMAT_A1R5G5B5_SRGB_PACK16 },
|
||||
// { makeFormatPair(kDataFormat1_5_5_5, kNumericFormatUBNorm), VK_FORMAT_A1R5G5B5_UNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat1_5_5_5, kNumericFormatUBNormNoZero), VK_FORMAT_A1R5G5B5_UNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat1_5_5_5, kNumericFormatUBInt), VK_FORMAT_A1R5G5B5_UINT_PACK16 },
|
||||
// { makeFormatPair(kDataFormat1_5_5_5, kNumericFormatUBScaled), VK_FORMAT_A1R5G5B5_USCALED_PACK16 },
|
||||
{ makeFormatPair(kDataFormat5_5_5_1, kNumericFormatUNorm), VK_FORMAT_A1R5G5B5_UNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_5_5_1, kNumericFormatSNorm), VK_FORMAT_A1R5G5B5_SNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_5_5_1, kNumericFormatUScaled), VK_FORMAT_A1R5G5B5_USCALED_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_5_5_1, kNumericFormatSScaled), VK_FORMAT_A1R5G5B5_SSCALED_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_5_5_1, kNumericFormatUInt), VK_FORMAT_A1R5G5B5_UINT_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_5_5_1, kNumericFormatSInt), VK_FORMAT_A1R5G5B5_SINT_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_5_5_1, kNumericFormatSNormNoZero), VK_FORMAT_A1R5G5B5_SNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_5_5_1, kNumericFormatFloat), VK_FORMAT_A1R5G5B5_SFLOAT_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_5_5_1, kNumericFormatSrgb), VK_FORMAT_A1R5G5B5_SRGB_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_5_5_1, kNumericFormatUBNorm), VK_FORMAT_A1R5G5B5_UNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_5_5_1, kNumericFormatUBNormNoZero), VK_FORMAT_A1R5G5B5_UNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_5_5_1, kNumericFormatUBInt), VK_FORMAT_A1R5G5B5_UINT_PACK16 },
|
||||
// { makeFormatPair(kDataFormat5_5_5_1, kNumericFormatUBScaled), VK_FORMAT_A1R5G5B5_USCALED_PACK16 },
|
||||
{ makeFormatPair(kDataFormat4_4_4_4, kNumericFormatUNorm), VK_FORMAT_R4G4B4A4_UNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat4_4_4_4, kNumericFormatSNorm), VK_FORMAT_R4G4B4A4_SNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat4_4_4_4, kNumericFormatUScaled), VK_FORMAT_R4G4B4A4_USCALED_PACK16 },
|
||||
// { makeFormatPair(kDataFormat4_4_4_4, kNumericFormatSScaled), VK_FORMAT_R4G4B4A4_SSCALED_PACK16 },
|
||||
// { makeFormatPair(kDataFormat4_4_4_4, kNumericFormatUInt), VK_FORMAT_R4G4B4A4_UINT_PACK16 },
|
||||
// { makeFormatPair(kDataFormat4_4_4_4, kNumericFormatSInt), VK_FORMAT_R4G4B4A4_SINT_PACK16 },
|
||||
// { makeFormatPair(kDataFormat4_4_4_4, kNumericFormatSNormNoZero), VK_FORMAT_R4G4B4A4_SNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat4_4_4_4, kNumericFormatFloat), VK_FORMAT_R4G4B4A4_SFLOAT_PACK16 },
|
||||
// { makeFormatPair(kDataFormat4_4_4_4, kNumericFormatSrgb), VK_FORMAT_R4G4B4A4_SRGB_PACK16 },
|
||||
// { makeFormatPair(kDataFormat4_4_4_4, kNumericFormatUBNorm), VK_FORMAT_R4G4B4A4_UNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat4_4_4_4, kNumericFormatUBNormNoZero), VK_FORMAT_R4G4B4A4_UNORM_PACK16 },
|
||||
// { makeFormatPair(kDataFormat4_4_4_4, kNumericFormatUBInt), VK_FORMAT_R4G4B4A4_UINT_PACK16 },
|
||||
// { makeFormatPair(kDataFormat4_4_4_4, kNumericFormatUBScaled), VK_FORMAT_R4G4B4A4_USCALED_PACK16 },
|
||||
// { makeFormatPair(kDataFormat8_24, kNumericFormatUNorm), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat8_24, kNumericFormatSNorm), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat8_24, kNumericFormatUScaled), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat8_24, kNumericFormatSScaled), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
{ makeFormatPair(kDataFormat8_24, kNumericFormatUInt), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat8_24, kNumericFormatSInt), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat8_24, kNumericFormatSNormNoZero), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat8_24, kNumericFormatFloat), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat8_24, kNumericFormatSrgb), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat8_24, kNumericFormatUBNorm), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat8_24, kNumericFormatUBNormNoZero), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat8_24, kNumericFormatUBInt), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat8_24, kNumericFormatUBScaled), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat24_8, kNumericFormatUNorm), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat24_8, kNumericFormatSNorm), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat24_8, kNumericFormatUScaled), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat24_8, kNumericFormatSScaled), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
{ makeFormatPair(kDataFormat24_8, kNumericFormatUInt), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat24_8, kNumericFormatSInt), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat24_8, kNumericFormatSNormNoZero), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat24_8, kNumericFormatFloat), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat24_8, kNumericFormatSrgb), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat24_8, kNumericFormatUBNorm), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat24_8, kNumericFormatUBNormNoZero), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat24_8, kNumericFormatUBInt), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormat24_8, kNumericFormatUBScaled), VK_FORMAT_D24_UNORM_S8_UINT },
|
||||
// { makeFormatPair(kDataFormatX24_8_32, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormatX24_8_32, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormatX24_8_32, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormatX24_8_32, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormatX24_8_32, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormatX24_8_32, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormatX24_8_32, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatX24_8_32, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormatX24_8_32, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormatX24_8_32, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormatX24_8_32, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatX24_8_32, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormatX24_8_32, kNumericFormatUBScaled), },
|
||||
// { makeFormatPair(kDataFormatGB_GR, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormatGB_GR, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormatGB_GR, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormatGB_GR, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormatGB_GR, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormatGB_GR, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormatGB_GR, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatGB_GR, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormatGB_GR, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormatGB_GR, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormatGB_GR, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatGB_GR, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormatGB_GR, kNumericFormatUBScaled), },
|
||||
// { makeFormatPair(kDataFormatBG_RG, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormatBG_RG, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormatBG_RG, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormatBG_RG, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormatBG_RG, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormatBG_RG, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormatBG_RG, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatBG_RG, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormatBG_RG, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormatBG_RG, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormatBG_RG, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatBG_RG, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormatBG_RG, kNumericFormatUBScaled), },
|
||||
// { makeFormatPair(kDataFormat5_9_9_9, kNumericFormatUNorm), VK_FORMAT_E5B9G9R9_UNORM_PACK32 },
|
||||
// { makeFormatPair(kDataFormat5_9_9_9, kNumericFormatSNorm), VK_FORMAT_E5B9G9R9_SNORM_PACK32 },
|
||||
// { makeFormatPair(kDataFormat5_9_9_9, kNumericFormatUScaled), VK_FORMAT_E5B9G9R9_USCALED_PACK32 },
|
||||
// { makeFormatPair(kDataFormat5_9_9_9, kNumericFormatSScaled), VK_FORMAT_E5B9G9R9_SSCALED_PACK32 },
|
||||
// { makeFormatPair(kDataFormat5_9_9_9, kNumericFormatUInt), VK_FORMAT_E5B9G9R9_UINT_PACK32 },
|
||||
// { makeFormatPair(kDataFormat5_9_9_9, kNumericFormatSInt), VK_FORMAT_E5B9G9R9_SINT_PACK32 },
|
||||
// { makeFormatPair(kDataFormat5_9_9_9, kNumericFormatSNormNoZero), VK_FORMAT_E5B9G9R9_SNORM_PACK32 },
|
||||
{ makeFormatPair(kDataFormat5_9_9_9, kNumericFormatFloat), VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 },
|
||||
// { makeFormatPair(kDataFormat5_9_9_9, kNumericFormatSrgb), VK_FORMAT_E5B9G9R9_SRGB_PACK32 },
|
||||
// { makeFormatPair(kDataFormat5_9_9_9, kNumericFormatUBNorm), VK_FORMAT_E5B9G9R9_UNORM_PACK32 },
|
||||
// { makeFormatPair(kDataFormat5_9_9_9, kNumericFormatUBNormNoZero), VK_FORMAT_E5B9G9R9_UNORM_PACK32 },
|
||||
// { makeFormatPair(kDataFormat5_9_9_9, kNumericFormatUBInt), VK_FORMAT_E5B9G9R9_UINT_PACK32 },
|
||||
// { makeFormatPair(kDataFormat5_9_9_9, kNumericFormatUBScaled), VK_FORMAT_E5B9G9R9_USCALED_PACK32 },
|
||||
{ makeFormatPair(kDataFormatBc1, kNumericFormatUNorm), VK_FORMAT_BC1_RGBA_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc1, kNumericFormatSNorm), VK_FORMAT_BC1_RGBA_SNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc1, kNumericFormatUScaled), VK_FORMAT_BC1_RGBA_USCALED_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc1, kNumericFormatSScaled), VK_FORMAT_BC1_RGBA_SSCALED_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc1, kNumericFormatUInt), VK_FORMAT_BC1_RGBA_UINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc1, kNumericFormatSInt), VK_FORMAT_BC1_RGBA_SINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc1, kNumericFormatSNormNoZero), VK_FORMAT_BC1_RGBA_SNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc1, kNumericFormatFloat), VK_FORMAT_BC1_RGBA_SFLOAT_BLOCK },
|
||||
{ makeFormatPair(kDataFormatBc1, kNumericFormatSrgb), VK_FORMAT_BC1_RGBA_SRGB_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc1, kNumericFormatUBNorm), VK_FORMAT_BC1_RGBA_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc1, kNumericFormatUBNormNoZero), VK_FORMAT_BC1_RGBA_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc1, kNumericFormatUBInt), VK_FORMAT_BC1_RGBA_UINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc1, kNumericFormatUBScaled), VK_FORMAT_BC1_RGBA_USCALED_BLOCK },
|
||||
{ makeFormatPair(kDataFormatBc2, kNumericFormatUNorm), VK_FORMAT_BC2_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc2, kNumericFormatSNorm), VK_FORMAT_BC2_SNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc2, kNumericFormatUScaled), VK_FORMAT_BC2_USCALED_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc2, kNumericFormatSScaled), VK_FORMAT_BC2_SSCALED_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc2, kNumericFormatUInt), VK_FORMAT_BC2_UINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc2, kNumericFormatSInt), VK_FORMAT_BC2_SINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc2, kNumericFormatSNormNoZero), VK_FORMAT_BC2_SNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc2, kNumericFormatFloat), VK_FORMAT_BC2_SFLOAT_BLOCK },
|
||||
{ makeFormatPair(kDataFormatBc2, kNumericFormatSrgb), VK_FORMAT_BC2_SRGB_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc2, kNumericFormatUBNorm), VK_FORMAT_BC2_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc2, kNumericFormatUBNormNoZero), VK_FORMAT_BC2_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc2, kNumericFormatUBInt), VK_FORMAT_BC2_UINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc2, kNumericFormatUBScaled), VK_FORMAT_BC2_USCALED_BLOCK },
|
||||
{ makeFormatPair(kDataFormatBc3, kNumericFormatUNorm), VK_FORMAT_BC3_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc3, kNumericFormatSNorm), VK_FORMAT_BC3_SNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc3, kNumericFormatUScaled), VK_FORMAT_BC3_USCALED_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc3, kNumericFormatSScaled), VK_FORMAT_BC3_SSCALED_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc3, kNumericFormatUInt), VK_FORMAT_BC3_UINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc3, kNumericFormatSInt), VK_FORMAT_BC3_SINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc3, kNumericFormatSNormNoZero), VK_FORMAT_BC3_SNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc3, kNumericFormatFloat), VK_FORMAT_BC3_SFLOAT_BLOCK },
|
||||
{ makeFormatPair(kDataFormatBc3, kNumericFormatSrgb), VK_FORMAT_BC3_SRGB_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc3, kNumericFormatUBNorm), VK_FORMAT_BC3_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc3, kNumericFormatUBNormNoZero), VK_FORMAT_BC3_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc3, kNumericFormatUBInt), VK_FORMAT_BC3_UINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc3, kNumericFormatUBScaled), VK_FORMAT_BC3_USCALED_BLOCK },
|
||||
{ makeFormatPair(kDataFormatBc4, kNumericFormatUNorm), VK_FORMAT_BC4_UNORM_BLOCK},
|
||||
{ makeFormatPair(kDataFormatBc4, kNumericFormatSNorm), VK_FORMAT_BC4_SNORM_BLOCK},
|
||||
// { makeFormatPair(kDataFormatBc4, kNumericFormatUScaled), VK_FORMAT_BC4_USCALED_BLOCK},
|
||||
// { makeFormatPair(kDataFormatBc4, kNumericFormatSScaled), VK_FORMAT_BC4_SSCALED_BLOCK},
|
||||
// { makeFormatPair(kDataFormatBc4, kNumericFormatUInt), VK_FORMAT_BC4_UINT_BLOCK},
|
||||
// { makeFormatPair(kDataFormatBc4, kNumericFormatSInt), VK_FORMAT_BC4_SINT_BLOCK},
|
||||
// { makeFormatPair(kDataFormatBc4, kNumericFormatSNormNoZero), VK_FORMAT_BC4_SNORM_BLOCK},
|
||||
// { makeFormatPair(kDataFormatBc4, kNumericFormatFloat), VK_FORMAT_BC4_SFLOAT_BLOCK},
|
||||
// { makeFormatPair(kDataFormatBc4, kNumericFormatSrgb), VK_FORMAT_BC4_SRGB_BLOCK},
|
||||
// { makeFormatPair(kDataFormatBc4, kNumericFormatUBNorm), VK_FORMAT_BC4_UNORM_BLOCK},
|
||||
// { makeFormatPair(kDataFormatBc4, kNumericFormatUBNormNoZero), VK_FORMAT_BC4_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc4, kNumericFormatUBInt), VK_FORMAT_BC4_UINT_BLOCK},
|
||||
// { makeFormatPair(kDataFormatBc4, kNumericFormatUBScaled), VK_FORMAT_BC4_USCALED_BLOCK},
|
||||
{ makeFormatPair(kDataFormatBc5, kNumericFormatUNorm), VK_FORMAT_BC5_UNORM_BLOCK },
|
||||
{ makeFormatPair(kDataFormatBc5, kNumericFormatSNorm), VK_FORMAT_BC5_SNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc5, kNumericFormatUScaled), VK_FORMAT_BC5_USCALED_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc5, kNumericFormatSScaled), VK_FORMAT_BC5_SSCALED_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc5, kNumericFormatUInt), VK_FORMAT_BC5_UINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc5, kNumericFormatSInt), VK_FORMAT_BC5_SINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc5, kNumericFormatSNormNoZero), VK_FORMAT_BC5_SNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc5, kNumericFormatFloat), VK_FORMAT_BC5_SFLOAT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc5, kNumericFormatSrgb), VK_FORMAT_BC5_SRGB_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc5, kNumericFormatUBNorm), VK_FORMAT_BC5_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc5, kNumericFormatUBNormNoZero), VK_FORMAT_BC5_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc5, kNumericFormatUBInt), VK_FORMAT_BC5_UINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc5, kNumericFormatUBScaled), VK_FORMAT_BC5_USCALED_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc6, kNumericFormatUNorm), VK_FORMAT_BC6H_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc6, kNumericFormatSNorm), VK_FORMAT_BC6H_SNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc6, kNumericFormatUScaled), VK_FORMAT_BC6H_USCALED_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc6, kNumericFormatSScaled), VK_FORMAT_BC6H_SSCALED_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc6, kNumericFormatUInt), VK_FORMAT_BC6H_UINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc6, kNumericFormatSInt), VK_FORMAT_BC6H_SINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc6, kNumericFormatSNormNoZero), VK_FORMAT_BC6H_SNORM_BLOCK },
|
||||
{ makeFormatPair(kDataFormatBc6, kNumericFormatFloat), VK_FORMAT_BC6H_SFLOAT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc6, kNumericFormatSrgb), VK_FORMAT_BC6H_SRGB_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc6, kNumericFormatUBNorm), VK_FORMAT_BC6H_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc6, kNumericFormatUBNormNoZero), VK_FORMAT_BC6H_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc6, kNumericFormatUBInt), VK_FORMAT_BC6H_UINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc6, kNumericFormatUBScaled), VK_FORMAT_BC6H_USCALED_BLOCK },
|
||||
{ makeFormatPair(kDataFormatBc7, kNumericFormatUNorm), VK_FORMAT_BC7_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc7, kNumericFormatSNorm), VK_FORMAT_BC7_SNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc7, kNumericFormatUScaled), VK_FORMAT_BC7_USCALED_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc7, kNumericFormatSScaled), VK_FORMAT_BC7_SSCALED_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc7, kNumericFormatUInt), VK_FORMAT_BC7_UINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc7, kNumericFormatSInt), VK_FORMAT_BC7_SINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc7, kNumericFormatSNormNoZero), VK_FORMAT_BC7_SNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc7, kNumericFormatFloat), VK_FORMAT_BC7_SFLOAT_BLOCK },
|
||||
{ makeFormatPair(kDataFormatBc7, kNumericFormatSrgb), VK_FORMAT_BC7_SRGB_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc7, kNumericFormatUBNorm), VK_FORMAT_BC7_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc7, kNumericFormatUBNormNoZero), VK_FORMAT_BC7_UNORM_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc7, kNumericFormatUBInt), VK_FORMAT_BC7_UINT_BLOCK },
|
||||
// { makeFormatPair(kDataFormatBc7, kNumericFormatUBScaled), VK_FORMAT_BC7_USCALED_BLOCK },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F1, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F1, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F1, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F1, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F1, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F1, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F1, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F1, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F1, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F1, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F1, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F1, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F1, kNumericFormatUBScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F1, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F1, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F1, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F1, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F1, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F1, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F1, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F1, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F1, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F1, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F1, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F1, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F1, kNumericFormatUBScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S8_F1, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S8_F1, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S8_F1, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S8_F1, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S8_F1, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S8_F1, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S8_F1, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S8_F1, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S8_F1, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S8_F1, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S8_F1, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S8_F1, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S8_F1, kNumericFormatUBScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F2, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F2, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F2, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F2, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F2, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F2, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F2, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F2, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F2, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F2, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F2, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F2, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S2_F2, kNumericFormatUBScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F2, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F2, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F2, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F2, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F2, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F2, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F2, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F2, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F2, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F2, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F2, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F2, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F2, kNumericFormatUBScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F4, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F4, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F4, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F4, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F4, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F4, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F4, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F4, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F4, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F4, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F4, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F4, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormatFmask8_S4_F4, kNumericFormatUBScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S16_F1, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S16_F1, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S16_F1, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S16_F1, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S16_F1, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S16_F1, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S16_F1, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S16_F1, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S16_F1, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S16_F1, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S16_F1, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S16_F1, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S16_F1, kNumericFormatUBScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S8_F2, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S8_F2, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S8_F2, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S8_F2, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S8_F2, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S8_F2, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S8_F2, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S8_F2, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S8_F2, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S8_F2, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S8_F2, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S8_F2, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormatFmask16_S8_F2, kNumericFormatUBScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S16_F2, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S16_F2, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S16_F2, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S16_F2, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S16_F2, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S16_F2, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S16_F2, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S16_F2, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S16_F2, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S16_F2, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S16_F2, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S16_F2, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S16_F2, kNumericFormatUBScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F4, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F4, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F4, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F4, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F4, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F4, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F4, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F4, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F4, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F4, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F4, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F4, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F4, kNumericFormatUBScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F8, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F8, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F8, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F8, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F8, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F8, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F8, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F8, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F8, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F8, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F8, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F8, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormatFmask32_S8_F8, kNumericFormatUBScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F4, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F4, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F4, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F4, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F4, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F4, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F4, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F4, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F4, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F4, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F4, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F4, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F4, kNumericFormatUBScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F8, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F8, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F8, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F8, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F8, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F8, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F8, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F8, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F8, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F8, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F8, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F8, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormatFmask64_S16_F8, kNumericFormatUBScaled), },
|
||||
{ makeFormatPair(kDataFormat4_4, kNumericFormatUNorm), VK_FORMAT_R4G4_UNORM_PACK8},
|
||||
// { makeFormatPair(kDataFormat4_4, kNumericFormatSNorm), VK_FORMAT_R4G4_SNORM_PACK8},
|
||||
// { makeFormatPair(kDataFormat4_4, kNumericFormatUScaled), VK_FORMAT_R4G4_USCALED_PACK8},
|
||||
// { makeFormatPair(kDataFormat4_4, kNumericFormatSScaled), VK_FORMAT_R4G4_SSCALED_PACK8},
|
||||
// { makeFormatPair(kDataFormat4_4, kNumericFormatUInt), VK_FORMAT_R4G4_UINT_PACK8},
|
||||
// { makeFormatPair(kDataFormat4_4, kNumericFormatSInt), VK_FORMAT_R4G4_SINT_PACK8},
|
||||
// { makeFormatPair(kDataFormat4_4, kNumericFormatSNormNoZero), VK_FORMAT_R4G4_SNORM_PACK8},
|
||||
// { makeFormatPair(kDataFormat4_4, kNumericFormatFloat), VK_FORMAT_R4G4_SFLOAT_PACK8},
|
||||
// { makeFormatPair(kDataFormat4_4, kNumericFormatSrgb), VK_FORMAT_R4G4_SRGB_PACK8},
|
||||
// { makeFormatPair(kDataFormat4_4, kNumericFormatUBNorm), VK_FORMAT_R4G4_UNORM_PACK8},
|
||||
// { makeFormatPair(kDataFormat4_4, kNumericFormatUBNormNoZero), VK_FORMAT_R4G4_UNORM_PACK8},
|
||||
// { makeFormatPair(kDataFormat4_4, kNumericFormatUBInt), VK_FORMAT_R4G4_UINT_PACK8},
|
||||
// { makeFormatPair(kDataFormat4_4, kNumericFormatUBScaled), VK_FORMAT_R4G4_USCALED_PACK8},
|
||||
// { makeFormatPair(kDataFormat6_5_5, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormat6_5_5, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormat6_5_5, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormat6_5_5, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormat6_5_5, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormat6_5_5, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormat6_5_5, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormat6_5_5, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormat6_5_5, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormat6_5_5, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormat6_5_5, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormat6_5_5, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormat6_5_5, kNumericFormatUBScaled), },
|
||||
// { makeFormatPair(kDataFormat1, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormat1, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormat1, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormat1, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormat1, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormat1, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormat1, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormat1, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormat1, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormat1, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormat1, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormat1, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormat1, kNumericFormatUBScaled), },
|
||||
// { makeFormatPair(kDataFormat1Reversed, kNumericFormatUNorm), },
|
||||
// { makeFormatPair(kDataFormat1Reversed, kNumericFormatSNorm), },
|
||||
// { makeFormatPair(kDataFormat1Reversed, kNumericFormatUScaled), },
|
||||
// { makeFormatPair(kDataFormat1Reversed, kNumericFormatSScaled), },
|
||||
// { makeFormatPair(kDataFormat1Reversed, kNumericFormatUInt), },
|
||||
// { makeFormatPair(kDataFormat1Reversed, kNumericFormatSInt), },
|
||||
// { makeFormatPair(kDataFormat1Reversed, kNumericFormatSNormNoZero), },
|
||||
// { makeFormatPair(kDataFormat1Reversed, kNumericFormatFloat), },
|
||||
// { makeFormatPair(kDataFormat1Reversed, kNumericFormatSrgb), },
|
||||
// { makeFormatPair(kDataFormat1Reversed, kNumericFormatUBNorm), },
|
||||
// { makeFormatPair(kDataFormat1Reversed, kNumericFormatUBNormNoZero), },
|
||||
// { makeFormatPair(kDataFormat1Reversed, kNumericFormatUBInt), },
|
||||
// { makeFormatPair(kDataFormat1Reversed, kNumericFormatUBScaled), },
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
VkFormat gnm::toVkFormat(DataFormat dfmt, NumericFormat nfmt) {
|
||||
switch (dfmt) {
|
||||
case kDataFormat4_4_4_4: {
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUNorm:
|
||||
return VK_FORMAT_R4G4B4A4_UNORM_PACK16;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case kDataFormat2_10_10_10:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUNorm:
|
||||
return VK_FORMAT_A2B10G10R10_UNORM_PACK32;
|
||||
case kNumericFormatSNorm:
|
||||
return VK_FORMAT_A2B10G10R10_SNORM_PACK32;
|
||||
case kNumericFormatSInt:
|
||||
return VK_FORMAT_A2B10G10R10_SINT_PACK32;
|
||||
case kNumericFormatUInt:
|
||||
return VK_FORMAT_A2B10G10R10_UINT_PACK32;
|
||||
case kNumericFormatUScaled:
|
||||
return VK_FORMAT_A2B10G10R10_USCALED_PACK32;
|
||||
case kNumericFormatSScaled:
|
||||
return VK_FORMAT_A2B10G10R10_SSCALED_PACK32;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kDataFormat10_10_10_2:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUNorm:
|
||||
return VK_FORMAT_A2R10G10B10_UNORM_PACK32;
|
||||
case kNumericFormatSNorm:
|
||||
return VK_FORMAT_A2R10G10B10_SNORM_PACK32;
|
||||
case kNumericFormatSInt:
|
||||
return VK_FORMAT_A2R10G10B10_SINT_PACK32;
|
||||
case kNumericFormatUInt:
|
||||
return VK_FORMAT_A2R10G10B10_UINT_PACK32;
|
||||
case kNumericFormatUScaled:
|
||||
return VK_FORMAT_A2R10G10B10_USCALED_PACK32;
|
||||
case kNumericFormatSScaled:
|
||||
return VK_FORMAT_A2R10G10B10_SSCALED_PACK32;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kDataFormat8: {
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUNorm:
|
||||
return VK_FORMAT_R8_UNORM;
|
||||
case kNumericFormatSNorm:
|
||||
return VK_FORMAT_R8_SNORM;
|
||||
case kNumericFormatUInt:
|
||||
return VK_FORMAT_R8_UINT;
|
||||
case kNumericFormatSInt:
|
||||
return VK_FORMAT_R8_SINT;
|
||||
case kNumericFormatSrgb:
|
||||
return VK_FORMAT_R8_SRGB;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case kDataFormat32:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUInt:
|
||||
return VK_FORMAT_R32_UINT;
|
||||
case kNumericFormatSInt:
|
||||
return VK_FORMAT_R32_SINT;
|
||||
case kNumericFormatFloat:
|
||||
return VK_FORMAT_R32_SFLOAT;
|
||||
case kNumericFormatSrgb:
|
||||
return VK_FORMAT_R32_UINT; // FIXME
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kDataFormat8_8:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUNorm:
|
||||
return VK_FORMAT_R8G8_UNORM;
|
||||
case kNumericFormatSNorm:
|
||||
return VK_FORMAT_R8G8_SNORM;
|
||||
case kNumericFormatUInt:
|
||||
return VK_FORMAT_R8G8_UINT;
|
||||
case kNumericFormatSInt:
|
||||
return VK_FORMAT_R8G8_SINT;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kDataFormat5_9_9_9:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatFloat:
|
||||
return VK_FORMAT_E5B9G9R9_UFLOAT_PACK32;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kDataFormat5_6_5:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUNorm:
|
||||
return VK_FORMAT_B5G6R5_UNORM_PACK16;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kDataFormat16_16:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUInt:
|
||||
return VK_FORMAT_R16G16_UINT;
|
||||
case kNumericFormatSInt:
|
||||
return VK_FORMAT_R16G16_SINT;
|
||||
case kNumericFormatFloat:
|
||||
return VK_FORMAT_R16G16_SFLOAT;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kDataFormat32_32:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUInt:
|
||||
return VK_FORMAT_R32G32_UINT;
|
||||
case kNumericFormatSInt:
|
||||
return VK_FORMAT_R32G32_SINT;
|
||||
case kNumericFormatFloat:
|
||||
return VK_FORMAT_R32G32_SFLOAT;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kDataFormat16_16_16_16:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUNorm:
|
||||
return VK_FORMAT_R16G16B16A16_UNORM;
|
||||
case kNumericFormatSNorm:
|
||||
return VK_FORMAT_R16G16B16A16_SNORM;
|
||||
case kNumericFormatUScaled:
|
||||
return VK_FORMAT_R16G16B16A16_USCALED;
|
||||
case kNumericFormatSScaled:
|
||||
return VK_FORMAT_R16G16B16A16_SSCALED;
|
||||
case kNumericFormatUInt:
|
||||
return VK_FORMAT_R16G16B16A16_UINT;
|
||||
case kNumericFormatSInt:
|
||||
return VK_FORMAT_R16G16B16A16_SINT;
|
||||
case kNumericFormatFloat:
|
||||
return VK_FORMAT_R16G16B16A16_SFLOAT;
|
||||
case kNumericFormatSrgb:
|
||||
return VK_FORMAT_R16G16B16A16_UNORM; // FIXME: wrong
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kDataFormat32_32_32:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUInt:
|
||||
return VK_FORMAT_R32G32B32_UINT;
|
||||
case kNumericFormatSInt:
|
||||
return VK_FORMAT_R32G32B32_SINT;
|
||||
case kNumericFormatFloat:
|
||||
return VK_FORMAT_R32G32B32_SFLOAT;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case kDataFormat32_32_32_32:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUInt:
|
||||
return VK_FORMAT_R32G32B32A32_UINT;
|
||||
case kNumericFormatSInt:
|
||||
return VK_FORMAT_R32G32B32A32_SINT;
|
||||
case kNumericFormatFloat:
|
||||
return VK_FORMAT_R32G32B32A32_SFLOAT;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kDataFormat24_8:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUNorm:
|
||||
return VK_FORMAT_D32_SFLOAT_S8_UINT; // HACK for amdgpu
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case kDataFormat8_8_8_8:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUNorm:
|
||||
return VK_FORMAT_R8G8B8A8_UNORM;
|
||||
case kNumericFormatSNorm:
|
||||
return VK_FORMAT_R8G8B8A8_SNORM;
|
||||
case kNumericFormatUScaled:
|
||||
return VK_FORMAT_R8G8B8A8_USCALED;
|
||||
case kNumericFormatSScaled:
|
||||
return VK_FORMAT_R8G8B8A8_SSCALED;
|
||||
case kNumericFormatUInt:
|
||||
return VK_FORMAT_R8G8B8A8_UINT;
|
||||
case kNumericFormatSInt:
|
||||
return VK_FORMAT_R8G8B8A8_SINT;
|
||||
case kNumericFormatSNormNoZero:
|
||||
case kNumericFormatSrgb:
|
||||
return VK_FORMAT_R8G8B8A8_SRGB;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kDataFormatBc1:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUNorm:
|
||||
return VK_FORMAT_BC1_RGBA_UNORM_BLOCK;
|
||||
case kNumericFormatSrgb:
|
||||
return VK_FORMAT_BC1_RGBA_SRGB_BLOCK;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kDataFormatBc2:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUNorm:
|
||||
return VK_FORMAT_BC2_UNORM_BLOCK;
|
||||
case kNumericFormatSrgb:
|
||||
return VK_FORMAT_BC2_SRGB_BLOCK;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kDataFormatBc3:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUNorm:
|
||||
return VK_FORMAT_BC3_UNORM_BLOCK;
|
||||
case kNumericFormatSrgb:
|
||||
return VK_FORMAT_BC3_SRGB_BLOCK;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kDataFormatBc4:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUNorm:
|
||||
return VK_FORMAT_BC4_UNORM_BLOCK;
|
||||
|
||||
case kNumericFormatSNorm:
|
||||
return VK_FORMAT_BC4_SNORM_BLOCK;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case kDataFormatBc5:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUNorm:
|
||||
return VK_FORMAT_BC5_UNORM_BLOCK;
|
||||
|
||||
case kNumericFormatSNorm:
|
||||
return VK_FORMAT_BC5_SNORM_BLOCK;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kDataFormatBc6:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUNorm:
|
||||
return VK_FORMAT_BC6H_UFLOAT_BLOCK;
|
||||
|
||||
case kNumericFormatSNorm:
|
||||
return VK_FORMAT_BC6H_SFLOAT_BLOCK;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kDataFormatBc7:
|
||||
switch (nfmt) {
|
||||
case kNumericFormatUNorm:
|
||||
return VK_FORMAT_BC7_UNORM_BLOCK;
|
||||
|
||||
case kNumericFormatSrgb:
|
||||
return VK_FORMAT_BC7_SRGB_BLOCK;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
auto it = g_toVkFormats.find(makeFormatPair(dfmt, nfmt));
|
||||
if (it != g_toVkFormats.end()) {
|
||||
return it->second;
|
||||
}
|
||||
|
||||
rx::die("unimplemented surface format. %x.%x\n", (int)dfmt, (int)nfmt);
|
||||
|
|
|
|||
Loading…
Reference in a new issue