From 868206c1e89bcc1069e1129755f834d62e987732 Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Sat, 20 Jan 2024 00:36:52 +0000 Subject: [PATCH] rendervulkan: Add VkExternalMemoryImageCreateInfo for any flippable surface Fixes some corruption on NVIDIA --- src/rendervulkan.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/rendervulkan.cpp b/src/rendervulkan.cpp index 8194ca2bc..4715970db 100644 --- a/src/rendervulkan.cpp +++ b/src/rendervulkan.cpp @@ -1965,6 +1965,12 @@ bool CVulkanTexture::BInit( uint32_t width, uint32_t height, uint32_t depth, uin .pDrmFormatModifiers = modifiers.data(), }; + externalImageCreateInfo = { + .sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, + .pNext = std::exchange(imageInfo.pNext, &externalImageCreateInfo), + .handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT, + }; + imageInfo.tiling = tiling = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT; }