IRenderer.cs 705 B

12345678910111213141516171819202122232425262728293031
  1. using Ryujinx.Graphics.Shader;
  2. using System;
  3. namespace Ryujinx.Graphics.GAL
  4. {
  5. public interface IRenderer : IDisposable
  6. {
  7. IPipeline Pipeline { get; }
  8. IWindow Window { get; }
  9. IShader CompileShader(ShaderProgram shader);
  10. IBuffer CreateBuffer(int size);
  11. IProgram CreateProgram(IShader[] shaders);
  12. ISampler CreateSampler(SamplerCreateInfo info);
  13. ITexture CreateTexture(TextureCreateInfo info);
  14. Capabilities GetCapabilities();
  15. void UpdateCounters();
  16. ICounterEvent ReportCounter(CounterType type, EventHandler<ulong> resultHandler);
  17. void ResetCounter(CounterType type);
  18. void Initialize();
  19. }
  20. }