* Add support for large sampler arrays on Vulkan * Shader cache version bump * Format whitespace * Move DescriptorSetManager to PipelineLayoutCacheEntry to allow different pool sizes per layout * Handle array textures with different types on the same buffer * Somewhat better caching system * Avoid useless buffer data modification checks * Move redundant bindings update checking to the backend * Fix an issue where texture arrays would get the same bindings across stages on Vulkan * Backport some fixes from part 2 * Fix typo * PR feedback * Format whitespace * Add some missing XML docs
30 lines
925 B
C#
30 lines
925 B
C#
namespace Ryujinx.Graphics.Shader
|
|
{
|
|
readonly struct TextureDefinition
|
|
{
|
|
public int Set { get; }
|
|
public int Binding { get; }
|
|
public int ArrayLength { 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, string name, SamplerType type, TextureFormat format, TextureUsageFlags flags)
|
|
{
|
|
Set = set;
|
|
Binding = binding;
|
|
ArrayLength = arrayLength;
|
|
Name = name;
|
|
Type = type;
|
|
Format = format;
|
|
Flags = flags;
|
|
}
|
|
|
|
public TextureDefinition SetFlag(TextureUsageFlags flag)
|
|
{
|
|
return new TextureDefinition(Set, Binding, ArrayLength, Name, Type, Format, Flags | flag);
|
|
}
|
|
}
|
|
}
|