From d7b685121790e9fad41018aa7b8b49aabd4dd9b5 Mon Sep 17 00:00:00 2001 From: emil28092005 Date: Fri, 19 Jun 2026 08:56:25 +0300 Subject: [PATCH] fix: replace all 0x2000 with 0x1000 in capture barriers 0x2000 = VK_ACCESS_2_HOST_READ_BIT (wrong for GPU transfer) 0x1000 = VK_ACCESS_2_TRANSFER_WRITE_BIT (correct for copy operations) --- Videos/cortex_20260619_085526.mp4 | Bin 0 -> 261 bytes src/Engine.Graphics.Vulkan/VulkanRenderer.cs | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 Videos/cortex_20260619_085526.mp4 diff --git a/Videos/cortex_20260619_085526.mp4 b/Videos/cortex_20260619_085526.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..862f49648777ee248bc8b232c07d0600e621c1fa GIT binary patch literal 261 zcmZQzU{FXasVvAW&d+6FU}6B#Kx~v)mTZ_?U}DI?z`&7Kl$r{nb5jyafb`Ye{QNQ? zos(OZkpiTV0P_nlhmnB+h!6mU0~AK%J0MhIV=(~*6H8M{5`lDNZYr1tsZ-2I$teOc yKp;0Ivna8kAP2&OkUE(;#UKZ(tSrgT2huV?_k#=pTkn%tmS$$8XRK#vU;qH;LL|HZ literal 0 HcmV?d00001 diff --git a/src/Engine.Graphics.Vulkan/VulkanRenderer.cs b/src/Engine.Graphics.Vulkan/VulkanRenderer.cs index 310167f..b2b666e 100644 --- a/src/Engine.Graphics.Vulkan/VulkanRenderer.cs +++ b/src/Engine.Graphics.Vulkan/VulkanRenderer.cs @@ -110,7 +110,7 @@ public sealed unsafe class VulkanRenderer : IRenderer, Engine.Graphics.IScreensh // Transition: ColorAttachmentOptimal → TransferSrcOptimal TransitionImageLayout(cmd, _swapchain.Images[imageIndex], VkImageLayout.ColorAttachmentOptimal, VkImageLayout.TransferSrcOptimal, - 0x400, 0x100, 0x10000, 0x2000); + 0x400, 0x100, 0x10000, 0x1000); // Copy image to buffer var region = new VkBufferImageCopyRegion @@ -135,7 +135,7 @@ public sealed unsafe class VulkanRenderer : IRenderer, Engine.Graphics.IScreensh // Transition back: TransferSrcOptimal → ColorAttachmentOptimal TransitionImageLayout(cmd, _swapchain.Images[imageIndex], VkImageLayout.TransferSrcOptimal, VkImageLayout.ColorAttachmentOptimal, - 0x10000, 0x2000, 0x400, 0x100); + 0x10000, 0x1000, 0x400, 0x100); return null; // Data will be read next frame after GPU completes }