IGalRasterizer.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. namespace Ryujinx.Graphics.Gal
  2. {
  3. public interface IGalRasterizer
  4. {
  5. void ClearBuffers(GalClearBufferFlags Flags);
  6. bool IsVboCached(long Key, long DataSize);
  7. bool IsIboCached(long Key, long DataSize);
  8. void SetFrontFace(GalFrontFace FrontFace);
  9. void EnableCullFace();
  10. void DisableCullFace();
  11. void SetCullFace(GalCullFace CullFace);
  12. void EnableDepthTest();
  13. void DisableDepthTest();
  14. void SetDepthFunction(GalComparisonOp Func);
  15. void SetClearDepth(float Depth);
  16. void EnableStencilTest();
  17. void DisableStencilTest();
  18. void SetStencilFunction(bool IsFrontFace, GalComparisonOp Func, int Ref, int Mask);
  19. void SetStencilOp(bool IsFrontFace, GalStencilOp Fail, GalStencilOp ZFail, GalStencilOp ZPass);
  20. void SetStencilMask(bool IsFrontFace, int Mask);
  21. void SetClearStencil(int Stencil);
  22. void CreateVbo(long Key, byte[] Buffer);
  23. void CreateIbo(long Key, byte[] Buffer);
  24. void SetVertexArray(int VbIndex, int Stride, long VboKey, GalVertexAttrib[] Attribs);
  25. void SetIndexArray(long Key, int Size, GalIndexFormat Format);
  26. void DrawArrays(int First, int PrimCount, GalPrimitiveType PrimType);
  27. void DrawElements(long IboKey, int First, int VertexBase, GalPrimitiveType PrimType);
  28. }
  29. }