From 626cc415d982fd14fe4f65ba66ee327a05b72c88 Mon Sep 17 00:00:00 2001 From: Artem Kharytoniuk Date: Tue, 9 May 2017 23:35:43 +0300 Subject: [PATCH] Fixed crash with NULL current_descriptor_sets. After we create image we consider it becomes bound to current tmu, so we should update current_descriptor_sets in vk_create_image. --- src/engine/renderer/tr_backend.c | 1 - src/engine/renderer/vk.cpp | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/renderer/tr_backend.c b/src/engine/renderer/tr_backend.c index c76815a..74a5cb7 100644 --- a/src/engine/renderer/tr_backend.c +++ b/src/engine/renderer/tr_backend.c @@ -718,7 +718,6 @@ void RE_UploadCinematic (int w, int h, int cols, int rows, const byte *data, int vkFreeDescriptorSets(vk.device, vk.descriptor_pool, 1, &image.descriptor_set); image = vk_create_image(cols, rows, 1, false); vk_upload_image_data(image.handle, cols, rows, false, data); - vk_resources.current_descriptor_sets[glState.currenttmu] = image.descriptor_set; } } else { if (dirty) { diff --git a/src/engine/renderer/vk.cpp b/src/engine/renderer/vk.cpp index bc0fe48..e71d29f 100644 --- a/src/engine/renderer/vk.cpp +++ b/src/engine/renderer/vk.cpp @@ -1292,6 +1292,7 @@ Vk_Image vk_create_image(int width, int height, int mip_levels, bool repeat_text VK_CHECK(vkAllocateDescriptorSets(vk.device, &desc, &image.descriptor_set)); vk_update_descriptor_set(image.descriptor_set, image.view, mip_levels > 1, repeat_texture); + vk_resources.current_descriptor_sets[glState.currenttmu] = image.descriptor_set; } return image;