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