summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorGravatar bunnei2020-05-24 15:23:38 -0400
committerGravatar GitHub2020-05-24 15:23:38 -0400
commit1adabdac7fa0c5804b0472fa1cd215efaecd119b (patch)
tree279af5e18ec3fedf1f8d979cf162ed77e9e4f46f /src/video_core/renderer_vulkan
parentMerge pull request #3964 from ReinUsesLisp/arb-integration (diff)
parentRasterizerCache: Correct documentation. (diff)
downloadyuzu-1adabdac7fa0c5804b0472fa1cd215efaecd119b.tar.gz
yuzu-1adabdac7fa0c5804b0472fa1cd215efaecd119b.tar.xz
yuzu-1adabdac7fa0c5804b0472fa1cd215efaecd119b.zip
Merge pull request #3905 from FernandoS27/vulkan-fix
Correct a series of crashes and intructions on Async GPU and Vulkan Pipeline
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r--src/video_core/renderer_vulkan/vk_pipeline_cache.cpp3
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp4
2 files changed, 3 insertions, 4 deletions
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
index fe45ed269..a5c7b7945 100644
--- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
@@ -329,8 +329,7 @@ VKPipelineCache::DecompileShaders(const GraphicsPipelineCacheKey& key) {
329 329
330 const GPUVAddr gpu_addr = GetShaderAddress(system, program_enum); 330 const GPUVAddr gpu_addr = GetShaderAddress(system, program_enum);
331 const auto cpu_addr = memory_manager.GpuToCpuAddress(gpu_addr); 331 const auto cpu_addr = memory_manager.GpuToCpuAddress(gpu_addr);
332 ASSERT(cpu_addr); 332 const auto shader = cpu_addr ? TryGet(*cpu_addr) : null_shader;
333 const auto shader = TryGet(*cpu_addr);
334 ASSERT(shader); 333 ASSERT(shader);
335 334
336 const std::size_t stage = index == 0 ? 0 : index - 1; // Stage indices are 0 - 5 335 const std::size_t stage = index == 0 ? 0 : index - 1; // Stage indices are 0 - 5
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index 17a2efe8e..be5b77fae 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -532,14 +532,14 @@ void RasterizerVulkan::OnCPUWrite(VAddr addr, u64 size) {
532 return; 532 return;
533 } 533 }
534 texture_cache.OnCPUWrite(addr, size); 534 texture_cache.OnCPUWrite(addr, size);
535 pipeline_cache.InvalidateRegion(addr, size); 535 pipeline_cache.OnCPUWrite(addr, size);
536 buffer_cache.OnCPUWrite(addr, size); 536 buffer_cache.OnCPUWrite(addr, size);
537 query_cache.InvalidateRegion(addr, size);
538} 537}
539 538
540void RasterizerVulkan::SyncGuestHost() { 539void RasterizerVulkan::SyncGuestHost() {
541 texture_cache.SyncGuestHost(); 540 texture_cache.SyncGuestHost();
542 buffer_cache.SyncGuestHost(); 541 buffer_cache.SyncGuestHost();
542 pipeline_cache.SyncGuestHost();
543} 543}
544 544
545void RasterizerVulkan::SignalSemaphore(GPUVAddr addr, u32 value) { 545void RasterizerVulkan::SignalSemaphore(GPUVAddr addr, u32 value) {