IRenderer.cs 993 B

12345678910111213141516171819202122232425262728293031323334353637
  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. BufferHandle CreateBuffer(int size);
  11. IProgram CreateProgram(IShader[] shaders, TransformFeedbackDescriptor[] transformFeedbackDescriptors);
  12. ISampler CreateSampler(SamplerCreateInfo info);
  13. ITexture CreateTexture(TextureCreateInfo info, float scale);
  14. void DeleteBuffer(BufferHandle buffer);
  15. byte[] GetBufferData(BufferHandle buffer, int offset, int size);
  16. Capabilities GetCapabilities();
  17. void SetBufferData(BufferHandle buffer, int offset, ReadOnlySpan<byte> data);
  18. void UpdateCounters();
  19. ICounterEvent ReportCounter(CounterType type, EventHandler<ulong> resultHandler);
  20. void ResetCounter(CounterType type);
  21. void Initialize();
  22. }
  23. }