00001
00002
00003
00004
00005 #ifndef ps2gl_h
00006 #define ps2gl_h
00007
00008 #include "GL/gl.h"
00009
00010 #ifdef __cplusplus
00011 extern "C" {
00012 #endif // __cplusplus
00013
00014
00015
00016
00017 extern int pglInit( int immBufferVertexSize );
00018 extern int pglHasLibraryBeenInitted(void);
00019 extern void pglFinish(void);
00020
00021 extern void pglWaitForVU1(void);
00022 extern void pglWaitForVSync(void);
00023 extern void pglSwapBuffers(void);
00024
00025
00026
00027 extern void pglPrintGsMemAllocation(void);
00028 extern int pglHasGsMemBeenInitted(void);
00029
00030
00031
00032 typedef unsigned int pgl_slot_handle_t;
00033
00034 extern pgl_slot_handle_t pglAddGsMemSlot( int startingPage, int pageLength, unsigned int pixelMode );
00035 extern void pglLockGsMemSlot( pgl_slot_handle_t slot_handle );
00036 extern void pglUnlockGsMemSlot( pgl_slot_handle_t slot_handle );
00037 extern void pglRemoveAllGsMemSlots();
00038
00039
00040
00041 typedef unsigned int pgl_area_handle_t;
00042
00043 extern pgl_area_handle_t pglCreateGsMemArea( int width, int height, unsigned int pix_format );
00044 extern void pglDestroyGsMemArea( pgl_area_handle_t mem_area );
00045
00046 extern void pglAllocGsMemArea( pgl_area_handle_t mem_area );
00047 extern void pglFreeGsMemArea( pgl_area_handle_t mem_area );
00048
00049 extern void pglSetGsMemAreaWordAddr( pgl_area_handle_t mem_area, unsigned int addr );
00050
00051 extern void pglBindGsMemAreaToSlot( pgl_area_handle_t mem_area, pgl_slot_handle_t mem_slot );
00052 extern void pglUnbindGsMemArea( pgl_area_handle_t mem_area );
00053
00054 extern void pglLockGsMemArea( pgl_area_handle_t mem_area );
00055 extern void pglUnlockGsMemArea( pgl_area_handle_t mem_area );
00056
00057 extern int pglGsMemAreaIsAllocated( pgl_area_handle_t mem_area );
00058 extern unsigned int pglGetGsMemAreaWordAddr( pgl_area_handle_t mem_area );
00059
00060
00061
00062 extern void pglSetDisplayBuffers( pgl_area_handle_t frame0_mem, pgl_area_handle_t frame1_mem );
00063 extern void pglSetDrawBuffers( pgl_area_handle_t frame0_mem, pgl_area_handle_t frame1_mem,
00064 pgl_area_handle_t depth_mem );
00065
00066
00067
00068 void pglTextureFromGsMemArea( pgl_area_handle_t tex_area_handle );
00069
00070
00071
00072 void pglNormalPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr );
00073
00074 #ifdef __cplusplus
00075 }
00076 #endif // __cplusplus
00077
00078 #endif // ps2gl_h