summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar lat9nq2023-06-19 17:33:30 -0400
committerGravatar lat9nq2023-06-19 17:33:30 -0400
commit197e13d93d6740cda589d88804262d6bdd176a74 (patch)
tree3caa1b12468437865fa17971e2fa4c327cbc4cef
parentvk_device_info: Check only affected Intel drivers (diff)
downloadyuzu-197e13d93d6740cda589d88804262d6bdd176a74.tar.gz
yuzu-197e13d93d6740cda589d88804262d6bdd176a74.tar.xz
yuzu-197e13d93d6740cda589d88804262d6bdd176a74.zip
video_core: Check broken compute earlier
Checks it as the system is determining what settings to enable. Reduces the need to check settings while the system is running.
-rw-r--r--src/video_core/renderer_vulkan/vk_pipeline_cache.cpp2
-rw-r--r--src/video_core/vulkan_common/vulkan_device.cpp3
2 files changed, 3 insertions, 2 deletions
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
index ee2c33131..a2cfb2105 100644
--- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
@@ -705,7 +705,7 @@ std::unique_ptr<ComputePipeline> PipelineCache::CreateComputePipeline(
705std::unique_ptr<ComputePipeline> PipelineCache::CreateComputePipeline( 705std::unique_ptr<ComputePipeline> PipelineCache::CreateComputePipeline(
706 ShaderPools& pools, const ComputePipelineCacheKey& key, Shader::Environment& env, 706 ShaderPools& pools, const ComputePipelineCacheKey& key, Shader::Environment& env,
707 PipelineStatistics* statistics, bool build_in_parallel) try { 707 PipelineStatistics* statistics, bool build_in_parallel) try {
708 if (device.HasBrokenCompute() && !Settings::values.enable_compute_pipelines.GetValue()) { 708 if (device.HasBrokenCompute()) {
709 LOG_ERROR(Render_Vulkan, "Skipping 0x{:016x}", key.Hash()); 709 LOG_ERROR(Render_Vulkan, "Skipping 0x{:016x}", key.Hash());
710 return nullptr; 710 return nullptr;
711 } 711 }
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp
index e38e34bc8..fa9cde75b 100644
--- a/src/video_core/vulkan_common/vulkan_device.cpp
+++ b/src/video_core/vulkan_common/vulkan_device.cpp
@@ -563,7 +563,8 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
563 cant_blit_msaa = true; 563 cant_blit_msaa = true;
564 } 564 }
565 has_broken_compute = 565 has_broken_compute =
566 CheckBrokenCompute(properties.driver.driverID, properties.properties.driverVersion); 566 CheckBrokenCompute(properties.driver.driverID, properties.properties.driverVersion) &&
567 !Settings::values.enable_compute_pipelines.GetValue();
567 if (is_intel_anv || (is_qualcomm && !is_s8gen2)) { 568 if (is_intel_anv || (is_qualcomm && !is_s8gen2)) {
568 LOG_WARNING(Render_Vulkan, "Driver does not support native BGR format"); 569 LOG_WARNING(Render_Vulkan, "Driver does not support native BGR format");
569 must_emulate_bgr565 = true; 570 must_emulate_bgr565 = true;