diff options
| author | JMC47 <JMC4789@gmail.com> | 2020-09-10 09:54:11 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-10 09:54:11 -0400 |
| commit | dcbe9da2794e033bdb7e95fc35cc191d18eb6d2e (patch) | |
| tree | 6e940e026237031a1a7e10ccbe4dcf7e8bb6a21d | |
| parent | 7cab8b733f18d2bb634a0f72625dba1f9f985e09 (diff) | |
| parent | 69358b21868e3260d0c9273effbf302b130f25fd (diff) | |
Merge pull request #8743 from Techjar/apple-pls-support-standard-api
VideoBackends: Disable GPU Texture Decoding under MoltenVK
| -rw-r--r-- | Source/Core/VideoBackends/Vulkan/VulkanContext.cpp | 4 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/DriverDetails.cpp | 5 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/DriverDetails.h | 4 |
3 files changed, 12 insertions, 1 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp b/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp index c0fca1008c..990e38acec 100644 --- a/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp +++ b/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp @@ -346,6 +346,10 @@ void VulkanContext::PopulateBackendInfoFeatures(VideoConfig* config, VkPhysicalD // with depth clamping. Fall back to inverted depth range for these. if (DriverDetails::HasBug(DriverDetails::BUG_BROKEN_REVERSED_DEPTH_RANGE)) config->backend_info.bSupportsReversedDepthRange = false; + + // GPU Texture Decoding is broken under MoltenVK. + if (DriverDetails::HasBug(DriverDetails::BUG_BROKEN_GPU_TEXTURE_DECODING)) + config->backend_info.bSupportsGPUTextureDecoding = false; } void VulkanContext::PopulateBackendInfoMultisampleModes( diff --git a/Source/Core/VideoCommon/DriverDetails.cpp b/Source/Core/VideoCommon/DriverDetails.cpp index 1670f1a028..3c5d9191c0 100644 --- a/Source/Core/VideoCommon/DriverDetails.cpp +++ b/Source/Core/VideoCommon/DriverDetails.cpp @@ -117,7 +117,10 @@ constexpr BugInfo m_known_bugs[] = { {API_VULKAN, OS_ALL, VENDOR_ARM, DRIVER_ARM, Family::UNKNOWN, BUG_SLOW_CACHED_READBACK_MEMORY, -1.0, -1.0, true}, {API_VULKAN, OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM, Family::UNKNOWN, - BUG_SLOW_CACHED_READBACK_MEMORY, -1.0, -1.0, true}}; + BUG_SLOW_CACHED_READBACK_MEMORY, -1.0, -1.0, true}, + {API_VULKAN, OS_OSX, VENDOR_ALL, DRIVER_PORTABILITY, Family::UNKNOWN, + BUG_BROKEN_GPU_TEXTURE_DECODING, -1.0, -1.0, true}, +}; static std::map<Bug, BugInfo> m_bugs; diff --git a/Source/Core/VideoCommon/DriverDetails.h b/Source/Core/VideoCommon/DriverDetails.h index 3e58a5fb58..59250a4415 100644 --- a/Source/Core/VideoCommon/DriverDetails.h +++ b/Source/Core/VideoCommon/DriverDetails.h @@ -286,6 +286,10 @@ enum Bug // Mali Vulkan driver, causing high CPU usage in the __pi___inval_cache_range kernel // function. This flag causes readback buffers to select the coherent type. BUG_SLOW_CACHED_READBACK_MEMORY, + + // BUG: GPU Texture Decoding produces a spectacular mess or just outright crashes when using + // Vulkan on macOS through MoltenVK. + BUG_BROKEN_GPU_TEXTURE_DECODING, }; // Initializes our internal vendor, device family, and driver version |
