2019-11-30 21:53:09 -05:00
|
|
|
namespace Ryujinx.Graphics.Shader
|
|
|
|
{
|
|
|
|
public struct ShaderCapabilities
|
|
|
|
{
|
2019-12-08 21:55:22 -05:00
|
|
|
// Initialize with default values for Maxwell.
|
2019-12-11 01:54:18 -05:00
|
|
|
private static readonly ShaderCapabilities _default = new ShaderCapabilities(0x8000, 0xc000, 16, true);
|
2019-11-30 21:53:09 -05:00
|
|
|
|
|
|
|
public static ShaderCapabilities Default => _default;
|
|
|
|
|
2019-12-11 01:54:18 -05:00
|
|
|
public int MaximumViewportDimensions { get; }
|
|
|
|
public int MaximumComputeSharedMemorySize { get; }
|
|
|
|
public int StorageBufferOffsetAlignment { get; }
|
|
|
|
public bool SupportsNonConstantTextureOffset { get; }
|
2019-11-30 21:53:09 -05:00
|
|
|
|
2019-12-06 17:37:00 -05:00
|
|
|
public ShaderCapabilities(
|
2019-12-11 01:54:18 -05:00
|
|
|
int maximumViewportDimensions,
|
|
|
|
int maximumComputeSharedMemorySize,
|
|
|
|
int storageBufferOffsetAlignment,
|
|
|
|
bool supportsNonConstantTextureOffset)
|
2019-11-30 21:53:09 -05:00
|
|
|
{
|
2019-12-11 01:54:18 -05:00
|
|
|
MaximumViewportDimensions = maximumViewportDimensions;
|
|
|
|
MaximumComputeSharedMemorySize = maximumComputeSharedMemorySize;
|
|
|
|
StorageBufferOffsetAlignment = storageBufferOffsetAlignment;
|
|
|
|
SupportsNonConstantTextureOffset = supportsNonConstantTextureOffset;
|
2019-11-30 21:53:09 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|