mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-12-16 23:36:44 +00:00
99445dd0a6
* Support coherent images * Add support for fragment shader interlock * Change to tree based match approach * Refactor + check for branch targets and external registers * Make detection more robust * Use Intel fragment shader ordering if interlock is not available, use nothing if both are not available * Remove unused field
57 lines
2.6 KiB
C#
57 lines
2.6 KiB
C#
namespace Ryujinx.Graphics.GAL
|
|
{
|
|
public struct Capabilities
|
|
{
|
|
public bool HasFrontFacingBug { get; }
|
|
public bool HasVectorIndexingBug { get; }
|
|
|
|
public bool SupportsAstcCompression { get; }
|
|
public bool SupportsFragmentShaderInterlock { get; }
|
|
public bool SupportsFragmentShaderOrderingIntel { get; }
|
|
public bool SupportsImageLoadFormatted { get; }
|
|
public bool SupportsMismatchingViewFormat { get; }
|
|
public bool SupportsNonConstantTextureOffset { get; }
|
|
public bool SupportsShaderBallot { get; }
|
|
public bool SupportsTextureShadowLod { get; }
|
|
public bool SupportsViewportSwizzle { get; }
|
|
public bool SupportsIndirectParameters { get; }
|
|
|
|
public int MaximumComputeSharedMemorySize { get; }
|
|
public float MaximumSupportedAnisotropy { get; }
|
|
public int StorageBufferOffsetAlignment { get; }
|
|
|
|
public Capabilities(
|
|
bool hasFrontFacingBug,
|
|
bool hasVectorIndexingBug,
|
|
bool supportsAstcCompression,
|
|
bool supportsFragmentShaderInterlock,
|
|
bool supportsFragmentShaderOrderingIntel,
|
|
bool supportsImageLoadFormatted,
|
|
bool supportsMismatchingViewFormat,
|
|
bool supportsNonConstantTextureOffset,
|
|
bool supportsShaderBallot,
|
|
bool supportsTextureShadowLod,
|
|
bool supportsViewportSwizzle,
|
|
bool supportsIndirectParameters,
|
|
int maximumComputeSharedMemorySize,
|
|
float maximumSupportedAnisotropy,
|
|
int storageBufferOffsetAlignment)
|
|
{
|
|
HasFrontFacingBug = hasFrontFacingBug;
|
|
HasVectorIndexingBug = hasVectorIndexingBug;
|
|
SupportsAstcCompression = supportsAstcCompression;
|
|
SupportsFragmentShaderInterlock = supportsFragmentShaderInterlock;
|
|
SupportsFragmentShaderOrderingIntel = supportsFragmentShaderOrderingIntel;
|
|
SupportsImageLoadFormatted = supportsImageLoadFormatted;
|
|
SupportsMismatchingViewFormat = supportsMismatchingViewFormat;
|
|
SupportsNonConstantTextureOffset = supportsNonConstantTextureOffset;
|
|
SupportsShaderBallot = supportsShaderBallot;
|
|
SupportsTextureShadowLod = supportsTextureShadowLod;
|
|
SupportsViewportSwizzle = supportsViewportSwizzle;
|
|
SupportsIndirectParameters = supportsIndirectParameters;
|
|
MaximumComputeSharedMemorySize = maximumComputeSharedMemorySize;
|
|
MaximumSupportedAnisotropy = maximumSupportedAnisotropy;
|
|
StorageBufferOffsetAlignment = storageBufferOffsetAlignment;
|
|
}
|
|
}
|
|
} |