mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-10-16 14:14:40 +00:00
vulkan: Intel Arc on Linux also has the push descriptors bug.
This commit is contained in:
parent
8d0e28ed9d
commit
5fb0b5e7ec
@ -160,7 +160,7 @@ namespace Ryujinx.Graphics.Vulkan
|
|||||||
private static bool HasPushDescriptorsBug(VulkanRenderer gd)
|
private static bool HasPushDescriptorsBug(VulkanRenderer gd)
|
||||||
{
|
{
|
||||||
// Those GPUs/drivers do not work properly with push descriptors, so we must force disable them.
|
// Those GPUs/drivers do not work properly with push descriptors, so we must force disable them.
|
||||||
return gd.IsNvidiaPreTuring || (gd.IsIntelArc && gd.IsIntelWindows);
|
return gd.IsNvidiaPreTuring || (gd.IsIntelArc && (gd.IsIntelWindows && gd.IsIntelLinux));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static bool CanUsePushDescriptors(VulkanRenderer gd, ResourceLayout layout, bool isCompute)
|
private static bool CanUsePushDescriptors(VulkanRenderer gd, ResourceLayout layout, bool isCompute)
|
||||||
|
@ -91,6 +91,7 @@ namespace Ryujinx.Graphics.Vulkan
|
|||||||
internal Vendor Vendor { get; private set; }
|
internal Vendor Vendor { get; private set; }
|
||||||
internal bool IsAmdWindows { get; private set; }
|
internal bool IsAmdWindows { get; private set; }
|
||||||
internal bool IsIntelWindows { get; private set; }
|
internal bool IsIntelWindows { get; private set; }
|
||||||
|
internal bool IsIntelLinux { get; private set; }
|
||||||
internal bool IsAmdGcn { get; private set; }
|
internal bool IsAmdGcn { get; private set; }
|
||||||
internal bool IsAmdRdna3 { get; private set; }
|
internal bool IsAmdRdna3 { get; private set; }
|
||||||
internal bool IsNvidiaPreTuring { get; private set; }
|
internal bool IsNvidiaPreTuring { get; private set; }
|
||||||
@ -359,6 +360,7 @@ 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();
|
||||||
|
IsIntelLinux = Vendor == Vendor.Intel && OperatingSystem.IsLinux();
|
||||||
IsTBDR =
|
IsTBDR =
|
||||||
Vendor is Vendor.Apple or
|
Vendor is Vendor.Apple or
|
||||||
Vendor.Qualcomm or
|
Vendor.Qualcomm or
|
||||||
@ -398,7 +400,7 @@ namespace Ryujinx.Graphics.Vulkan
|
|||||||
}
|
}
|
||||||
else if (Vendor == Vendor.Intel)
|
else if (Vendor == Vendor.Intel)
|
||||||
{
|
{
|
||||||
IsIntelArc = GpuRenderer.StartsWith("Intel(R) Arc(TM)");
|
IsIntelArc = GpuRenderer.StartsWithIgnoreCase("Intel(R) Arc(TM)");
|
||||||
}
|
}
|
||||||
|
|
||||||
IsQualcommProprietary = hasDriverProperties && driverProperties.DriverID == DriverId.QualcommProprietary;
|
IsQualcommProprietary = hasDriverProperties && driverProperties.DriverID == DriverId.QualcommProprietary;
|
||||||
|
Loading…
Reference in New Issue
Block a user