2018-07-19 12:02:51 -07:00
|
|
|
using System;
|
|
|
|
|
2018-06-23 17:39:25 -07:00
|
|
|
namespace Ryujinx.Graphics.Gal
|
|
|
|
{
|
|
|
|
public interface IGalRasterizer
|
|
|
|
{
|
2018-07-09 19:01:59 -07:00
|
|
|
void LockCaches();
|
|
|
|
void UnlockCaches();
|
|
|
|
|
2018-08-09 21:09:40 -07:00
|
|
|
void ClearBuffers(
|
|
|
|
GalClearBufferFlags Flags,
|
2018-08-19 18:25:26 -07:00
|
|
|
int Attachment,
|
2018-10-17 14:02:23 -07:00
|
|
|
float Red,
|
|
|
|
float Green,
|
|
|
|
float Blue,
|
|
|
|
float Alpha,
|
2018-08-09 21:09:40 -07:00
|
|
|
float Depth,
|
|
|
|
int Stencil);
|
2018-06-23 17:39:25 -07:00
|
|
|
|
|
|
|
bool IsVboCached(long Key, long DataSize);
|
|
|
|
|
|
|
|
bool IsIboCached(long Key, long DataSize);
|
|
|
|
|
2018-07-19 12:02:51 -07:00
|
|
|
void CreateVbo(long Key, int DataSize, IntPtr HostAddress);
|
2018-11-28 14:18:09 -08:00
|
|
|
void CreateVbo(long Key, byte[] Data);
|
2018-06-23 17:39:25 -07:00
|
|
|
|
2018-07-19 12:02:51 -07:00
|
|
|
void CreateIbo(long Key, int DataSize, IntPtr HostAddress);
|
2018-10-12 18:37:01 -07:00
|
|
|
void CreateIbo(long Key, int DataSize, byte[] Buffer);
|
2018-06-23 17:39:25 -07:00
|
|
|
|
2018-07-09 19:01:59 -07:00
|
|
|
void SetIndexArray(int Size, GalIndexFormat Format);
|
2018-06-23 17:39:25 -07:00
|
|
|
|
2018-09-17 21:30:35 -07:00
|
|
|
void DrawArrays(int First, int Count, GalPrimitiveType PrimType);
|
2018-06-23 17:39:25 -07:00
|
|
|
|
2018-06-28 16:48:18 -07:00
|
|
|
void DrawElements(long IboKey, int First, int VertexBase, GalPrimitiveType PrimType);
|
2018-06-23 17:39:25 -07:00
|
|
|
}
|
|
|
|
}
|