forked from Mirror/Ryujinx
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:
parent
7805d27e67
commit
fa32ef9275
2 changed files with 4 additions and 3 deletions
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 ||
|
||||||
|
|
Loading…
Reference in a new issue