mirror of
https://github.com/ryujinx-mirror/ryujinx.git
synced 2024-12-23 15:25:45 +00:00
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;
|
FramebufferAttachment attachment = FramebufferAttachment.ColorAttachment0 + index;
|
||||||
|
|
||||||
if (HwCapabilities.Vendor == HwCapabilities.GpuVendor.Amd ||
|
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);
|
GL.FramebufferTexture(FramebufferTarget.Framebuffer, attachment, color?.GetIncompatibleFormatViewHandle() ?? 0, 0);
|
||||||
}
|
}
|
||||||
|
@ -95,7 +95,7 @@ namespace Ryujinx.Graphics.OpenGL
|
||||||
public void SignalModified()
|
public void SignalModified()
|
||||||
{
|
{
|
||||||
if (HwCapabilities.Vendor == HwCapabilities.GpuVendor.Amd ||
|
if (HwCapabilities.Vendor == HwCapabilities.GpuVendor.Amd ||
|
||||||
HwCapabilities.Vendor == HwCapabilities.GpuVendor.Intel)
|
HwCapabilities.Vendor == HwCapabilities.GpuVendor.IntelWindows)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -18,7 +18,8 @@ namespace Ryujinx.Graphics.OpenGL
|
||||||
{
|
{
|
||||||
Unknown,
|
Unknown,
|
||||||
Amd,
|
Amd,
|
||||||
Intel,
|
IntelWindows,
|
||||||
|
IntelUnix,
|
||||||
Nvidia
|
Nvidia
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,7 +35,7 @@ namespace Ryujinx.Graphics.OpenGL
|
||||||
public static bool SupportsViewportSwizzle => _supportsViewportSwizzle.Value;
|
public static bool SupportsViewportSwizzle => _supportsViewportSwizzle.Value;
|
||||||
public static bool SupportsSeamlessCubemapPerTexture => _supportsSeamlessCubemapPerTexture.Value;
|
public static bool SupportsSeamlessCubemapPerTexture => _supportsSeamlessCubemapPerTexture.Value;
|
||||||
public static bool SupportsNonConstantTextureOffset => _gpuVendor.Value == GpuVendor.Nvidia;
|
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 MaximumComputeSharedMemorySize => _maximumComputeSharedMemorySize.Value;
|
||||||
public static int StorageBufferOffsetAlignment => _storageBufferOffsetAlignment.Value;
|
public static int StorageBufferOffsetAlignment => _storageBufferOffsetAlignment.Value;
|
||||||
|
@ -71,7 +72,9 @@ namespace Ryujinx.Graphics.OpenGL
|
||||||
}
|
}
|
||||||
else if (vendor == "intel")
|
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.")
|
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 copyWidth = sizeInBlocks ? BitUtils.DivRoundUp(width, blockWidth) : width;
|
||||||
int copyHeight = sizeInBlocks ? BitUtils.DivRoundUp(height, blockHeight) : height;
|
int copyHeight = sizeInBlocks ? BitUtils.DivRoundUp(height, blockHeight) : height;
|
||||||
|
|
||||||
if (HwCapabilities.Vendor == HwCapabilities.GpuVendor.Intel)
|
if (HwCapabilities.Vendor == HwCapabilities.GpuVendor.IntelWindows)
|
||||||
{
|
{
|
||||||
GL.CopyImageSubData(
|
GL.CopyImageSubData(
|
||||||
src.Storage.Handle,
|
src.Storage.Handle,
|
||||||
|
|
Loading…
Reference in a new issue