aboutsummaryrefslogtreecommitdiff
path: root/src/platform/vulkan/vulkan_resources.cpp
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-09-22 06:57:16 +0200
committerhachem <im@hachem.wtf>2026-09-22 06:57:16 +0200
commitd7c1ced08d5d78fcb239550404db4e67d4357a19 (patch)
tree9c0e218b096d138075cbf6a48e2562d33a8f94ed /src/platform/vulkan/vulkan_resources.cpp
parent270eda6f558c972ec86ad0580f1d3d18afc83a94 (diff)
fix: windows supportHEADmain
Diffstat (limited to 'src/platform/vulkan/vulkan_resources.cpp')
-rw-r--r--src/platform/vulkan/vulkan_resources.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/platform/vulkan/vulkan_resources.cpp b/src/platform/vulkan/vulkan_resources.cpp
index ee2091b..05cb1be 100644
--- a/src/platform/vulkan/vulkan_resources.cpp
+++ b/src/platform/vulkan/vulkan_resources.cpp
@@ -77,7 +77,10 @@ namespace Donut::RHI
VkImageCreateInfo ici{ VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO };
ici.imageType = VK_IMAGE_TYPE_2D; ici.format = cfmt; ici.extent = { (uint32_t)w, (uint32_t)h, 1 };
ici.mipLevels = 1; ici.arrayLayers = 1; ici.samples = VK_SAMPLE_COUNT_1_BIT;
- ici.tiling = VK_IMAGE_TILING_OPTIMAL; ici.usage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT;
+ // TRANSFER_SRC because export reads targets back with a copy. MoltenVK never
+ // minded it missing; a desktop driver is within its rights to hand back garbage.
+ ici.tiling = VK_IMAGE_TILING_OPTIMAL;
+ ici.usage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT;
vkCreateImage(m_device, &ici, nullptr, &rt->m_image);
VkMemoryRequirements req{}; vkGetImageMemoryRequirements(m_device, rt->m_image, &req);
VkMemoryAllocateInfo ai{ VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO };