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