IRenderer.cs 779 B

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