home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 August - Disc 3 / chip_20018103_hu.iso / amiga / chiputil / gg / libnixppc.lha / LibnixPPC-990408.lzx / os-include / Warp3D / Warp3D_protos.h
C/C++ Source or Header  |  1993-08-28  |  9KB  |  104 lines

  1. #ifndef WARP3D_GCCLIB_PROTOS_H
  2. #define WARP3D_GCCLIB_PROTOS_H
  3.  
  4.  
  5.  
  6. #ifdef __PPC__
  7.  
  8. extern struct Library *Warp3DPPCBase;
  9.  
  10. #include <powerpc/warpup_macros.h>
  11.  
  12. /************************** Context functions ***********************************/
  13. #define W3D_CreateContext(v1,v2)    PPCLP2    (Warp3DPPCBase,-30,W3D_Context *,    ULONG *,3,v1,struct TagItem *,4,v2)
  14. #define W3D_CreateContextTags(v1, tags...) \
  15.     ({ULONG _tags[] = { tags }; W3D_CreateContext((v1), (struct TagItem *)_tags);})
  16. #define W3D_DestroyContext(v1)        PPCLP1NR(Warp3DPPCBase,-36,            W3D_Context *,3,v1)
  17. #define W3D_GetState(v1,v2)        PPCLP2    (Warp3DPPCBase,-42,ULONG,        W3D_Context *,3,v1,ULONG,4,v2)
  18. #define W3D_SetState(v1,v2,v3)        PPCLP3    (Warp3DPPCBase,-48,ULONG,        W3D_Context *,3,v1,ULONG,4,v2,ULONG,5,v3)
  19. #define W3D_Hint(v1,v2,v3)        PPCLP3    (Warp3DPPCBase,-294,ULONG,        W3D_Context *,3,v1,ULONG,4,v2,ULONG,5,v3)
  20.  
  21. /************************** Hardware/Driver functions ***************************/
  22. #define W3D_CheckDriver()        PPCLP0    (Warp3DPPCBase,-54,ULONG        )
  23. #define W3D_LockHardware(v1)        PPCLP1    (Warp3DPPCBase,-60,ULONG,        W3D_Context *,3,v1)
  24. #define W3D_UnLockHardware(v1)        PPCLP1NR(Warp3DPPCBase,-66,            W3D_Context *,3,v1)
  25. #define W3D_WaitIdle(v1)        PPCLP1NR(Warp3DPPCBase,-72,            W3D_Context *,3,v1)
  26. #define W3D_CheckIdle(v1)        PPCLP1    (Warp3DPPCBase,-78,ULONG,        W3D_Context *,3,v1)
  27. #define W3D_Query(v1,v2,v3)        PPCLP3    (Warp3DPPCBase,-84,ULONG,        W3D_Context *,3,v1,ULONG,4,v2,ULONG,5,v3)
  28. #define W3D_GetTexFmtInfo(v1,v2,v3)    PPCLP3    (Warp3DPPCBase,-90,ULONG,        W3D_Context *,3,v1,ULONG,4,v2,ULONG,5,v3)
  29. #define W3D_GetDriverState(v1)        PPCLP1    (Warp3DPPCBase,-306,ULONG,        W3D_Context *,3,v1)
  30. #define W3D_GetDestFmt()        PPCLP0    (Warp3DPPCBase,-384,ULONG        )
  31. #define W3D_GetDrivers()        PPCLP0    (Warp3DPPCBase,-402,W3D_Driver **    )
  32. #define W3D_QueryDriver(v1,v2,v3)    PPCLP3    (Warp3DPPCBase,-408,ULONG,        W3D_Driver *,3,v1,ULONG,4,v2,ULONG,5,v3)
  33. #define W3D_GetDriverTexFmtInfo(v1,v2,v3) PPCLP3(Warp3DPPCBase,-414,ULONG,        W3D_Driver *,3,v1,ULONG,4,v2,ULONG,5,v3)
  34. #define W3D_RequestMode(v1)        PPCLP1    (Warp3DPPCBase,-420,ULONG,        struct TagItem *,3,v1)
  35. #define W3D_RequestModeTags(tags...) \
  36.     ({ULONG _tags[] = { tags }; W3D_RequestMode((struct TagItem *)_tags);})
  37. #define W3D_TestMode(v1)        PPCLP1    (Warp3DPPCBase,-438,W3D_Driver *,    ULONG,3,v1)
  38.  
  39. /************************** Texture functions ***********************************/
  40. #define W3D_AllocTexObj(v1,v2,v3)    PPCLP3    (Warp3DPPCBase,-96,W3D_Texture *,    W3D_Context *,3,v1,ULONG *,4,v2,struct TagItem *,5,v3)
  41. #define W3D_AllocTexObjTags(v1, v2, tags...) \
  42.     ({ULONG _tags[] = { tags }; W3D_AllocTexObj((v1), (v2), (struct TagItem *)_tags);})
  43. #define W3D_FreeTexObj(v1,v2)        PPCLP2NR(Warp3DPPCBase,-102,            W3D_Context *,3,v1,W3D_Texture *,4,v2)
  44. #define W3D_ReleaseTexture(v1,v2)    PPCLP2NR(Warp3DPPCBase,-108,            W3D_Context *,3,v1,W3D_Texture *,4,v2)
  45. #define W3D_FlushTextures(v1,v2)    PPCLP1NR(Warp3DPPCBase,-114,            W3D_Context *,3,v1)
  46. #define W3D_SetFilter(v1,v2,v3,v4)    PPCLP4    (Warp3DPPCBase,-120,ULONG,        W3D_Context *,3,v1,W3D_Texture *,4,v2,ULONG,5,v3,ULONG,6,v4)
  47. #define W3D_SetTexEnv(v1,v2,v3,v4)    PPCLP4    (Warp3DPPCBase,-126,ULONG,        W3D_Context *,3,v1,W3D_Texture *,4,v2,ULONG,5,v3,W3D_Color *,6,v4)
  48. #define W3D_SetWrapMode(v1,v2,v3,v4,v5)    PPCLP5    (Warp3DPPCBase,-132,ULONG,        W3D_Context *,3,v1,W3D_Texture *,4,v2,ULONG,5,v3,ULONG,6,v4,W3D_Color *,7,v5)
  49. #define W3D_UpdateTexImage(v1,v2,v3,v4,v5)PPCLP5(Warp3DPPCBase,-138,ULONG,        W3D_Context *,3,v1,W3D_Texture *,4,v2,void *,5,v3,ULONG,6,v4,ULONG *,7,v5)
  50. #define W3D_UpdateTexSubImage(v1,v2,v3,v4,v5,v6,v7)    PPCLP7    (Warp3DPPCBase,-372,ULONG,        W3D_Context *,3,v1,W3D_Texture *,4,v2,void *,5,v3,ULONG,6,v4,ULONG *,7,v5,W3D_Scissor *,8,v6,ULONG,9,v7)
  51. #define W3D_UploadTexture(v1,v2)    PPCLP2    (Warp3DPPCBase,-144,ULONG,        W3D_Context *,3,v1,W3D_Texture *,4,v2)
  52. #define W3D_FreeAllTexObj(v1,v2)    PPCLP1    (Warp3DPPCBase,-378,ULONG,        W3D_Context *,3,v1)
  53.  
  54. /************************** Drawing functions ***********************************/
  55. #define W3D_DrawLine(v1,v2)        PPCLP2    (Warp3DPPCBase,-150,ULONG,        W3D_Context *,3,v1,W3D_Line *,4,v2)
  56. #define W3D_DrawPoint(v1,v2)        PPCLP2    (Warp3DPPCBase,-156,ULONG,        W3D_Context *,3,v1,W3D_Point *,4,v2)
  57. #define W3D_DrawTriangle(v1,v2)        PPCLP2    (Warp3DPPCBase,-162,ULONG,        W3D_Context *,3,v1,W3D_Triangle *,4,v2)
  58. #define W3D_DrawTriFan(v1,v2)        PPCLP2    (Warp3DPPCBase,-168,ULONG,        W3D_Context *,3,v1,W3D_Triangles *,4,v2)
  59. #define W3D_DrawTriStrip(v1,v2)        PPCLP2    (Warp3DPPCBase,-174,ULONG,        W3D_Context *,3,v1,W3D_Triangles *,4,v2)
  60. #define W3D_Flush(v1)            PPCLP1    (Warp3DPPCBase,-312,ULONG,        W3D_Context *,3,v1)
  61. #define W3D_DrawLineStrip(v1,v2)    PPCLP2    (Warp3DPPCBase,-390,ULONG,        W3D_Context *,3,v1,W3D_Lines *,4,v2)
  62. #define W3D_DrawLineLoop(v1,v2)        PPCLP2    (Warp3DPPCBase,-396,ULONG,        W3D_Context *,3,v1,W3D_Lines *,4,v2)
  63.  
  64. /************************** Effect functions ************************************/
  65. #define W3D_SetAlphaMode(v1,v2,v3)    PPCLP3    (Warp3DPPCBase,-180,ULONG,        W3D_Context *,3,v1,ULONG,4,v2,W3D_Float *,5,v3)
  66. #define W3D_SetBlendMode(v1,v2,v3)    PPCLP3    (Warp3DPPCBase,-186,ULONG,        W3D_Context *,3,v1,ULONG,4,v2,ULONG,5,v3)
  67. #define W3D_SetDrawRegion(v1,v2,v3,v4)    PPCLP4    (Warp3DPPCBase,-192,ULONG,        W3D_Context *,3,v1,struct BitMap *,4,v2,int,5,v3,W3D_Scissor *,6,v4)
  68. #define W3D_SetDrawRegionWBM(v1,v2,v3)    PPCLP3    (Warp3DPPCBase,-300,ULONG,        W3D_Context *,3,v1,W3D_Bitmap *,4,v2,W3D_Scissor *,5,v3)
  69. #define W3D_SetFogParams(v1,v2,v3)    PPCLP3    (Warp3DPPCBase,-198,ULONG,        W3D_Context *,3,v1,W3D_Fog *,4,v2,ULONG,5,v3)
  70. #define W3D_SetLogicOp(v1,v2)        PPCLP2    (Warp3DPPCBase,-288,ULONG,        W3D_Context *,3,v1,ULONG,4,v2)
  71. #define W3D_SetColorMask(v1,v2,v3,v4,v5)    PPCLP5    (Warp3DPPCBase,-204,ULONG,        W3D_Context *,3,v1,W3D_Bool,4,v2,W3D_Bool,5,v3,W3D_Bool,6,v4,W3D_Bool,7,v5)
  72. #define W3D_SetPenMask(v1,v2)        PPCLP2    (Warp3DPPCBase,-318,ULONG,        W3D_Context *,3,v1,ULONG,4,v2)
  73. #define W3D_SetCurrentColor(v1,v2)    PPCLP2    (Warp3DPPCBase,-360,ULONG,        W3D_Context *,3,v1,W3D_Color *,4,v2)
  74. #define W3D_SetCurrentPen(v1,v2)    PPCLP2    (Warp3DPPCBase,-366,ULONG,        W3D_Context *,3,v1,ULONG,4,v2)
  75. #define W3D_SetScissor(v1,v2)        PPCLP2NR(Warp3DPPCBase,-426,            W3D_Context *,3,v1,W3D_Scissor *,4,v2)
  76. #define W3D_FlushFrame(v1)        PPCLP1NR(Warp3DPPCBase,-432,            W3D_Context *,3,v1)
  77.  
  78. /************************** ZBuffer functions ***********************************/
  79. #define W3D_AllocZBuffer(v1)        PPCLP1    (Warp3DPPCBase,-216,ULONG,        W3D_Context *,3,v1)
  80. #define W3D_FreeZBuffer(v1)        PPCLP1    (Warp3DPPCBase,-222,ULONG,        W3D_Context *,3,v1)
  81. #define W3D_ClearZBuffer(v1,v2)        PPCLP2    (Warp3DPPCBase,-228,ULONG,        W3D_Context *,3,v1,W3D_Double *,4,v2)
  82. #define W3D_ReadZPixel(v1,v2,v3,v4)    PPCLP4    (Warp3DPPCBase,-234,ULONG,        W3D_Context *,3,v1,ULONG,4,v2,ULONG,5,v3,W3D_Double *,6,v4)
  83. #define W3D_ReadZSpan(v1,v2,v3,v4,v5)    PPCLP5    (Warp3DPPCBase,-240,ULONG,        W3D_Context *,3,v1,ULONG,4,v2,ULONG,5,v3,ULONG,6,v4,W3D_Double *,7,v5)
  84. #define W3D_SetZCompareMode(v1,v2)    PPCLP2    (Warp3DPPCBase,-246,ULONG,        W3D_Context *,3,v1,ULONG,4,v2)
  85. #define W3D_WriteZPixel(v1,v2,v3,v4)    PPCLP4    (Warp3DPPCBase,-348,ULONG,        W3D_Context *,3,v1,ULONG,4,v2,ULONG,5,v3,W3D_Double *,6,v4)
  86. #define W3D_WriteZSpan(v1,v2,v3,v4,v5,v6)    PPCLP6    (Warp3DPPCBase,-354,ULONG,        W3D_Context *,3,v1,ULONG,4,v2,ULONG,5,v3,ULONG,6,v4,W3D_Double *,7,v5,UBYTE *,8,v6)
  87.  
  88. /************************** StencilBuffer functions *****************************/
  89. #define W3D_AllocStencilBuffer(v1)    PPCLP1    (Warp3DPPCBase,-252,ULONG,        W3D_Context *,3,v1)
  90. #define W3D_ClearStencilBuffer(v1,v2)    PPCLP2    (Warp3DPPCBase,-258,ULONG,        W3D_Context *,3,v1,ULONG *,4,v2)
  91. #define W3D_FillStencilBuffer(v1,v2,v3,v4,v5,v6,v7)    PPCLP2    (Warp3DPPCBase,-264,ULONG,        W3D_Context *,3,v1,ULONG,4,v2,ULONG,5,v3,ULONG,6,v4,ULONG,7,v5,ULONG,8,v6,void *,9,v7)
  92. #define W3D_FreeStencilBuffer(v1)    PPCLP1    (Warp3DPPCBase,-270,ULONG,        W3D_Context *,3,v1)
  93. #define W3D_ReadStencilPixel(v1,v2,v3,v4)    PPCLP4    (Warp3DPPCBase,-276,ULONG,    W3D_Context *,3,v1,ULONG,4,v2,ULONG,5,v3,ULONG *,6,v4)
  94. #define W3D_ReadStencilSpan(v1,v2,v3,v4,v5)    PPCLP5    (Warp3DPPCBase,-282,ULONG,        W3D_Context *,3,v1,ULONG,4,v2,ULONG,5,v3,ULONG,6,v4,ULONG *,7,v5)
  95. #define W3D_SetStencilFunc(v1,v2,v3,v4)    PPCLP4    (Warp3DPPCBase,-210,ULONG,        W3D_Context *,3,v1,ULONG,4,v2,ULONG,5,v3,ULONG,6,v4)
  96. #define W3D_SetStencilOp(v1,v2,v3,v4)    PPCLP4    (Warp3DPPCBase,-324,ULONG,        W3D_Context *,3,v1,ULONG,4,v2,ULONG,5,v3,ULONG,6,v4)
  97. #define W3D_SetWriteMask(v1,v2)        PPCLP2    (Warp3DPPCBase,-330,ULONG,        W3D_Context *,3,v1,ULONG,4,v2)
  98. #define W3D_WriteStencilPixel(v1,v2,v3,v4)    PPCLP4    (Warp3DPPCBase,-336,ULONG,    W3D_Context *,3,v1,ULONG,4,v2,ULONG,5,v3,ULONG,6,v4)
  99. #define W3D_WriteStencilSpan(v1,v2,v3,v4,v5,v6)    PPCLP6    (Warp3DPPCBase,-342,ULONG,        W3D_Context *,3,v1,ULONG,4,v2,ULONG,5,v3,ULONG,6,v4,ULONG *,7,v5,UBYTE *,8,v6)
  100.  
  101. #endif /* __PPC__ */
  102.  
  103. #endif /* POWERPC_GCCLIB_PROTOS_H */
  104.