mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-12-27 09:59:33 +01:00
4da44e09cb
* Make all structs readonly when applicable. It should reduce amount of needless defensive copies * Make structs with trivial boilerplate equality code record structs * Remove unnecessary readonly modifiers from TextureCreateInfo * Make BitMap structs readonly too
31 lines
No EOL
1 KiB
C#
31 lines
No EOL
1 KiB
C#
using Ryujinx.Graphics.Shader;
|
|
using Ryujinx.Graphics.Shader.Translation;
|
|
|
|
namespace Ryujinx.Graphics.GAL
|
|
{
|
|
public readonly struct ShaderSource
|
|
{
|
|
public string Code { get; }
|
|
public byte[] BinaryCode { get; }
|
|
public ShaderBindings Bindings { get; }
|
|
public ShaderStage Stage { get; }
|
|
public TargetLanguage Language { get; }
|
|
|
|
public ShaderSource(string code, byte[] binaryCode, ShaderBindings bindings, ShaderStage stage, TargetLanguage language)
|
|
{
|
|
Code = code;
|
|
BinaryCode = binaryCode;
|
|
Bindings = bindings;
|
|
Stage = stage;
|
|
Language = language;
|
|
}
|
|
|
|
public ShaderSource(string code, ShaderBindings bindings, ShaderStage stage, TargetLanguage language) : this(code, null, bindings, stage, language)
|
|
{
|
|
}
|
|
|
|
public ShaderSource(byte[] binaryCode, ShaderBindings bindings, ShaderStage stage, TargetLanguage language) : this(null, binaryCode, bindings, stage, language)
|
|
{
|
|
}
|
|
}
|
|
} |