GuestTextureDescriptor.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using Ryujinx.Graphics.Gpu.Image;
  2. using System.Runtime.InteropServices;
  3. namespace Ryujinx.Graphics.Gpu.Shader.Cache.Definition
  4. {
  5. /// <summary>
  6. /// Contains part of TextureDescriptor from <see cref="Image"/> used for shader codegen.
  7. /// </summary>
  8. [StructLayout(LayoutKind.Sequential, Size = 0xC, Pack = 1)]
  9. struct GuestTextureDescriptor : ITextureDescriptor
  10. {
  11. public uint Handle;
  12. public uint Format;
  13. public TextureTarget Target;
  14. [MarshalAs(UnmanagedType.I1)]
  15. public bool IsSrgb;
  16. [MarshalAs(UnmanagedType.I1)]
  17. public bool IsTextureCoordNormalized;
  18. public byte Reserved;
  19. public uint UnpackFormat()
  20. {
  21. return Format;
  22. }
  23. public bool UnpackSrgb()
  24. {
  25. return IsSrgb;
  26. }
  27. public bool UnpackTextureCoordNormalized()
  28. {
  29. return IsTextureCoordNormalized;
  30. }
  31. public TextureTarget UnpackTextureTarget()
  32. {
  33. return Target;
  34. }
  35. }
  36. }