ソースを参照

MacOS: Allow barriers inside a render pass for non-Apple GPUs and don't treat as TBDR (#5440)

* MoltenVK: Allow barriers inside a render pass on non-Apple GPUs

* Don't treat all non-Apple GPUs using MoltenVK as TBDR
gleng 2 年 前
コミット
fa32ef9275

+ 2 - 2
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();
                 }

+ 2 - 1
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 ||