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
This commit is contained in:
gleng 2023-07-10 18:10:23 -07:00 committed by GitHub
parent 7805d27e67
commit fa32ef9275
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 3 deletions

View file

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

View file

@ -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 ||