IGalRasterizer.cs 1.5 KB

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