ShaderSource.cs 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. using Ryujinx.Graphics.Shader;
  2. using Ryujinx.Graphics.Shader.Translation;
  3. namespace Ryujinx.Graphics.GAL
  4. {
  5. public readonly struct ShaderSource
  6. {
  7. public string Code { get; }
  8. public byte[] BinaryCode { get; }
  9. public ShaderBindings Bindings { get; }
  10. public ShaderStage Stage { get; }
  11. public TargetLanguage Language { get; }
  12. public ShaderSource(string code, byte[] binaryCode, ShaderBindings bindings, ShaderStage stage, TargetLanguage language)
  13. {
  14. Code = code;
  15. BinaryCode = binaryCode;
  16. Bindings = bindings;
  17. Stage = stage;
  18. Language = language;
  19. }
  20. public ShaderSource(string code, ShaderBindings bindings, ShaderStage stage, TargetLanguage language) : this(code, null, bindings, stage, language)
  21. {
  22. }
  23. public ShaderSource(byte[] binaryCode, ShaderBindings bindings, ShaderStage stage, TargetLanguage language) : this(null, binaryCode, bindings, stage, language)
  24. {
  25. }
  26. }
  27. }