From 6a0fa29a0f2bfcceecd780b12bd1f5a03e993015 Mon Sep 17 00:00:00 2001 From: ParantezTech <12572227+par274@users.noreply.github.com> Date: Thu, 8 Oct 2026 02:53:23 +0300 Subject: [PATCH] [Vulkan] Write portable buffer words into shader data --- .../VideoOut/VulkanVideoPresenter.Descriptors.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/SharpEmu.Libs/VideoOut/VulkanVideoPresenter.Descriptors.cs b/src/SharpEmu.Libs/VideoOut/VulkanVideoPresenter.Descriptors.cs index cdc3b6d..a78e818 100644 --- a/src/SharpEmu.Libs/VideoOut/VulkanVideoPresenter.Descriptors.cs +++ b/src/SharpEmu.Libs/VideoOut/VulkanVideoPresenter.Descriptors.cs @@ -569,6 +569,12 @@ internal static unsafe partial class VulkanVideoPresenter var dword = layout.MemoryOffsetDword + (uint)index / 4; var shift = ((uint)index % 4) * 8; shaderData[dword] |= memoryOffset << (int)shift; + if (index < layout.BufferWordCount / PortableBufferWord.DwordCount) + { + var portableDword = layout.BufferWordDword + (uint)index * PortableBufferWord.DwordCount; + (shaderData[portableDword], shaderData[portableDword + 1]) = + PortableBufferWord.Pack([descriptor.Word0, descriptor.Word1, descriptor.Word2, descriptor.Word3]); + } } prepared.Descriptors.Buffers = views;