1
0
Fork 0
mirror of https://github.com/Ryujinx/Ryujinx.git synced 2024-09-20 05:53:30 +01:00
Ryujinx/Ryujinx.Graphics.GAL/IRenderer.cs
gdkchan 788ca6a411
Initial transform feedback support (#1370)
* Initial transform feedback support

* Some nits and fixes

* Update ReportCounterType and Write method

* Can't change shader or TFB bindings while TFB is active

* Fix geometry shader input names with new naming
2020-07-15 13:01:10 +10:00

38 lines
993 B
C#

using Ryujinx.Graphics.Shader;
using System;
namespace Ryujinx.Graphics.GAL
{
public interface IRenderer : IDisposable
{
IPipeline Pipeline { get; }
IWindow Window { get; }
IShader CompileShader(ShaderProgram shader);
BufferHandle CreateBuffer(int size);
IProgram CreateProgram(IShader[] shaders, TransformFeedbackDescriptor[] transformFeedbackDescriptors);
ISampler CreateSampler(SamplerCreateInfo info);
ITexture CreateTexture(TextureCreateInfo info, float scale);
void DeleteBuffer(BufferHandle buffer);
byte[] GetBufferData(BufferHandle buffer, int offset, int size);
Capabilities GetCapabilities();
void SetBufferData(BufferHandle buffer, int offset, ReadOnlySpan<byte> data);
void UpdateCounters();
ICounterEvent ReportCounter(CounterType type, EventHandler<ulong> resultHandler);
void ResetCounter(CounterType type);
void Initialize();
}
}