diff options
| author | 2023-08-22 17:44:03 +0200 | |
|---|---|---|
| committer | 2023-09-23 23:05:30 +0200 | |
| commit | bf0d6b8806b7367a17bbeb2bb59f4bcba1fb1375 (patch) | |
| tree | 2012a0e626ed675a2962e843693fc93be899fede /src/video_core/renderer_vulkan | |
| parent | Query Cache: Simplify Prefix Sum compute shader (diff) | |
| download | yuzu-bf0d6b8806b7367a17bbeb2bb59f4bcba1fb1375.tar.gz yuzu-bf0d6b8806b7367a17bbeb2bb59f4bcba1fb1375.tar.xz yuzu-bf0d6b8806b7367a17bbeb2bb59f4bcba1fb1375.zip | |
Query Cache: Fix behavior in Normal Accuracy
Diffstat (limited to 'src/video_core/renderer_vulkan')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_query_cache.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_query_cache.cpp b/src/video_core/renderer_vulkan/vk_query_cache.cpp index 825e1a72e..2cc007716 100644 --- a/src/video_core/renderer_vulkan/vk_query_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_query_cache.cpp | |||
| @@ -1365,6 +1365,11 @@ bool QueryCacheRuntime::HostConditionalRenderingCompareValues(VideoCommon::Looku | |||
| 1365 | return false; | 1365 | return false; |
| 1366 | } | 1366 | } |
| 1367 | 1367 | ||
| 1368 | const bool is_gpu_high = Settings::IsGPULevelHigh(); | ||
| 1369 | if (!is_gpu_high && impl->device.GetDriverID() == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS) { | ||
| 1370 | return true; | ||
| 1371 | } | ||
| 1372 | |||
| 1368 | for (size_t i = 0; i < 2; i++) { | 1373 | for (size_t i = 0; i < 2; i++) { |
| 1369 | is_null[i] = !is_in_ac[i] && check_value(objects[i]->address); | 1374 | is_null[i] = !is_in_ac[i] && check_value(objects[i]->address); |
| 1370 | } | 1375 | } |
| @@ -1376,6 +1381,11 @@ bool QueryCacheRuntime::HostConditionalRenderingCompareValues(VideoCommon::Looku | |||
| 1376 | return true; | 1381 | return true; |
| 1377 | } | 1382 | } |
| 1378 | } | 1383 | } |
| 1384 | |||
| 1385 | if (!is_gpu_high) { | ||
| 1386 | return true; | ||
| 1387 | } | ||
| 1388 | |||
| 1379 | if (!is_in_bc[0] && !is_in_bc[1]) { | 1389 | if (!is_in_bc[0] && !is_in_bc[1]) { |
| 1380 | // Both queries are in query cache, it's best to just flush. | 1390 | // Both queries are in query cache, it's best to just flush. |
| 1381 | return true; | 1391 | return true; |