diff options
| author | 2020-05-24 15:23:38 -0400 | |
|---|---|---|
| committer | 2020-05-24 15:23:38 -0400 | |
| commit | 1adabdac7fa0c5804b0472fa1cd215efaecd119b (patch) | |
| tree | 279af5e18ec3fedf1f8d979cf162ed77e9e4f46f /src/video_core/renderer_vulkan | |
| parent | Merge pull request #3964 from ReinUsesLisp/arb-integration (diff) | |
| parent | RasterizerCache: Correct documentation. (diff) | |
| download | yuzu-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.cpp | 3 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_rasterizer.cpp | 4 |
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 | ||
| 540 | void RasterizerVulkan::SyncGuestHost() { | 539 | void 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 | ||
| 545 | void RasterizerVulkan::SignalSemaphore(GPUVAddr addr, u32 value) { | 545 | void RasterizerVulkan::SignalSemaphore(GPUVAddr addr, u32 value) { |