aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Vulkan/BufferManager.cs
diff options
context:
space:
mode:
authorsunshineinabox <aqemail@gmail.com>2024-06-26 05:21:44 -0700
committerGitHub <noreply@github.com>2024-06-26 09:21:44 -0300
commit1a0a351a152f837094699e78f51f8970e131bd1a (patch)
tree0eb83d8b5fc76ba3470b06876a3e970c754c5de2 /src/Ryujinx.Graphics.Vulkan/BufferManager.cs
parentbd3335c143d2420875ff6ea0abd7487deb5a9ddc (diff)
Resolve some Vulkan validation errors (#6915)1.1.1340
* Fix some validation errors * Whitespace correction * Resolve some runtime validation errors. * Whitespace * Properly fix usage realted validation error by setting Extended Usage image creation flag. * Only if supported * Remove checking extension for features that are core functionality of Vulkan 1.2
Diffstat (limited to 'src/Ryujinx.Graphics.Vulkan/BufferManager.cs')
-rw-r--r--src/Ryujinx.Graphics.Vulkan/BufferManager.cs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/Ryujinx.Graphics.Vulkan/BufferManager.cs b/src/Ryujinx.Graphics.Vulkan/BufferManager.cs
index e73cde83..1b6ac998 100644
--- a/src/Ryujinx.Graphics.Vulkan/BufferManager.cs
+++ b/src/Ryujinx.Graphics.Vulkan/BufferManager.cs
@@ -103,12 +103,19 @@ namespace Ryujinx.Graphics.Vulkan
usage |= BufferUsageFlags.IndirectBufferBit;
}
+ var externalMemoryBuffer = new ExternalMemoryBufferCreateInfo
+ {
+ SType = StructureType.ExternalMemoryBufferCreateInfo,
+ HandleTypes = ExternalMemoryHandleTypeFlags.HostAllocationBitExt,
+ };
+
var bufferCreateInfo = new BufferCreateInfo
{
SType = StructureType.BufferCreateInfo,
Size = (ulong)size,
Usage = usage,
SharingMode = SharingMode.Exclusive,
+ PNext = &externalMemoryBuffer,
};
gd.Api.CreateBuffer(_device, in bufferCreateInfo, null, out var buffer).ThrowOnError();