ShaderProgram.cs
1 using Ryujinx.Graphics.Shader.Translation; 2 using System; 3 4 namespace Ryujinx.Graphics.Shader 5 { 6 public class ShaderProgram 7 { 8 public ShaderProgramInfo Info { get; } 9 public TargetLanguage Language { get; } 10 11 public string Code { get; private set; } 12 public byte[] BinaryCode { get; } 13 14 private ShaderProgram(ShaderProgramInfo info, TargetLanguage language) 15 { 16 Info = info; 17 Language = language; 18 } 19 20 public ShaderProgram(ShaderProgramInfo info, TargetLanguage language, string code) : this(info, language) 21 { 22 Code = code; 23 } 24 25 public ShaderProgram(ShaderProgramInfo info, TargetLanguage language, byte[] binaryCode) : this(info, language) 26 { 27 BinaryCode = binaryCode; 28 } 29 30 public void Prepend(string line) 31 { 32 Code = line + Environment.NewLine + Code; 33 } 34 } 35 }