Merge pull request #8743 from Techjar/apple-pls-support-standard-api

VideoBackends: Disable GPU Texture Decoding under MoltenVK
This commit is contained in:
JMC47 2020-09-10 09:54:11 -04:00 committed by GitHub
commit dcbe9da279
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 1 deletions

View File

@ -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(

View File

@ -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;

View File

@ -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