pspsdk-1.0+beta2
pspge.h
Go to the documentation of this file.
1 /*
2  * PSP Software Development Kit - http://www.pspdev.org
3  * -----------------------------------------------------------------------
4  * Licensed under the BSD license, see LICENSE in PSPSDK root for details.
5  *
6  * pspge.h - Prototypes for the sceGe library.
7  *
8  * Copyright (c) 2005 Marcus R. Brown <mrbrown@ocgnet.org>
9  * Copyright (c) 2005 James Forshaw <tyranid@gmail.com>
10  * Copyright (c) 2005 John Kelley <ps2dev@kelley.ca>
11  *
12  * $Id: pspge.h 2433 2008-10-15 10:00:27Z iwn $
13  */
14 #ifndef __GE_H__
15 #define __GE_H__
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
22 typedef struct PspGeContext {
23  unsigned int context[512];
24 } PspGeContext;
25 
27 typedef void (*PspGeCallback)(int id, void *arg);
28 
30 typedef struct PspGeCallbackData
31 {
35  void *signal_arg;
39  void *finish_arg;
41 
42 typedef struct PspGeListArgs
43 {
44  unsigned int size;
47 
53 unsigned int sceGeEdramGetSize(void);
54 
60 void * sceGeEdramGetAddr(void);
61 
69 unsigned int sceGeGetCmd(int cmd);
70 
72 typedef enum PspGeMatrixTypes {
90 
99 int sceGeGetMtx(int type, void *matrix);
100 
108 int sceGeSaveContext(PspGeContext *context);
109 
117 int sceGeRestoreContext(const PspGeContext *context);
118 
130 int sceGeListEnQueue(const void *list, void *stall, int cbid, PspGeListArgs *arg);
131 
143 int sceGeListEnQueueHead(const void *list, void *stall, int cbid, PspGeListArgs *arg);
144 
152 int sceGeListDeQueue(int qid);
153 
162 int sceGeListUpdateStallAddr(int qid, void *stall);
163 
164 
166 typedef enum PspGeSyncType {
172 } PspGeSyncType;
173 
182 int sceGeListSync(int qid, int syncType);
183 
191 int sceGeDrawSync(int syncType);
192 
200 
207 int sceGeUnsetCallback(int cbid);
208 
209 #ifdef __cplusplus
210 }
211 #endif
212 
213 #endif /* __GE_H__ */