forked from Mirror/Ryujinx
HwCapabilities: Divide Intel into IntelWindows and IntelUnix (#2219)
as suggested by gdkchan
This commit is contained in:
parent
d23511c25c
commit
7719909397
3 changed files with 9 additions and 6 deletions
|
@ -41,7 +41,7 @@ namespace Ryujinx.Graphics.OpenGL
|
|||
FramebufferAttachment attachment = FramebufferAttachment.ColorAttachment0 + index;
|
||||
|
||||
if (HwCapabilities.Vendor == HwCapabilities.GpuVendor.Amd ||
|
||||
HwCapabilities.Vendor == HwCapabilities.GpuVendor.Intel)
|
||||
HwCapabilities.Vendor == HwCapabilities.GpuVendor.IntelWindows)
|
||||
{
|
||||
GL.FramebufferTexture(FramebufferTarget.Framebuffer, attachment, color?.GetIncompatibleFormatViewHandle() ?? 0, 0);
|
||||
}
|
||||
|
@ -95,7 +95,7 @@ namespace Ryujinx.Graphics.OpenGL
|
|||
public void SignalModified()
|
||||
{
|
||||
if (HwCapabilities.Vendor == HwCapabilities.GpuVendor.Amd ||
|
||||
HwCapabilities.Vendor == HwCapabilities.GpuVendor.Intel)
|
||||
HwCapabilities.Vendor == HwCapabilities.GpuVendor.IntelWindows)
|
||||
{
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,8 @@ namespace Ryujinx.Graphics.OpenGL
|
|||
{
|
||||
Unknown,
|
||||
Amd,
|
||||
Intel,
|
||||
IntelWindows,
|
||||
IntelUnix,
|
||||
Nvidia
|
||||
}
|
||||
|
||||
|
@ -34,7 +35,7 @@ namespace Ryujinx.Graphics.OpenGL
|
|||
public static bool SupportsViewportSwizzle => _supportsViewportSwizzle.Value;
|
||||
public static bool SupportsSeamlessCubemapPerTexture => _supportsSeamlessCubemapPerTexture.Value;
|
||||
public static bool SupportsNonConstantTextureOffset => _gpuVendor.Value == GpuVendor.Nvidia;
|
||||
public static bool RequiresSyncFlush => _gpuVendor.Value == GpuVendor.Amd || _gpuVendor.Value == GpuVendor.Intel;
|
||||
public static bool RequiresSyncFlush => _gpuVendor.Value == GpuVendor.Amd || _gpuVendor.Value == GpuVendor.IntelWindows || _gpuVendor.Value == GpuVendor.IntelUnix;
|
||||
|
||||
public static int MaximumComputeSharedMemorySize => _maximumComputeSharedMemorySize.Value;
|
||||
public static int StorageBufferOffsetAlignment => _storageBufferOffsetAlignment.Value;
|
||||
|
@ -71,7 +72,9 @@ namespace Ryujinx.Graphics.OpenGL
|
|||
}
|
||||
else if (vendor == "intel")
|
||||
{
|
||||
return GpuVendor.Intel;
|
||||
string renderer = GL.GetString(StringName.Renderer).ToLower();
|
||||
|
||||
return renderer.Contains("mesa") ? GpuVendor.IntelUnix : GpuVendor.IntelWindows;
|
||||
}
|
||||
else if (vendor == "ati technologies inc." || vendor == "advanced micro devices, inc.")
|
||||
{
|
||||
|
|
|
@ -205,7 +205,7 @@ namespace Ryujinx.Graphics.OpenGL.Image
|
|||
int copyWidth = sizeInBlocks ? BitUtils.DivRoundUp(width, blockWidth) : width;
|
||||
int copyHeight = sizeInBlocks ? BitUtils.DivRoundUp(height, blockHeight) : height;
|
||||
|
||||
if (HwCapabilities.Vendor == HwCapabilities.GpuVendor.Intel)
|
||||
if (HwCapabilities.Vendor == HwCapabilities.GpuVendor.IntelWindows)
|
||||
{
|
||||
GL.CopyImageSubData(
|
||||
src.Storage.Handle,
|
||||
|
|
Loading…
Reference in a new issue