summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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 {
238bool VKDevice::IsOptimalAstcSupported(const vk::PhysicalDeviceFeatures& features, 238bool VKDevice::IsOptimalAstcSupported(const vk::PhysicalDeviceFeatures& features,
239 const vk::DispatchLoaderDynamic& dldi) const { 239 const vk::DispatchLoaderDynamic& dldi) const {
240 static constexpr std::array astc_formats = { 240 static constexpr std::array astc_formats = {
241 vk::Format::eAstc4x4SrgbBlock, vk::Format::eAstc8x8SrgbBlock, 241 vk::Format::eAstc4x4UnormBlock, vk::Format::eAstc4x4SrgbBlock,
242 vk::Format::eAstc8x5SrgbBlock, vk::Format::eAstc5x4SrgbBlock, 242 vk::Format::eAstc5x4UnormBlock, vk::Format::eAstc5x4SrgbBlock,
243 vk::Format::eAstc5x5UnormBlock, vk::Format::eAstc5x5SrgbBlock, 243 vk::Format::eAstc5x5UnormBlock, vk::Format::eAstc5x5SrgbBlock,
244 vk::Format::eAstc10x8UnormBlock, vk::Format::eAstc10x8SrgbBlock, 244 vk::Format::eAstc6x5UnormBlock, vk::Format::eAstc6x5SrgbBlock,
245 vk::Format::eAstc6x6UnormBlock, vk::Format::eAstc6x6SrgbBlock, 245 vk::Format::eAstc6x6UnormBlock, vk::Format::eAstc6x6SrgbBlock,
246 vk::Format::eAstc10x10UnormBlock, vk::Format::eAstc10x10SrgbBlock, 246 vk::Format::eAstc8x5UnormBlock, vk::Format::eAstc8x5SrgbBlock,
247 vk::Format::eAstc12x12UnormBlock, vk::Format::eAstc12x12SrgbBlock,
248 vk::Format::eAstc8x6UnormBlock, vk::Format::eAstc8x6SrgbBlock, 247 vk::Format::eAstc8x6UnormBlock, vk::Format::eAstc8x6SrgbBlock,
249 vk::Format::eAstc6x5UnormBlock, vk::Format::eAstc6x5SrgbBlock}; 248 vk::Format::eAstc8x8UnormBlock, vk::Format::eAstc8x8SrgbBlock,
249 vk::Format::eAstc10x5UnormBlock, vk::Format::eAstc10x5SrgbBlock,
250 vk::Format::eAstc10x6UnormBlock, vk::Format::eAstc10x6SrgbBlock,
251 vk::Format::eAstc10x8UnormBlock, vk::Format::eAstc10x8SrgbBlock,
252 vk::Format::eAstc10x10UnormBlock, vk::Format::eAstc10x10SrgbBlock,
253 vk::Format::eAstc12x10UnormBlock, vk::Format::eAstc12x10SrgbBlock,
254 vk::Format::eAstc12x12UnormBlock, vk::Format::eAstc12x12SrgbBlock};
250 if (!features.textureCompressionASTC_LDR) { 255 if (!features.textureCompressionASTC_LDR) {
251 return false; 256 return false;
252 } 257 }
@@ -570,24 +575,34 @@ std::unordered_map<vk::Format, vk::FormatProperties> VKDevice::GetFormatProperti
570 vk::Format::eBc2SrgbBlock, 575 vk::Format::eBc2SrgbBlock,
571 vk::Format::eBc3SrgbBlock, 576 vk::Format::eBc3SrgbBlock,
572 vk::Format::eBc7SrgbBlock, 577 vk::Format::eBc7SrgbBlock,
578 vk::Format::eAstc4x4UnormBlock,
573 vk::Format::eAstc4x4SrgbBlock, 579 vk::Format::eAstc4x4SrgbBlock,
574 vk::Format::eAstc8x8SrgbBlock, 580 vk::Format::eAstc5x4UnormBlock,
575 vk::Format::eAstc8x5SrgbBlock,
576 vk::Format::eAstc5x4SrgbBlock, 581 vk::Format::eAstc5x4SrgbBlock,
577 vk::Format::eAstc5x5UnormBlock, 582 vk::Format::eAstc5x5UnormBlock,
578 vk::Format::eAstc5x5SrgbBlock, 583 vk::Format::eAstc5x5SrgbBlock,
579 vk::Format::eAstc10x8UnormBlock, 584 vk::Format::eAstc6x5UnormBlock,
580 vk::Format::eAstc10x8SrgbBlock, 585 vk::Format::eAstc6x5SrgbBlock,
581 vk::Format::eAstc6x6UnormBlock, 586 vk::Format::eAstc6x6UnormBlock,
582 vk::Format::eAstc6x6SrgbBlock, 587 vk::Format::eAstc6x6SrgbBlock,
588 vk::Format::eAstc8x5UnormBlock,
589 vk::Format::eAstc8x5SrgbBlock,
590 vk::Format::eAstc8x6UnormBlock,
591 vk::Format::eAstc8x6SrgbBlock,
592 vk::Format::eAstc8x8UnormBlock,
593 vk::Format::eAstc8x8SrgbBlock,
594 vk::Format::eAstc10x5UnormBlock,
595 vk::Format::eAstc10x5SrgbBlock,
596 vk::Format::eAstc10x6UnormBlock,
597 vk::Format::eAstc10x6SrgbBlock,
598 vk::Format::eAstc10x8UnormBlock,
599 vk::Format::eAstc10x8SrgbBlock,
583 vk::Format::eAstc10x10UnormBlock, 600 vk::Format::eAstc10x10UnormBlock,
584 vk::Format::eAstc10x10SrgbBlock, 601 vk::Format::eAstc10x10SrgbBlock,
602 vk::Format::eAstc12x10UnormBlock,
603 vk::Format::eAstc12x10SrgbBlock,
585 vk::Format::eAstc12x12UnormBlock, 604 vk::Format::eAstc12x12UnormBlock,
586 vk::Format::eAstc12x12SrgbBlock, 605 vk::Format::eAstc12x12SrgbBlock,
587 vk::Format::eAstc8x6UnormBlock,
588 vk::Format::eAstc8x6SrgbBlock,
589 vk::Format::eAstc6x5UnormBlock,
590 vk::Format::eAstc6x5SrgbBlock,
591 vk::Format::eE5B9G9R9UfloatPack32}; 606 vk::Format::eE5B9G9R9UfloatPack32};
592 std::unordered_map<vk::Format, vk::FormatProperties> format_properties; 607 std::unordered_map<vk::Format, vk::FormatProperties> format_properties;
593 for (const auto format : formats) { 608 for (const auto format : formats) {