2018-07-19 21:02:51 +02:00
|
|
|
using System;
|
|
|
|
|
2018-06-24 02:39:25 +02:00
|
|
|
namespace Ryujinx.Graphics.Gal
|
|
|
|
{
|
|
|
|
public interface IGalRasterizer
|
|
|
|
{
|
2018-07-10 04:01:59 +02:00
|
|
|
void LockCaches();
|
|
|
|
void UnlockCaches();
|
|
|
|
|
2018-08-10 06:09:40 +02:00
|
|
|
void ClearBuffers(
|
2019-03-04 02:45:25 +01:00
|
|
|
GalClearBufferFlags flags,
|
|
|
|
int attachment,
|
|
|
|
float red,
|
|
|
|
float green,
|
|
|
|
float blue,
|
|
|
|
float alpha,
|
|
|
|
float depth,
|
|
|
|
int stencil);
|
2018-06-24 02:39:25 +02:00
|
|
|
|
2019-03-04 02:45:25 +01:00
|
|
|
bool IsVboCached(long key, long dataSize);
|
2018-06-24 02:39:25 +02:00
|
|
|
|
2019-03-04 02:45:25 +01:00
|
|
|
bool IsIboCached(long key, long dataSize);
|
2018-06-24 02:39:25 +02:00
|
|
|
|
2019-03-04 02:45:25 +01:00
|
|
|
void CreateVbo(long key, int dataSize, IntPtr hostAddress);
|
|
|
|
void CreateVbo(long key, byte[] data);
|
2018-06-24 02:39:25 +02:00
|
|
|
|
2019-03-04 02:45:25 +01:00
|
|
|
void CreateIbo(long key, int dataSize, IntPtr hostAddress);
|
|
|
|
void CreateIbo(long key, int dataSize, byte[] buffer);
|
2018-06-24 02:39:25 +02:00
|
|
|
|
2019-03-04 02:45:25 +01:00
|
|
|
void SetIndexArray(int size, GalIndexFormat format);
|
2018-06-24 02:39:25 +02:00
|
|
|
|
2019-03-04 02:45:25 +01:00
|
|
|
void DrawArrays(int first, int count, GalPrimitiveType primType);
|
2018-06-24 02:39:25 +02:00
|
|
|
|
2019-03-04 02:45:25 +01:00
|
|
|
void DrawElements(long iboKey, int first, int vertexBase, GalPrimitiveType primType);
|
2018-06-24 02:39:25 +02:00
|
|
|
}
|
|
|
|
}
|