diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-06-02 18:50:01 -0300 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-22 21:51:34 -0400 |
commit | b02c78b276f449318bdc787a35d123df01c0bc6d (patch) | |
tree | ef3eb259f27e24cdac8565d8f8bfe08565756e8a /src | |
parent | 8f099af6a8ea691c5f8f1403848ca42077b34bd6 (diff) |
vk_buffer_cache: Handle null texture buffers
Fixes a crash on Age of Calamity cutscenes.
Diffstat (limited to 'src')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_buffer_cache.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp index 2da3de6def..f4b3ee95c0 100644 --- a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp @@ -97,6 +97,10 @@ Buffer::Buffer(BufferCacheRuntime& runtime, VideoCore::RasterizerInterface& rast } VkBufferView Buffer::View(u32 offset, u32 size, VideoCore::Surface::PixelFormat format) { + if (!device) { + // Null buffer, return a null descriptor + return VK_NULL_HANDLE; + } const auto it{std::ranges::find_if(views, [offset, size, format](const BufferView& view) { return offset == view.offset && size == view.size && format == view.format; })}; |