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; _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. // As a workaround, end the render pass.
if (Gd.IsMoltenVk) if (Gd.Vendor == Vendor.Apple)
{ {
EndRenderPass(); EndRenderPass();
} }

View file

@ -680,7 +680,8 @@ namespace Ryujinx.Graphics.Vulkan
IsAmdWindows = Vendor == Vendor.Amd && OperatingSystem.IsWindows(); IsAmdWindows = Vendor == Vendor.Amd && OperatingSystem.IsWindows();
IsIntelWindows = Vendor == Vendor.Intel && OperatingSystem.IsWindows(); IsIntelWindows = Vendor == Vendor.Intel && OperatingSystem.IsWindows();
IsTBDR = IsMoltenVk || IsTBDR =
Vendor == Vendor.Apple ||
Vendor == Vendor.Qualcomm || Vendor == Vendor.Qualcomm ||
Vendor == Vendor.ARM || Vendor == Vendor.ARM ||
Vendor == Vendor.Broadcom || Vendor == Vendor.Broadcom ||