From a2d3dbf74e3cb6e56437548e20b6f622dbe657a0 Mon Sep 17 00:00:00 2001 From: Rachael Alexanderson Date: Sun, 25 Apr 2021 02:06:40 -0400 Subject: [PATCH] - Change `VKHardwareTexture::CreateTexture` to allow a null buffer to be passed. This is used by the software renderer to create an arbitrary texture for screen rendering. --- src/common/rendering/vulkan/textures/vk_hwtexture.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/common/rendering/vulkan/textures/vk_hwtexture.cpp b/src/common/rendering/vulkan/textures/vk_hwtexture.cpp index 6178549ab..4360fc06e 100644 --- a/src/common/rendering/vulkan/textures/vk_hwtexture.cpp +++ b/src/common/rendering/vulkan/textures/vk_hwtexture.cpp @@ -270,7 +270,9 @@ uint8_t *VkHardwareTexture::MapBuffer() unsigned int VkHardwareTexture::CreateTexture(unsigned char * buffer, int w, int h, int texunit, bool mipmap, const char *name) { - CreateTexture(w, h, mTexelsize, mTexelsize == 4 ? VK_FORMAT_B8G8R8A8_UNORM : VK_FORMAT_R8_UNORM, buffer, mipmap); + // CreateTexture is used by the software renderer to create a screen output but without any screen data. + if (buffer) + CreateTexture(w, h, mTexelsize, mTexelsize == 4 ? VK_FORMAT_B8G8R8A8_UNORM : VK_FORMAT_R8_UNORM, buffer, mipmap); return 0; }