From 282f166e7a60fdee42a82dcdf128e01ac1aa9cbd Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Sun, 12 Jul 2020 00:40:04 +1000 Subject: [PATCH] Vulkan/StagingBuffer: Don't try to invalidate unmapped buffer Fixes crash on Mali. --- src/common/vulkan/staging_buffer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/vulkan/staging_buffer.cpp b/src/common/vulkan/staging_buffer.cpp index 7272b794d..45b329110 100644 --- a/src/common/vulkan/staging_buffer.cpp +++ b/src/common/vulkan/staging_buffer.cpp @@ -84,7 +84,7 @@ void StagingBuffer::Unmap() void StagingBuffer::FlushCPUCache(VkDeviceSize offset, VkDeviceSize size) { Assert(offset >= m_map_offset); - if (m_coherent) + if (m_coherent || !IsMapped()) return; VkMappedMemoryRange range = {VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE, nullptr, m_memory, offset - m_map_offset, size}; @@ -129,7 +129,7 @@ void StagingBuffer::FlushGPUCache(VkCommandBuffer command_buffer, VkAccessFlagBi void StagingBuffer::InvalidateCPUCache(VkDeviceSize offset, VkDeviceSize size) { Assert(offset >= m_map_offset); - if (m_coherent) + if (m_coherent || !IsMapped()) return; VkMappedMemoryRange range = {VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE, nullptr, m_memory, offset - m_map_offset, size};