diff options
author | Mary <mary@mary.zone> | 2023-02-15 09:41:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-15 08:41:48 +0000 |
commit | 17078ad929f9942d2b03ede00b30867aeab924de (patch) | |
tree | 172280b47a38ecf7d1ff101d61907a37daa2802e /Ryujinx.Graphics.Vulkan/PipelineBase.cs | |
parent | 32450d45de7889318e0f289fc52b3fffc62edf60 (diff) |
vulkan: Respect VK_KHR_portability_subset vertex stride alignment (#4419)1.1.621
* vulkan: Respect VK_KHR_portability_subset vertex stride alignment
We were hardcoding alignment to 4, but by specs it can be any values that
is a power of 2.
This also enable VK_KHR_portability_subset if present as per specs
requirements.
* address gdkchan's comment
* Make NeedsVertexBufferAlignment internal
Diffstat (limited to 'Ryujinx.Graphics.Vulkan/PipelineBase.cs')
-rw-r--r-- | Ryujinx.Graphics.Vulkan/PipelineBase.cs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 02b1c389..8ed39ee2 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -1,4 +1,5 @@ -using Ryujinx.Graphics.GAL; +using Ryujinx.Common; +using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Shader; using Silk.NET.Vulkan; using System; @@ -1136,7 +1137,7 @@ namespace Ryujinx.Graphics.Vulkan buffer.Dispose(); - if (!Gd.Capabilities.PortabilitySubset.HasFlag(PortabilitySubsetFlags.VertexBufferAlignment4B) && + if (Gd.Capabilities.VertexBufferAlignment < 2 && (vertexBuffer.Stride % FormatExtensions.MaxBufferFormatScalarSize) == 0) { buffer = new VertexBufferState( |