diff options
author | gleng <906346+gleng@users.noreply.github.com> | 2023-07-10 18:10:23 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-11 03:10:23 +0200 |
commit | fa32ef92755a51a2567a1bcbb35fb34886b5f979 (patch) | |
tree | 7966da0fd4edd49ced9707ca69041cde9cf49665 /src | |
parent | 7805d27e675c9c8c620bdd327810b12c644708e9 (diff) |
MacOS: Allow barriers inside a render pass for non-Apple GPUs and don't treat as TBDR (#5440)1.1.958
* MoltenVK: Allow barriers inside a render pass on non-Apple GPUs
* Don't treat all non-Apple GPUs using MoltenVK as TBDR
Diffstat (limited to 'src')
-rw-r--r-- | src/Ryujinx.Graphics.Vulkan/PipelineBase.cs | 4 | ||||
-rw-r--r-- | src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 5ee92691..7f175d93 100644 --- a/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -144,9 +144,9 @@ namespace Ryujinx.Graphics.Vulkan { _drawCountSinceBarrier = DrawCount; - // Barriers apparently have no effect inside a render pass on MoltenVK. + // Barriers are not supported inside a render pass on Apple GPUs. // As a workaround, end the render pass. - if (Gd.IsMoltenVk) + if (Gd.Vendor == Vendor.Apple) { EndRenderPass(); } diff --git a/src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs b/src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs index d0bd1b2c..b9b1ba91 100644 --- a/src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs +++ b/src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs @@ -680,7 +680,8 @@ namespace Ryujinx.Graphics.Vulkan IsAmdWindows = Vendor == Vendor.Amd && OperatingSystem.IsWindows(); IsIntelWindows = Vendor == Vendor.Intel && OperatingSystem.IsWindows(); - IsTBDR = IsMoltenVk || + IsTBDR = + Vendor == Vendor.Apple || Vendor == Vendor.Qualcomm || Vendor == Vendor.ARM || Vendor == Vendor.Broadcom || |