video_core: Add some missing formats in Surface Formats

They *might* appear but also might not. Adding them for the future
This commit is contained in:
korenkonder 2024-09-19 21:47:20 +03:00
parent 89853946b0
commit 7cd56a57b9

View File

@ -374,6 +374,10 @@ vk::Format SurfaceFormat(AmdGpu::DataFormat data_format, AmdGpu::NumberFormat nu
return vk::Format::eR8Unorm;
case AmdGpu::NumberFormat::Snorm:
return vk::Format::eR8Snorm;
case AmdGpu::NumberFormat::Uscaled:
return vk::Format::eR8Uscaled;
case AmdGpu::NumberFormat::Sscaled:
return vk::Format::eR8Sscaled;
case AmdGpu::NumberFormat::Uint:
return vk::Format::eR8Uint;
case AmdGpu::NumberFormat::Sint:
@ -388,8 +392,16 @@ vk::Format SurfaceFormat(AmdGpu::DataFormat data_format, AmdGpu::NumberFormat nu
switch (num_format) {
case AmdGpu::NumberFormat::Unorm:
return vk::Format::eR16Unorm;
case AmdGpu::NumberFormat::Snorm:
return vk::Format::eR16Snorm;
case AmdGpu::NumberFormat::Uscaled:
return vk::Format::eR16Uscaled;
case AmdGpu::NumberFormat::Sscaled:
return vk::Format::eR16Sscaled;
case AmdGpu::NumberFormat::Uint:
return vk::Format::eR16Uint;
case AmdGpu::NumberFormat::Sint:
return vk::Format::eR16Sint;
case AmdGpu::NumberFormat::Float:
return vk::Format::eR16Sfloat;
default:
@ -402,8 +414,16 @@ vk::Format SurfaceFormat(AmdGpu::DataFormat data_format, AmdGpu::NumberFormat nu
return vk::Format::eR8G8Unorm;
case AmdGpu::NumberFormat::Snorm:
return vk::Format::eR8G8Snorm;
case AmdGpu::NumberFormat::Uscaled:
return vk::Format::eR8G8Uscaled;
case AmdGpu::NumberFormat::Sscaled:
return vk::Format::eR8G8Sscaled;
case AmdGpu::NumberFormat::Uint:
return vk::Format::eR8G8Uint;
case AmdGpu::NumberFormat::Sint:
return vk::Format::eR8G8Sint;
case AmdGpu::NumberFormat::Srgb:
return vk::Format::eR8G8Srgb;
default:
break;
}
@ -426,6 +446,8 @@ vk::Format SurfaceFormat(AmdGpu::DataFormat data_format, AmdGpu::NumberFormat nu
return vk::Format::eR16G16Unorm;
case AmdGpu::NumberFormat::Snorm:
return vk::Format::eR16G16Snorm;
case AmdGpu::NumberFormat::Uscaled:
return vk::Format::eR16G16Uscaled;
case AmdGpu::NumberFormat::Sscaled:
return vk::Format::eR16G16Sscaled;
case AmdGpu::NumberFormat::Uint:
@ -462,6 +484,14 @@ vk::Format SurfaceFormat(AmdGpu::DataFormat data_format, AmdGpu::NumberFormat nu
return vk::Format::eA2B10G10R10UnormPack32;
case AmdGpu::NumberFormat::Snorm:
return vk::Format::eA2B10G10R10SnormPack32;
case AmdGpu::NumberFormat::Uscaled:
return vk::Format::eA2B10G10R10UscaledPack32;
case AmdGpu::NumberFormat::Sscaled:
return vk::Format::eA2B10G10R10SscaledPack32;
case AmdGpu::NumberFormat::Uint:
return vk::Format::eA2B10G10R10UintPack32;
case AmdGpu::NumberFormat::Sint:
return vk::Format::eA2B10G10R10SintPack32;
default:
break;
}
@ -474,6 +504,8 @@ vk::Format SurfaceFormat(AmdGpu::DataFormat data_format, AmdGpu::NumberFormat nu
return vk::Format::eR8G8B8A8Snorm;
case AmdGpu::NumberFormat::Uscaled:
return vk::Format::eR8G8B8A8Uscaled;
case AmdGpu::NumberFormat::Sscaled:
return vk::Format::eR8G8B8A8Sscaled;
case AmdGpu::NumberFormat::Uint:
return vk::Format::eR8G8B8A8Uint;
case AmdGpu::NumberFormat::Sint:
@ -488,6 +520,8 @@ vk::Format SurfaceFormat(AmdGpu::DataFormat data_format, AmdGpu::NumberFormat nu
switch (num_format) {
case AmdGpu::NumberFormat::Uint:
return vk::Format::eR32G32Uint;
case AmdGpu::NumberFormat::Sint:
return vk::Format::eR32G32Sint;
case AmdGpu::NumberFormat::Float:
return vk::Format::eR32G32Sfloat;
default:
@ -500,6 +534,8 @@ vk::Format SurfaceFormat(AmdGpu::DataFormat data_format, AmdGpu::NumberFormat nu
return vk::Format::eR16G16B16A16Unorm;
case AmdGpu::NumberFormat::Snorm:
return vk::Format::eR16G16B16A16Snorm;
case AmdGpu::NumberFormat::Uscaled:
return vk::Format::eR16G16B16A16Uscaled;
case AmdGpu::NumberFormat::Sscaled:
return vk::Format::eR16G16B16A16Sscaled;
case AmdGpu::NumberFormat::Uint:
@ -518,6 +554,8 @@ vk::Format SurfaceFormat(AmdGpu::DataFormat data_format, AmdGpu::NumberFormat nu
switch (num_format) {
case AmdGpu::NumberFormat::Uint:
return vk::Format::eR32G32B32Uint;
case AmdGpu::NumberFormat::Sint:
return vk::Format::eR32G32B32Sint;
case AmdGpu::NumberFormat::Float:
return vk::Format::eR32G32B32Sfloat;
default:
@ -614,6 +652,8 @@ vk::Format SurfaceFormat(AmdGpu::DataFormat data_format, AmdGpu::NumberFormat nu
switch (num_format) {
case AmdGpu::NumberFormat::Unorm:
return vk::Format::eBc4UnormBlock;
case AmdGpu::NumberFormat::Snorm:
return vk::Format::eBc4SnormBlock;
default:
break;
}
@ -648,6 +688,8 @@ vk::Format SurfaceFormat(AmdGpu::DataFormat data_format, AmdGpu::NumberFormat nu
break;
}
break;
default:
break;
}
UNREACHABLE_MSG("Unknown data_format={} and num_format={}", u32(data_format), u32(num_format));