summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2020-03-15 07:59:59 +0100
committerReinUsesLisp <reinuseslisp@airmail.cc>2020-04-01 06:14:04 +0200
commit2f0da10dc38585a0c917f75608fd8d7323ab9005 (patch)
tree7e364d5814b4352a6328a074a7a0dbacebd19a17 /src/video_core/renderer_vulkan
parentvideo_core: Use native ASTC when available (diff)
downloadyuzu-2f0da10dc38585a0c917f75608fd8d7323ab9005.tar
yuzu-2f0da10dc38585a0c917f75608fd8d7323ab9005.tar.gz
yuzu-2f0da10dc38585a0c917f75608fd8d7323ab9005.tar.bz2
yuzu-2f0da10dc38585a0c917f75608fd8d7323ab9005.tar.lz
yuzu-2f0da10dc38585a0c917f75608fd8d7323ab9005.tar.xz
yuzu-2f0da10dc38585a0c917f75608fd8d7323ab9005.tar.zst
yuzu-2f0da10dc38585a0c917f75608fd8d7323ab9005.zip
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r--src/video_core/renderer_vulkan/vk_device.cpp43
1 files changed, 29 insertions, 14 deletions
diff --git a/src/video_core/renderer_vulkan/vk_device.cpp b/src/video_core/renderer_vulkan/vk_device.cpp
index 0f6f68a49..7aafb5e59 100644
--- a/src/video_core/renderer_vulkan/vk_device.cpp
+++ b/src/video_core/renderer_vulkan/vk_device.cpp
@@ -238,15 +238,20 @@ void VKDevice::ReportLoss() const {
bool VKDevice::IsOptimalAstcSupported(const vk::PhysicalDeviceFeatures& features,
const vk::DispatchLoaderDynamic& dldi) const {
static constexpr std::array astc_formats = {
- vk::Format::eAstc4x4SrgbBlock, vk::Format::eAstc8x8SrgbBlock,
- vk::Format::eAstc8x5SrgbBlock, vk::Format::eAstc5x4SrgbBlock,
+ vk::Format::eAstc4x4UnormBlock, vk::Format::eAstc4x4SrgbBlock,
+ vk::Format::eAstc5x4UnormBlock, vk::Format::eAstc5x4SrgbBlock,
vk::Format::eAstc5x5UnormBlock, vk::Format::eAstc5x5SrgbBlock,
- vk::Format::eAstc10x8UnormBlock, vk::Format::eAstc10x8SrgbBlock,
+ vk::Format::eAstc6x5UnormBlock, vk::Format::eAstc6x5SrgbBlock,
vk::Format::eAstc6x6UnormBlock, vk::Format::eAstc6x6SrgbBlock,
- vk::Format::eAstc10x10UnormBlock, vk::Format::eAstc10x10SrgbBlock,
- vk::Format::eAstc12x12UnormBlock, vk::Format::eAstc12x12SrgbBlock,
+ vk::Format::eAstc8x5UnormBlock, vk::Format::eAstc8x5SrgbBlock,
vk::Format::eAstc8x6UnormBlock, vk::Format::eAstc8x6SrgbBlock,
- vk::Format::eAstc6x5UnormBlock, vk::Format::eAstc6x5SrgbBlock};
+ vk::Format::eAstc8x8UnormBlock, vk::Format::eAstc8x8SrgbBlock,
+ vk::Format::eAstc10x5UnormBlock, vk::Format::eAstc10x5SrgbBlock,
+ vk::Format::eAstc10x6UnormBlock, vk::Format::eAstc10x6SrgbBlock,
+ vk::Format::eAstc10x8UnormBlock, vk::Format::eAstc10x8SrgbBlock,
+ vk::Format::eAstc10x10UnormBlock, vk::Format::eAstc10x10SrgbBlock,
+ vk::Format::eAstc12x10UnormBlock, vk::Format::eAstc12x10SrgbBlock,
+ vk::Format::eAstc12x12UnormBlock, vk::Format::eAstc12x12SrgbBlock};
if (!features.textureCompressionASTC_LDR) {
return false;
}
@@ -570,24 +575,34 @@ std::unordered_map<vk::Format, vk::FormatProperties> VKDevice::GetFormatProperti
vk::Format::eBc2SrgbBlock,
vk::Format::eBc3SrgbBlock,
vk::Format::eBc7SrgbBlock,
+ vk::Format::eAstc4x4UnormBlock,
vk::Format::eAstc4x4SrgbBlock,
- vk::Format::eAstc8x8SrgbBlock,
- vk::Format::eAstc8x5SrgbBlock,
+ vk::Format::eAstc5x4UnormBlock,
vk::Format::eAstc5x4SrgbBlock,
vk::Format::eAstc5x5UnormBlock,
vk::Format::eAstc5x5SrgbBlock,
- vk::Format::eAstc10x8UnormBlock,
- vk::Format::eAstc10x8SrgbBlock,
+ vk::Format::eAstc6x5UnormBlock,
+ vk::Format::eAstc6x5SrgbBlock,
vk::Format::eAstc6x6UnormBlock,
vk::Format::eAstc6x6SrgbBlock,
+ vk::Format::eAstc8x5UnormBlock,
+ vk::Format::eAstc8x5SrgbBlock,
+ vk::Format::eAstc8x6UnormBlock,
+ vk::Format::eAstc8x6SrgbBlock,
+ vk::Format::eAstc8x8UnormBlock,
+ vk::Format::eAstc8x8SrgbBlock,
+ vk::Format::eAstc10x5UnormBlock,
+ vk::Format::eAstc10x5SrgbBlock,
+ vk::Format::eAstc10x6UnormBlock,
+ vk::Format::eAstc10x6SrgbBlock,
+ vk::Format::eAstc10x8UnormBlock,
+ vk::Format::eAstc10x8SrgbBlock,
vk::Format::eAstc10x10UnormBlock,
vk::Format::eAstc10x10SrgbBlock,
+ vk::Format::eAstc12x10UnormBlock,
+ vk::Format::eAstc12x10SrgbBlock,
vk::Format::eAstc12x12UnormBlock,
vk::Format::eAstc12x12SrgbBlock,
- vk::Format::eAstc8x6UnormBlock,
- vk::Format::eAstc8x6SrgbBlock,
- vk::Format::eAstc6x5UnormBlock,
- vk::Format::eAstc6x5SrgbBlock,
vk::Format::eE5B9G9R9UfloatPack32};
std::unordered_map<vk::Format, vk::FormatProperties> format_properties;
for (const auto format : formats) {