ShaderProgramInfo.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using System;
  2. using System.Collections.ObjectModel;
  3. namespace Ryujinx.Graphics.Shader
  4. {
  5. public class ShaderProgramInfo
  6. {
  7. public ReadOnlyCollection<BufferDescriptor> CBuffers { get; }
  8. public ReadOnlyCollection<BufferDescriptor> SBuffers { get; }
  9. public ReadOnlyCollection<TextureDescriptor> Textures { get; }
  10. public ReadOnlyCollection<TextureDescriptor> Images { get; }
  11. public bool UsesInstanceId { get; }
  12. public bool UsesRtLayer { get; }
  13. public byte ClipDistancesWritten { get; }
  14. public int FragmentOutputMap { get; }
  15. public ShaderProgramInfo(
  16. BufferDescriptor[] cBuffers,
  17. BufferDescriptor[] sBuffers,
  18. TextureDescriptor[] textures,
  19. TextureDescriptor[] images,
  20. bool usesInstanceId,
  21. bool usesRtLayer,
  22. byte clipDistancesWritten,
  23. int fragmentOutputMap)
  24. {
  25. CBuffers = Array.AsReadOnly(cBuffers);
  26. SBuffers = Array.AsReadOnly(sBuffers);
  27. Textures = Array.AsReadOnly(textures);
  28. Images = Array.AsReadOnly(images);
  29. UsesInstanceId = usesInstanceId;
  30. UsesRtLayer = usesRtLayer;
  31. ClipDistancesWritten = clipDistancesWritten;
  32. FragmentOutputMap = fragmentOutputMap;
  33. }
  34. }
  35. }