PSPSDK 2026-10-08
Loading...
Searching...
No Matches
guInternal.h
Go to the documentation of this file.
1/*
2 * PSP Software Development Kit - https://github.com/pspdev
3 * -----------------------------------------------------------------------
4 * Licensed under the BSD license, see LICENSE in PSPSDK root for details.
5 *
6 * Copyright (c) 2005 Jesper Svennevid
7 */
8
9#ifndef __guInternal_h__
10#define __guInternal_h__
11
12#include "pspgu.h"
13
14#ifdef GU_DEBUG
15#include <assert.h>
16#include <stdio.h>
17#endif
18
19#define GU_OBJECT_STACK_SIZE 32
20
33
34typedef struct
35{
36 unsigned int *start;
37 unsigned int *current;
40
41typedef struct
42{
45 int scissor_start[2];
46 int scissor_end[2];
54 int sprite_mode[4];
55 unsigned int clear_color;
56 unsigned int clear_stencil;
57 unsigned int clear_depth;
59} GuContext;
60
61typedef struct
62{
69 int width;
70 int height;
72
73extern GuContext gu_contexts[3];
74extern int ge_list_executed[2];
75extern void *ge_edram_address;
78extern int gu_curr_context;
79extern int gu_init;
80extern int gu_first_start;
81extern int gu_display_on;
82extern int gu_call_mode;
83extern int gu_states;
85
86extern unsigned int *gu_object_stack[];
87extern int gu_object_stack_depth;
88
89void callbackSig(int id, void *arg);
90void callbackFin(int id, void *arg);
91
92typedef enum GECommand
93{
94 /* No operation */
95 NOP = 0x0,
96 /* Vertex data */
97 VADDR = 0x1,
98 /* Index data */
99 IADDR = 0x2,
100 /* Draw Primitive */
101 PRIM = 0x4,
102 /* Draw Bezier surface */
103 BEZIER = 0x5,
104 /* Draw Spline surface */
105 SPLINE = 0x6,
106 /* Bounding Box */
108 /* Jump */
109 JUMP = 0x8,
110 /* Conditional Jump */
111 BJUMP = 0x9,
112 /* List Call */
113 CALL = 0xa,
114 /* List Return */
115 RET = 0xb,
116 /* End reading */
117 END = 0xc,
118 /* Signal interrupt */
119 SIGNAL = 0xe,
120 /* Finish drawing */
121 FINISH = 0xf,
122 /* Address base */
123 BASE = 0x10,
124 /* Vertex type */
125 VERTEX_TYPE = 0x12,
126 /* Offset address */
127 OFFSET_ADDR = 0x13,
128 /* Origin address */
129 ORIGIN = 0x14,
130 /* Drawing region 1, origin */
131 REGION1 = 0x15,
132 /* Drawing region 2, end */
133 REGION2 = 0x16,
134
135 /* Lighting enable */
137 /* Light 0 enable */
139 /* Light 1 enable */
141 /* Light 2 enable */
143 /* Light 3 enable */
145 /* Clipping enable */
147 /* Culling enable */
149 /* Texture mapping enable */
151 /* Fog enable */
152 FOG_ENABLE = 0x1f,
153 /* Dithering enable */
155 /* Alpha blending enable */
157 /* Alpha testing enable */
159 /* Z testing enable */
161 /* Stencil testing enable */
163 /* Anti-aliasing enable */
165 /* Patch culling enable */
167 /* Color testing enable */
169 /* Logical operation enable */
171
172 /* Bone matrix number */
174 /* Bone matrix data */
176 /* Morph weight 0 */
178 /* Morph weight 1 */
180 /* Morph weight 2 */
182 /* Morph weight 3 */
184 /* Morph weight 4 */
186 /* Morph weight 5 */
188 /* Morph weight 6 */
190 /* Morph weight 7 */
192
193 /* Patch division count */
195 /* Patch primitive type */
197 /* Patch facing */
199 /* World matrix number */
201 /* World matrix data */
203 /* View matrix number */
205 /* View matrix data */
207 /* Projection matrix number */
209 /* Projection matrix data */
211 /* Texture generation matrix number */
213 /* Texture generation matrix data */
215
216 /* Viewport X scale */
218 /* Viewport Y scale */
220 /* Viewport Z scale */
222 /* Viewport X center */
224 /* Viewport Y center */
226 /* Viewport Z center */
228 /* Texture scale U */
229 TEX_SCALE_U = 0x48,
230 /* Texture scale V */
231 TEX_SCALE_V = 0x49,
232 /* Texture offset U */
234 /* Texture offset V */
236 /* Screen Offset X */
237 OFFSET_X = 0x4c,
238 /* Screen Offset Y */
239 OFFSET_Y = 0x4d,
240
241 /* Shade mode */
242 SHADE_MODE = 0x50,
243 /* Normal reverse */
245 /* Material color */
247 /* Material emissive */
249 /* Ambient color */
251 /* Material diffuse */
253 /* Material specular */
255 /* Ambient alpha */
257 /* Material specular coefficient */
259 /* Ambient light color */
261 /* Ambient light alpha */
263 /* Light mode */
264 LIGHT_MODE = 0x5e,
265
266 /* Light type 0 */
267 LIGHT_TYPE0 = 0x5f,
268 /* Light type 1 */
269 LIGHT_TYPE1 = 0x60,
270 /* Light type 2 */
271 LIGHT_TYPE2 = 0x61,
272 /* Light type 3 */
273 LIGHT_TYPE3 = 0x62,
274 /* Light 0 X */
275 LIGHT0_X = 0x63,
276 /* Light 0 Y */
277 LIGHT0_Y = 0x64,
278 /* Light 0 Z */
279 LIGHT0_Z = 0x65,
280 /* Light 1 X */
281 LIGHT1_X = 0x66,
282 /* Light 1 Y */
283 LIGHT1_Y = 0x67,
284 /* Light 1 Z */
285 LIGHT1_Z = 0x68,
286 /* Light 2 X */
287 LIGHT2_X = 0x69,
288 /* Light 2 Y */
289 LIGHT2_Y = 0x6a,
290 /* Light 2 Z */
291 LIGHT2_Z = 0x6b,
292 /* Light 3 X */
293 LIGHT3_X = 0x6c,
294 /* Light 3 Y */
295 LIGHT3_Y = 0x6d,
296 /* Light 3 Z */
297 LIGHT3_Z = 0x6e,
298
299 /* Light 0 direction X */
301 /* Light 0 direction Y */
303 /* Light 0 direction Z */
305 /* Light 1 direction X */
307 /* Light 1 direction Y */
309 /* Light 1 direction Z */
311 /* Light 2 direction X */
313 /* Light 2 direction Y */
315 /* Light 2 direction Z */
317 /* Light 3 direction X */
319 /* Light 3 direction Y */
321 /* Light 3 direction Z */
323
324 /* Light 0 constant attenuation */
326 /* Light 0 linear attenuation */
328 /* Light 0 quadratic attenuation */
330 /* Light 1 constant attenuation */
332 /* Light 1 linear attenuation */
334 /* Light 1 quadratic attenuation */
336 /* Light 2 constant attenuation */
338 /* Light 2 linear attenuation */
340 /* Light 2 quadratic attenuation */
342 /* Light 3 constant attenuation */
344 /* Light 3 linear attenuation */
346 /* Light 3 quadratic attenuation */
348
349 /* Light 0 exponent attenuation */
351 /* Light 1 exponent attenuation */
353 /* Light 2 exponent attenuation */
355 /* Light 3 exponent attenuation */
357
358 /* Light 0 cutoff attenuation */
360 /* Light 1 cutoff attenuation */
362 /* Light 2 cutoff attenuation */
364 /* Light 3 cutoff attenuation */
366
367 /* Light 0 ambient */
369 /* Light 0 diffuse */
371 /* Light 0 specular */
373 /* Light 1 ambient */
375 /* Light 1 diffuse */
377 /* Light 1 specular */
379 /* Light 2 ambient */
381 /* Light 2 diffuse */
383 /* Light 2 specular */
385 /* Light 3 ambient */
387 /* Light 3 diffuse */
389 /* Light 3 specular */
391
392 /* Culling */
393 CULL = 0x9b,
394
395 /* Frame buffer pointer */
397 /* Frame buffer width */
399 /* Z buffer pointer */
400 Z_BUF_PTR = 0x9e,
401 /* Z buffer width */
402 Z_BUF_WIDTH = 0x9f,
403
404 /* Texture address 0 */
405 TEX_ADDR0 = 0xa0,
406 /* Texture address 1 */
407 TEX_ADDR1 = 0xa1,
408 /* Texture address 2 */
409 TEX_ADDR2 = 0xa2,
410 /* Texture address 3 */
411 TEX_ADDR3 = 0xa3,
412 /* Texture address 4 */
413 TEX_ADDR4 = 0xa4,
414 /* Texture address 5 */
415 TEX_ADDR5 = 0xa5,
416 /* Texture address 6 */
417 TEX_ADDR6 = 0xa6,
418 /* Texture address 7 */
419 TEX_ADDR7 = 0xa7,
420 /* Texture buffer width 0 */
422 /* Texture buffer width 1 */
424 /* Texture buffer width 2 */
426 /* Texture buffer width 3 */
428 /* Texture buffer width 4 */
430 /* Texture buffer width 5 */
432 /* Texture buffer width 6 */
434 /* Texture buffer width 7 */
436
437 /* CLUT buffer pointer */
439 /* CLUT buffer width */
441
442 /* Transfer source */
444 /* Transfer source width */
446 /* Transfer destination */
448 /* Transfer destination width */
450
451 /* Texture size 0 */
452 TEX_SIZE0 = 0xb8,
453 /* Texture size 1 */
454 TEX_SIZE1 = 0xb9,
455 /* Texture size 2 */
456 TEX_SIZE2 = 0xba,
457 /* Texture size 3 */
458 TEX_SIZE3 = 0xbb,
459 /* Texture size 4 */
460 TEX_SIZE4 = 0xbc,
461 /* Texture size 5 */
462 TEX_SIZE5 = 0xbd,
463 /* Texture size 6 */
464 TEX_SIZE6 = 0xbe,
465 /* Texture size 7 */
466 TEX_SIZE7 = 0xbf,
467
468 /* Texture map mode */
470 /* Texture shade mapping */
472 /* Texture mode */
473 TEX_MODE = 0xc2,
474 /* Texture format */
475 TEX_FORMAT = 0xc3,
476 /* Load CLUT */
477 CLUT_LOAD = 0xc4,
478 /* CLUT format */
479 CLUT_FORMAT = 0xc5,
480 /* Texture filter */
481 TEX_FILTER = 0xc6,
482 /* Texture wrap */
483 TEX_WRAP = 0xc7,
484 /* Texture level */
485 TEX_LEVEL = 0xc8,
486 /* Texture function */
487 TEX_FUNC = 0xc9,
488 /* Texture environment color */
490 /* Texture flush */
491 TEX_FLUSH = 0xcb,
492 /* Texture sync */
493 TEX_SYNC = 0xcc,
494
495 /* Fog 1 */
496 FOG1 = 0xcd,
497 /* Fog 2 */
498 FOG2 = 0xce,
499 /* Fog color */
500 FOG_COLOR = 0xcf,
501 /* Texture LOD slope */
503
504 /* Frame buffer pixel format */
506 /* Clear mode */
507 CLEAR_MODE = 0xd3,
508 /* Scissor 1 */
509 SCISSOR1 = 0xd4,
510 /* Scissor 2 */
511 SCISSOR2 = 0xd5,
512
513 /* Minimum Z */
514 MIN_Z = 0xd6,
515 /* Maximum Z */
516 MAX_Z = 0xd7,
517 /* Color test */
518 COLOR_TEST = 0xd8,
519 /* Color reference */
520 COLOR_REF = 0xd9,
521 /* Color test mask */
523 /* Alpha test */
524 ALPHA_TEST = 0xdb,
525 /* Stencil test */
527 /* Stencil operation */
528 STENCIL_OP = 0xdd,
529 /* Z test */
530 Z_TEST = 0xde,
531 /* Blend mode */
532 BLEND_MODE = 0xdf,
533 /* Blend fixed A */
535 /* Blend fixed B */
537 /* Dither 0 */
538 DITH0 = 0xe2,
539 /* Dither 1 */
540 DITH1 = 0xe3,
541 /* Dither 2 */
542 DITH2 = 0xe4,
543 /* Dither 3 */
544 DITH3 = 0xe5,
545
546 /* Logical operation */
547 LOGIC_OP = 0xe6,
548 /* Z mask */
549 Z_MASK = 0xe7,
550 /* Mask color */
551 MASK_COLOR = 0xe8,
552 /* Mask alpha */
553 MASK_ALPHA = 0xe9,
554
555 /* Transfer start */
557 /* Transfer source offset */
559 /* Transfer destination offset */
561 /* Transfer format */
563 /* Transfer size */
565
566 /* Transfer flip */
568 /* Transfer out size */
570 /* Transfer out format */
572 /* Vertex weight */
574 /* Vertex weight address */
576 /* Vertex weight size */
578 /* Vertex weight type */
580 /* Vertex weight model */
582 /* Vertex weight normalize */
584 /* Vertex weight offset */
586 /* Vertex weight scale */
588 /* Vertex weight matrix */
590 /* Vertex weight matrix address */
592 /* Vertex weight matrix size */
594 /* Vertex weight matrix type */
596 /* Vertex weight matrix model */
598 /* Vertex weight matrix normalize */
601
602static inline void sendCommandi(GECommand cmd, int argument)
603{
604 *(gu_list->current++) = (cmd << 24) | (argument & 0xffffff);
605}
606
607static inline void sendCommandf(GECommand cmd, float argument)
608{
609 union
610 {
611 float f;
612 unsigned int i;
613 } t;
614 t.f = argument;
615
616 sendCommandi(cmd, t.i >> 8);
617}
618
619static inline int _sceGuUpdateStallAddr(void) {
620 if (gu_curr_context == GU_DIRECT) {
621 // Just if there are no objects in the stack (no guBeginObject)
623 int res;
625 if (res < 0) {
626 return res;
627 }
628 }
629 }
630 return 0;
631}
632
633#endif
int gu_init
Definition guInternal.c:17
int gu_display_on
Definition guInternal.c:19
void callbackFin(int id, void *arg)
Definition sceGuInit.c:291
void callbackSig(int id, void *arg)
Definition sceGuInit.c:298
int gu_curr_context
Definition guInternal.c:16
GuDrawBuffer gu_draw_buffer
Definition guInternal.c:22
GECommand
Definition guInternal.h:93
@ REGION2
Definition guInternal.h:133
@ TEX_BUF_WIDTH6
Definition guInternal.h:433
@ VIEW_MATRIX_NUMBER
Definition guInternal.h:204
@ BLEND_MODE
Definition guInternal.h:532
@ VERTEX_TYPE
Definition guInternal.h:125
@ STENCIL_TEST_ENABLE
Definition guInternal.h:162
@ VADDR
Definition guInternal.h:97
@ TEX_BUF_WIDTH4
Definition guInternal.h:429
@ TEX_LOD_SLOPE
Definition guInternal.h:502
@ LIGHT3_Y
Definition guInternal.h:295
@ VIEW_MATRIX_DATA
Definition guInternal.h:206
@ LIGHT0_X
Definition guInternal.h:275
@ LIGHT2_DIRECTION_Y
Definition guInternal.h:314
@ PATCH_DIVISION
Definition guInternal.h:194
@ VERTEX_WEIGHT_ADDR
Definition guInternal.h:575
@ MORPH_WEIGHT6
Definition guInternal.h:189
@ TEX_BUF_WIDTH3
Definition guInternal.h:427
@ ANTI_ALIAS_ENABLE
Definition guInternal.h:164
@ TEX_ADDR0
Definition guInternal.h:405
@ TEX_FORMAT
Definition guInternal.h:475
@ MORPH_WEIGHT2
Definition guInternal.h:181
@ JUMP
Definition guInternal.h:109
@ LIGHT1_X
Definition guInternal.h:281
@ Z_BUF_PTR
Definition guInternal.h:400
@ LIGHT3_LINEAR_ATTEN
Definition guInternal.h:345
@ AMBIENT_LIGHT_COLOR
Definition guInternal.h:260
@ LIGHT0_EXPONENT_ATTEN
Definition guInternal.h:350
@ WORLD_MATRIX_NUMBER
Definition guInternal.h:200
@ MATERIAL_COLOR
Definition guInternal.h:246
@ FOG1
Definition guInternal.h:496
@ LIGHT0_Y
Definition guInternal.h:277
@ AMBIENT_COLOR
Definition guInternal.h:250
@ VERTEX_WEIGHT_MATRIX_ADDR
Definition guInternal.h:591
@ TEX_SHADE_MAPPING
Definition guInternal.h:471
@ VERTEX_WEIGHT_MATRIX_NORMALIZE
Definition guInternal.h:599
@ LIGHT3_DIRECTION_Z
Definition guInternal.h:322
@ LIGHTING_ENABLE
Definition guInternal.h:136
@ PATCH_PRIMITIVE
Definition guInternal.h:196
@ LIGHT1_DIRECTION_Y
Definition guInternal.h:308
@ DEPTH_CLIP_ENABLE
Definition guInternal.h:146
@ TEX_MODE
Definition guInternal.h:473
@ VIEWPORT_Z_CENTER
Definition guInternal.h:227
@ LIGHT3_DIRECTION_X
Definition guInternal.h:318
@ LIGHT0_CONSTANT_ATTEN
Definition guInternal.h:325
@ TEX_SIZE4
Definition guInternal.h:460
@ TEX_OFFSET_V
Definition guInternal.h:235
@ LIGHT3_CUTOFF_ATTEN
Definition guInternal.h:365
@ COLOR_REF
Definition guInternal.h:520
@ TEXTURE_ENABLE
Definition guInternal.h:150
@ VERTEX_WEIGHT_SIZE
Definition guInternal.h:577
@ AMBIENT_ALPHA
Definition guInternal.h:256
@ Z_MASK
Definition guInternal.h:549
@ LIGHT_ENABLE2
Definition guInternal.h:142
@ LIGHT3_DIRECTION_Y
Definition guInternal.h:320
@ SIGNAL
Definition guInternal.h:119
@ TRANSFER_START
Definition guInternal.h:556
@ MASK_ALPHA
Definition guInternal.h:553
@ TEX_SIZE7
Definition guInternal.h:466
@ DITHER_ENABLE
Definition guInternal.h:154
@ SPLINE
Definition guInternal.h:105
@ TEX_MAP_MODE
Definition guInternal.h:469
@ TEX_ADDR6
Definition guInternal.h:417
@ LIGHT1_QUADRATIC_ATTEN
Definition guInternal.h:335
@ LIGHT1_DIRECTION_Z
Definition guInternal.h:310
@ TEX_SIZE1
Definition guInternal.h:454
@ TEX_FUNC
Definition guInternal.h:487
@ SHADE_MODE
Definition guInternal.h:242
@ BOUNDING_BOX
Definition guInternal.h:107
@ PROJ_MATRIX_DATA
Definition guInternal.h:210
@ TEX_SIZE0
Definition guInternal.h:452
@ TGEN_MATRIX_DATA
Definition guInternal.h:214
@ CLUT_BUF_PTR
Definition guInternal.h:438
@ LIGHT2_Y
Definition guInternal.h:289
@ CULL
Definition guInternal.h:393
@ STENCIL_OP
Definition guInternal.h:528
@ DITH3
Definition guInternal.h:544
@ TRANSFER_SIZE
Definition guInternal.h:564
@ TRANSFER_DST_OFFSET
Definition guInternal.h:560
@ LIGHT1_LINEAR_ATTEN
Definition guInternal.h:333
@ TRANSFER_SRC_W
Definition guInternal.h:445
@ LIGHT2_AMBIENT
Definition guInternal.h:380
@ CLUT_LOAD
Definition guInternal.h:477
@ LIGHT2_LINEAR_ATTEN
Definition guInternal.h:339
@ FOG2
Definition guInternal.h:498
@ VERTEX_WEIGHT_MATRIX_TYPE
Definition guInternal.h:595
@ ALPHA_TEST_ENABLE
Definition guInternal.h:158
@ TEX_WRAP
Definition guInternal.h:483
@ VERTEX_WEIGHT_MATRIX_MODEL
Definition guInternal.h:597
@ LIGHT_ENABLE0
Definition guInternal.h:138
@ LIGHT1_DIRECTION_X
Definition guInternal.h:306
@ LIGHT1_CUTOFF_ATTEN
Definition guInternal.h:361
@ TEX_FLUSH
Definition guInternal.h:491
@ LIGHT2_CUTOFF_ATTEN
Definition guInternal.h:363
@ PATCH_FACING
Definition guInternal.h:198
@ LIGHT1_Y
Definition guInternal.h:283
@ LIGHT0_LINEAR_ATTEN
Definition guInternal.h:327
@ ORIGIN
Definition guInternal.h:129
@ VERTEX_WEIGHT_OFFSET
Definition guInternal.h:585
@ TEX_FILTER
Definition guInternal.h:481
@ CULL_FACE_ENABLE
Definition guInternal.h:148
@ VIEWPORT_Z_SCALE
Definition guInternal.h:221
@ TEX_LEVEL
Definition guInternal.h:485
@ LIGHT0_QUADRATIC_ATTEN
Definition guInternal.h:329
@ MORPH_WEIGHT7
Definition guInternal.h:191
@ FRAME_BUF_PTR
Definition guInternal.h:396
@ BLEND_FIXED_A
Definition guInternal.h:534
@ TEX_OFFSET_U
Definition guInternal.h:233
@ TEX_BUF_WIDTH2
Definition guInternal.h:425
@ VIEWPORT_X_CENTER
Definition guInternal.h:223
@ LIGHT0_DIRECTION_Z
Definition guInternal.h:304
@ TRANSFER_FLIP
Definition guInternal.h:567
@ TEX_ADDR5
Definition guInternal.h:415
@ LIGHT3_EXPONENT_ATTEN
Definition guInternal.h:356
@ TEX_SCALE_V
Definition guInternal.h:231
@ ALPHA_TEST
Definition guInternal.h:524
@ VERTEX_WEIGHT_SCALE
Definition guInternal.h:587
@ FINISH
Definition guInternal.h:121
@ BLEND_FIXED_B
Definition guInternal.h:536
@ TGEN_MATRIX_NUMBER
Definition guInternal.h:212
@ LIGHT0_CUTOFF_ATTEN
Definition guInternal.h:359
@ MASK_COLOR
Definition guInternal.h:551
@ LOGIC_OP
Definition guInternal.h:547
@ DITH0
Definition guInternal.h:538
@ VIEWPORT_Y_SCALE
Definition guInternal.h:219
@ LIGHT_TYPE2
Definition guInternal.h:271
@ OFFSET_ADDR
Definition guInternal.h:127
@ FRAMEBUF_PIX_FORMAT
Definition guInternal.h:505
@ TRANSFER_DST_W
Definition guInternal.h:449
@ MATERIAL_SPECULAR
Definition guInternal.h:254
@ VIEWPORT_Y_CENTER
Definition guInternal.h:225
@ LIGHT3_DIFFUSE
Definition guInternal.h:388
@ TRANSFER_OUT_SIZE
Definition guInternal.h:569
@ REGION1
Definition guInternal.h:131
@ BEZIER
Definition guInternal.h:103
@ LIGHT_ENABLE3
Definition guInternal.h:144
@ MATERIAL_EMISSIVE
Definition guInternal.h:248
@ STENCIL_TEST
Definition guInternal.h:526
@ IADDR
Definition guInternal.h:99
@ LIGHT1_Z
Definition guInternal.h:285
@ MATERIAL_SPECULAR_COEF
Definition guInternal.h:258
@ BONE_MATRIX_NUMBER
Definition guInternal.h:173
@ SCISSOR2
Definition guInternal.h:511
@ BASE
Definition guInternal.h:123
@ LIGHT2_SPECULAR
Definition guInternal.h:384
@ TEX_SYNC
Definition guInternal.h:493
@ TRANSFER_SRC
Definition guInternal.h:443
@ LIGHT1_CONSTANT_ATTEN
Definition guInternal.h:331
@ MORPH_WEIGHT3
Definition guInternal.h:183
@ LIGHT2_Z
Definition guInternal.h:291
@ LIGHT3_X
Definition guInternal.h:293
@ LIGHT_TYPE1
Definition guInternal.h:269
@ VERTEX_WEIGHT_MODEL
Definition guInternal.h:581
@ TRANSFER_SRC_OFFSET
Definition guInternal.h:558
@ BONE_MATRIX_DATA
Definition guInternal.h:175
@ RET
Definition guInternal.h:115
@ COLOR_TESTMASK
Definition guInternal.h:522
@ FRAME_BUF_WIDTH
Definition guInternal.h:398
@ LIGHT0_DIRECTION_X
Definition guInternal.h:300
@ TEX_BUF_WIDTH0
Definition guInternal.h:421
@ TEX_SIZE3
Definition guInternal.h:458
@ VERTEX_WEIGHT
Definition guInternal.h:573
@ FOG_ENABLE
Definition guInternal.h:152
@ MORPH_WEIGHT1
Definition guInternal.h:179
@ FOG_COLOR
Definition guInternal.h:500
@ CALL
Definition guInternal.h:113
@ VERTEX_WEIGHT_TYPE
Definition guInternal.h:579
@ TEX_ADDR7
Definition guInternal.h:419
@ CLEAR_MODE
Definition guInternal.h:507
@ LIGHT3_CONSTANT_ATTEN
Definition guInternal.h:343
@ TEX_BUF_WIDTH1
Definition guInternal.h:423
@ TRANSFER_FORMAT
Definition guInternal.h:562
@ LIGHT3_SPECULAR
Definition guInternal.h:390
@ BJUMP
Definition guInternal.h:111
@ LOGIC_OP_ENABLE
Definition guInternal.h:170
@ LIGHT0_SPECULAR
Definition guInternal.h:372
@ LIGHT2_X
Definition guInternal.h:287
@ ALPHA_BLEND_ENABLE
Definition guInternal.h:156
@ Z_TEST
Definition guInternal.h:530
@ TEX_SCALE_U
Definition guInternal.h:229
@ LIGHT0_DIFFUSE
Definition guInternal.h:370
@ TEX_SIZE5
Definition guInternal.h:462
@ LIGHT2_DIRECTION_X
Definition guInternal.h:312
@ MORPH_WEIGHT0
Definition guInternal.h:177
@ TEX_ADDR4
Definition guInternal.h:413
@ DITH1
Definition guInternal.h:540
@ VERTEX_WEIGHT_MATRIX
Definition guInternal.h:589
@ LIGHT3_AMBIENT
Definition guInternal.h:386
@ LIGHT3_Z
Definition guInternal.h:297
@ LIGHT3_QUADRATIC_ATTEN
Definition guInternal.h:347
@ PATCH_CULL_ENABLE
Definition guInternal.h:166
@ COLOR_TEST
Definition guInternal.h:518
@ MATERIAL_DIFFUSE
Definition guInternal.h:252
@ TEX_ADDR1
Definition guInternal.h:407
@ OFFSET_Y
Definition guInternal.h:239
@ TEX_BUF_WIDTH7
Definition guInternal.h:435
@ TRANSFER_DST
Definition guInternal.h:447
@ SCISSOR1
Definition guInternal.h:509
@ LIGHT_MODE
Definition guInternal.h:264
@ VIEWPORT_X_SCALE
Definition guInternal.h:217
@ LIGHT0_AMBIENT
Definition guInternal.h:368
@ MIN_Z
Definition guInternal.h:514
@ LIGHT2_DIRECTION_Z
Definition guInternal.h:316
@ Z_TEST_ENABLE
Definition guInternal.h:160
@ END
Definition guInternal.h:117
@ TEX_ADDR2
Definition guInternal.h:409
@ LIGHT2_DIFFUSE
Definition guInternal.h:382
@ LIGHT2_EXPONENT_ATTEN
Definition guInternal.h:354
@ LIGHT0_Z
Definition guInternal.h:279
@ TRANSFER_OUT_FORMAT
Definition guInternal.h:571
@ WORLD_MATRIX_DATA
Definition guInternal.h:202
@ PRIM
Definition guInternal.h:101
@ VERTEX_WEIGHT_NORMALIZE
Definition guInternal.h:583
@ TEX_SIZE6
Definition guInternal.h:464
@ LIGHT1_EXPONENT_ATTEN
Definition guInternal.h:352
@ Z_BUF_WIDTH
Definition guInternal.h:402
@ LIGHT1_DIFFUSE
Definition guInternal.h:376
@ LIGHT1_AMBIENT
Definition guInternal.h:374
@ VERTEX_WEIGHT_MATRIX_SIZE
Definition guInternal.h:593
@ MAX_Z
Definition guInternal.h:516
@ CLUT_FORMAT
Definition guInternal.h:479
@ LIGHT2_CONSTANT_ATTEN
Definition guInternal.h:337
@ MORPH_WEIGHT4
Definition guInternal.h:185
@ TEX_BUF_WIDTH5
Definition guInternal.h:431
@ TEX_ADDR3
Definition guInternal.h:411
@ TEX_ENV_COLOR
Definition guInternal.h:489
@ PROJ_MATRIX_NUMBER
Definition guInternal.h:208
@ LIGHT1_SPECULAR
Definition guInternal.h:378
@ NORMAL_REVERSE
Definition guInternal.h:244
@ LIGHT2_QUADRATIC_ATTEN
Definition guInternal.h:341
@ NOP
Definition guInternal.h:95
@ LIGHT_TYPE3
Definition guInternal.h:273
@ AMBIENT_LIGHT_ALPHA
Definition guInternal.h:262
@ COLOR_TEST_ENABLE
Definition guInternal.h:168
@ MORPH_WEIGHT5
Definition guInternal.h:187
@ OFFSET_X
Definition guInternal.h:237
@ DITH2
Definition guInternal.h:542
@ LIGHT0_DIRECTION_Y
Definition guInternal.h:302
@ LIGHT_ENABLE1
Definition guInternal.h:140
@ LIGHT_TYPE0
Definition guInternal.h:267
@ TEX_SIZE2
Definition guInternal.h:456
@ CLUT_BUF_WIDTH
Definition guInternal.h:440
int gu_states
Definition guInternal.c:21
GuDisplayList * gu_list
Definition guInternal.c:15
unsigned int * gu_object_stack[]
Definition guInternal.c:23
GuSettings gu_settings
Definition guInternal.c:14
GuContext gu_contexts[3]
Definition guInternal.c:11
int gu_object_stack_depth
Definition guInternal.c:24
int gu_call_mode
Definition guInternal.c:20
int ge_list_executed[2]
Definition guInternal.c:12
void * ge_edram_address
Definition guInternal.c:13
int gu_first_start
Definition guInternal.c:18
int sceGeListUpdateStallAddr(int qid, void *stall)
Update the stall address for the specified queue.
void(* GuCallback)(int id)
Callback for signal and finish events.
Definition pspgu.h:350
#define GU_DIRECT
Definition pspgu.h:294
void(* GuSwapBuffersCallback)(void **display, void **render)
Callback for the framebuffer swap.
Definition pspgu.h:353
Definition guInternal.h:42
int fragment_2x
Definition guInternal.h:50
GuDisplayList list
Definition guInternal.h:43
unsigned int clear_color
Definition guInternal.h:55
int near_plane
Definition guInternal.h:47
unsigned int clear_depth
Definition guInternal.h:57
int texture_proj_map_mode
Definition guInternal.h:52
int texture_mode
Definition guInternal.h:58
int scissor_enable
Definition guInternal.h:44
int texture_map_mode
Definition guInternal.h:53
unsigned int clear_stencil
Definition guInternal.h:56
int texture_function
Definition guInternal.h:51
int far_plane
Definition guInternal.h:48
int depth_offset
Definition guInternal.h:49
Definition guInternal.h:35
unsigned int * start
Definition guInternal.h:36
unsigned int * current
Definition guInternal.h:37
int parent_context
Definition guInternal.h:38
Definition guInternal.h:62
int width
Definition guInternal.h:69
int depth_width
Definition guInternal.h:68
int height
Definition guInternal.h:70
void * frame_buffer
Definition guInternal.h:65
void * depth_buffer
Definition guInternal.h:67
int pixel_size
Definition guInternal.h:63
void * disp_buffer
Definition guInternal.h:66
int frame_width
Definition guInternal.h:64
Definition guInternal.h:22
int kernel_event_flag
Definition guInternal.h:27
int ge_callback_id
Definition guInternal.h:28
int swapBuffersBehaviour
Definition guInternal.h:31
GuCallback sig
Definition guInternal.h:23
int signal_offset
Definition guInternal.h:26
GuSwapBuffersCallback swapBuffersCallback
Definition guInternal.h:30
GuCallback fin
Definition guInternal.h:24