GpuAccessorState.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. namespace Ryujinx.Graphics.Gpu.Shader
  2. {
  3. /// <summary>
  4. /// State used by the <see cref="GpuAccessor"/>.
  5. /// </summary>
  6. struct GpuAccessorState
  7. {
  8. /// <summary>
  9. /// GPU virtual address of the texture pool.
  10. /// </summary>
  11. public ulong TexturePoolGpuVa { get; }
  12. /// <summary>
  13. /// Maximum ID of the texture pool.
  14. /// </summary>
  15. public int TexturePoolMaximumId { get; }
  16. /// <summary>
  17. /// Constant buffer slot where the texture handles are located.
  18. /// </summary>
  19. public int TextureBufferIndex { get; }
  20. /// <summary>
  21. /// Early Z force enable.
  22. /// </summary>
  23. public bool EarlyZForce { get; }
  24. /// <summary>
  25. /// Creates a new instance of the GPU accessor state.
  26. /// </summary>
  27. /// <param name="texturePoolGpuVa">GPU virtual address of the texture pool</param>
  28. /// <param name="texturePoolMaximumId">Maximum ID of the texture pool</param>
  29. /// <param name="textureBufferIndex">Constant buffer slot where the texture handles are located</param>
  30. /// <param name="earlyZForce">Early Z force enable</param>
  31. public GpuAccessorState(ulong texturePoolGpuVa, int texturePoolMaximumId, int textureBufferIndex, bool earlyZForce)
  32. {
  33. TexturePoolGpuVa = texturePoolGpuVa;
  34. TexturePoolMaximumId = texturePoolMaximumId;
  35. TextureBufferIndex = textureBufferIndex;
  36. EarlyZForce = earlyZForce;
  37. }
  38. }
  39. }