aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.GAL/Capabilities.cs
blob: d496de67c44b1638e09a2e7463d214642ebfcccc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
namespace Ryujinx.Graphics.GAL
{
    public struct Capabilities
    {
        public bool SupportsAstcCompression          { get; }
        public bool SupportsImageLoadFormatted       { get; }
        public bool SupportsNonConstantTextureOffset { get; }
        public bool SupportsViewportSwizzle          { get; }

        public int   MaximumComputeSharedMemorySize { get; }
        public float MaximumSupportedAnisotropy     { get; }
        public int   StorageBufferOffsetAlignment   { get; }

        public Capabilities(
            bool  supportsAstcCompression,
            bool  supportsImageLoadFormatted,
            bool  supportsNonConstantTextureOffset,
            bool  supportsViewportSwizzle,
            int   maximumComputeSharedMemorySize,
            float maximumSupportedAnisotropy,
            int   storageBufferOffsetAlignment)
        {
            SupportsAstcCompression          = supportsAstcCompression;
            SupportsImageLoadFormatted       = supportsImageLoadFormatted;
            SupportsNonConstantTextureOffset = supportsNonConstantTextureOffset;
            SupportsViewportSwizzle          = supportsViewportSwizzle;
            MaximumComputeSharedMemorySize   = maximumComputeSharedMemorySize;
            MaximumSupportedAnisotropy       = maximumSupportedAnisotropy;
            StorageBufferOffsetAlignment     = storageBufferOffsetAlignment;
        }
    }
}