ShaderProgram.cs 702 B

1234567891011121314151617181920212223242526272829303132
  1. using System;
  2. namespace Ryujinx.Graphics.Shader
  3. {
  4. public class ShaderProgram
  5. {
  6. public ShaderStage Stage { get; }
  7. public string Code { get; private set; }
  8. public byte[] BinaryCode { get; }
  9. private ShaderProgram(ShaderStage stage)
  10. {
  11. Stage = stage;
  12. }
  13. public ShaderProgram(ShaderStage stage, string code) : this(stage)
  14. {
  15. Code = code;
  16. }
  17. public ShaderProgram(ShaderStage stage, byte[] binaryCode) : this(stage)
  18. {
  19. BinaryCode = binaryCode;
  20. }
  21. public void Prepend(string line)
  22. {
  23. Code = line + Environment.NewLine + Code;
  24. }
  25. }
  26. }