IRenderer.cs 639 B

123456789101112131415161718192021222324252627282930
  1. using Ryujinx.Graphics.Shader;
  2. namespace Ryujinx.Graphics.GAL
  3. {
  4. public interface IRenderer
  5. {
  6. IPipeline Pipeline { get; }
  7. IWindow Window { get; }
  8. IShader CompileShader(ShaderProgram shader);
  9. IBuffer CreateBuffer(int size);
  10. IProgram CreateProgram(IShader[] shaders);
  11. ISampler CreateSampler(SamplerCreateInfo info);
  12. ITexture CreateTexture(TextureCreateInfo info);
  13. void FlushPipelines();
  14. Capabilities GetCapabilities();
  15. ulong GetCounter(CounterType type);
  16. void InitializeCounters();
  17. void ResetCounter(CounterType type);
  18. }
  19. }