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;