ITexture.cs 771 B

123456789101112131415161718192021222324
  1. using System;
  2. namespace Ryujinx.Graphics.GAL
  3. {
  4. public interface ITexture
  5. {
  6. int Width { get; }
  7. int Height { get; }
  8. float ScaleFactor { get; }
  9. void CopyTo(ITexture destination, int firstLayer, int firstLevel);
  10. void CopyTo(ITexture destination, int srcLayer, int dstLayer, int srcLevel, int dstLevel);
  11. void CopyTo(ITexture destination, Extents2D srcRegion, Extents2D dstRegion, bool linearFilter);
  12. ITexture CreateView(TextureCreateInfo info, int firstLayer, int firstLevel);
  13. ReadOnlySpan<byte> GetData();
  14. void SetData(ReadOnlySpan<byte> data);
  15. void SetData(ReadOnlySpan<byte> data, int layer, int level);
  16. void SetStorage(BufferRange buffer);
  17. void Release();
  18. }
  19. }