Don't make Intel Mesa pay for Intel Windows bugs

This commit is contained in:
gdk 2021-12-09 20:07:15 -03:00 committed by riperiperi
parent cd01a2f74a
commit 5738b66b75
2 changed files with 5 additions and 2 deletions

View file

@ -243,7 +243,7 @@ namespace Ryujinx.Graphics.Vulkan
data.Length); data.Length);
// Not flushing commands here causes glitches on Intel (driver bug?) // Not flushing commands here causes glitches on Intel (driver bug?)
if (_gd.Vendor == Vendor.Intel) if (_gd.IsIntelWindows)
{ {
_gd.FlushAllCommands(); _gd.FlushAllCommands();
} }

View file

@ -73,6 +73,7 @@ namespace Ryujinx.Graphics.Vulkan
private Func<string[]> GetRequiredExtensions; private Func<string[]> GetRequiredExtensions;
internal Vendor Vendor { get; private set; } internal Vendor Vendor { get; private set; }
internal bool IsIntelWindows { get; private set; }
public string GpuVendor { get; private set; } public string GpuVendor { get; private set; }
public string GpuRenderer { get; private set; } public string GpuRenderer { get; private set; }
public string GpuVersion { get; private set; } public string GpuVersion { get; private set; }
@ -266,7 +267,7 @@ namespace Ryujinx.Graphics.Vulkan
return new Capabilities( return new Capabilities(
api: TargetApi.Vulkan, api: TargetApi.Vulkan,
GpuVendor, GpuVendor,
hasFrontFacingBug: Vendor == Vendor.Intel && RuntimeInformation.IsOSPlatform(OSPlatform.Windows), hasFrontFacingBug: IsIntelWindows,
hasVectorIndexingBug: false, hasVectorIndexingBug: false,
supportsAstcCompression: features.TextureCompressionAstcLdr, supportsAstcCompression: features.TextureCompressionAstcLdr,
supports3DTextureCompression: true, supports3DTextureCompression: true,
@ -341,6 +342,8 @@ namespace Ryujinx.Graphics.Vulkan
_ => Vendor.Unknown _ => Vendor.Unknown
}; };
IsIntelWindows = Vendor == Vendor.Intel && RuntimeInformation.IsOSPlatform(OSPlatform.Windows);
GpuVendor = vendorName; GpuVendor = vendorName;
GpuRenderer = Marshal.PtrToStringAnsi((IntPtr)properties.DeviceName); GpuRenderer = Marshal.PtrToStringAnsi((IntPtr)properties.DeviceName);
GpuVersion = $"Vulkan v{ParseStandardVulkanVersion(properties.ApiVersion)}, Driver v{ParseDriverVersion(ref properties)}"; GpuVersion = $"Vulkan v{ParseStandardVulkanVersion(properties.ApiVersion)}, Driver v{ParseDriverVersion(ref properties)}";