diff options
| author | 2023-06-19 17:33:30 -0400 | |
|---|---|---|
| committer | 2023-06-19 17:33:30 -0400 | |
| commit | 197e13d93d6740cda589d88804262d6bdd176a74 (patch) | |
| tree | 3caa1b12468437865fa17971e2fa4c327cbc4cef /src | |
| parent | vk_device_info: Check only affected Intel drivers (diff) | |
| download | yuzu-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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | 2 | ||||
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.cpp | 3 |
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( | |||
| 705 | std::unique_ptr<ComputePipeline> PipelineCache::CreateComputePipeline( | 705 | std::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; |