44 lines
1.3 KiB
C#
44 lines
1.3 KiB
C#
namespace Ryujinx.Graphics.Shader
|
|
{
|
|
readonly struct TextureDefinition
|
|
{
|
|
public int Set { get; }
|
|
public int Binding { get; }
|
|
public int ArrayLength { get; }
|
|
public bool Separate { get; }
|
|
public string Name { get; }
|
|
public SamplerType Type { get; }
|
|
public TextureFormat Format { get; }
|
|
public TextureUsageFlags Flags { get; }
|
|
|
|
public TextureDefinition(
|
|
int set,
|
|
int binding,
|
|
int arrayLength,
|
|
bool separate,
|
|
string name,
|
|
SamplerType type,
|
|
TextureFormat format,
|
|
TextureUsageFlags flags)
|
|
{
|
|
Set = set;
|
|
Binding = binding;
|
|
ArrayLength = arrayLength;
|
|
Separate = separate;
|
|
Name = name;
|
|
Type = type;
|
|
Format = format;
|
|
Flags = flags;
|
|
}
|
|
|
|
public TextureDefinition(int set, int binding, string name, SamplerType type) : this(set, binding, 1, false, name, type, TextureFormat.Unknown, TextureUsageFlags.None)
|
|
{
|
|
}
|
|
|
|
public TextureDefinition SetFlag(TextureUsageFlags flag)
|
|
{
|
|
return new TextureDefinition(Set, Binding, ArrayLength, Separate, Name, Type, Format, Flags | flag);
|
|
}
|
|
}
|
|
}
|