/ src / Ryujinx.Graphics.Shader / ShaderProgram.cs
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  }