psl1ght
A free SDK for Sony's PS3 console
Loading...
Searching...
No Matches
gcm_sys.h
Go to the documentation of this file.
1
5#ifndef __GCM_SYS_H__
6#define __GCM_SYS_H__
7
8#include <ppu-types.h>
9
11#define GCM_TRUE 1
13#define GCM_FALSE 0
14
19#define GCM_DEFAULT_FIFO_MODE_TRADITIONAL 0
20
21/* \brief Optimized FIFO mode. Uses the \ref rsxSetWriteTextureLable() to manage the
22 command buffer. It handles each segment buffer as an index and monitors
23 states of the segment buffers by reading the label value executed
24 by \ref rsxSetWriteTextureLabel().
25*/
26#define GCM_DEFAULT_FIFO_MODE_OPTIMIZE 1
27
28/* \brief Conditional FIFO mode. Uses the \ref rsxSetWriteCommandLabel() to manage the
29 the command buffer. The management of the command buffer is carried out in
30 the same manner as \ref GCM_DEFAULT_FIFO_MODE_OPTIMIZE.
31*/
32#define GCM_DEFAULT_FIFO_MODE_CONDITIONAL 2
33
35#define GCM_FLIP_HSYNC 1
37#define GCM_FLIP_VSYNC 2
39#define GCM_FLIP_HSYNC_AND_BREAK_EVERYTHING 3
40
42#define GCM_MAX_MRT_COUNT 4
43
44#define GCM_DMA_MEMORY_FRAME_BUFFER (0xFEED0000)
45#define GCM_DMA_MEMORY_HOST_BUFFER (0xFEED0001)
46
47#define GCM_CONTEXT_SURFACE2D (0x313371C3)
48#define GCM_CONTEXT_SWIZZLE2D (0x31337A73)
49
50#define GCM_TRANSFER_LOCAL_TO_LOCAL 0
51#define GCM_TRANSFER_MAIN_TO_LOCAL 1
52#define GCM_TRANSFER_LOCAL_TO_MAIN 2
53#define GCM_TRANSFER_MAIN_TO_MAIN 3
54
56#define GCM_LOCATION_RSX 0
58#define GCM_LOCATION_CELL 1
60#define GCM_LOCATION_REPORT 2
61
62#define GCM_SURFACE_X1R5G5B5_Z1R5G5B5 1
63#define GCM_SURFACE_X1R5G5B5_O1R5G5B5 2
64#define GCM_SURFACE_R5G5B5 3
65#define GCM_SURFACE_X8R8G8B8_Z8R8G8B8 4
66#define GCM_SURFACE_X8R8G8B8 5
67#define GCM_SURFACE_A8R8G8B8 8
68#define GCM_SURFACE_B8 9
69#define GCM_SURFACE_G8B8 10
70#define GCM_SURFACE_F_W16Z16Y16X16 11
71#define GCM_SURFACE_F_W32Z32Y32X32 12
72#define GCM_SURFACE_F_X32 13
73#define GCM_SURFACE_X8B8G8R8_Z8B8G8R8 14
74#define GCM_SURFACE_X8B8G8R8_O8B8G8R8 15
75#define GCM_SURFACE_A8B8G8R8 16
76
78#define GCM_SURFACE_ZETA_Z16 1
80#define GCM_SURFACE_ZETA_Z24S8 2
81
83#define GCM_SURFACE_TYPE_LINEAR 1
85#define GCM_SURFACE_TYPE_SWIZZLE 2
86
88#define GCM_SURFACE_TARGET_NONE 0
90#define GCM_SURFACE_TARGET_0 1
92#define GCM_SURFACE_TARGET_1 2
94#define GCM_SURFACE_TARGET_MRT1 0x13
96#define GCM_SURFACE_TARGET_MRT2 0x17
98#define GCM_SURFACE_TARGET_MRT3 0x1f
99
101#define GCM_SURFACE_CENTER_1 0
102#define GCM_SURFACE_DIAGONAL_CENTERED_2 3
103#define GCM_SURFACE_SQUARE_CENTERED_4 4
104#define GCM_SURFACE_SQUARE_ROTATED_4 5
105
107#define GCM_COLOR_MASK_B 0x00000001
109#define GCM_COLOR_MASK_G 0x00000100
111#define GCM_COLOR_MASK_R 0x00010000
113#define GCM_COLOR_MASK_A 0x01000000
114
115#define GCM_COLOR_MASK_MRT1_A 0x00000010
116#define GCM_COLOR_MASK_MRT1_R 0x00000020
117#define GCM_COLOR_MASK_MRT1_G 0x00000040
118#define GCM_COLOR_MASK_MRT1_B 0x00000080
119#define GCM_COLOR_MASK_MRT2_A 0x00000100
120#define GCM_COLOR_MASK_MRT2_R 0x00000200
121#define GCM_COLOR_MASK_MRT2_G 0x00000400
122#define GCM_COLOR_MASK_MRT2_B 0x00000800
123#define GCM_COLOR_MASK_MRT3_A 0x00001000
124#define GCM_COLOR_MASK_MRT3_R 0x00002000
125#define GCM_COLOR_MASK_MRT3_G 0x00004000
126#define GCM_COLOR_MASK_MRT3_B 0x00008000
127
129#define GCM_CLEAR_Z 0x01
131#define GCM_CLEAR_S 0x02
133#define GCM_CLEAR_R 0x10
135#define GCM_CLEAR_G 0x20
137#define GCM_CLEAR_B 0x40
139#define GCM_CLEAR_A 0x80
141#define GCM_CLEAR_M 0xf3
142
144#define GCM_NEVER 0x0200
146#define GCM_LESS 0x0201
148#define GCM_EQUAL 0x0202
150#define GCM_LEQUAL 0x0203
152#define GCM_GREATER 0x0204
154#define GCM_NOTEQUAL 0x0205
156#define GCM_GEQUAL 0x0206
158#define GCM_ALWAYS 0x0207
159
161#define GCM_CULL_FRONT 0x0404
163#define GCM_CULL_BACK 0x0405
165#define GCM_CULL_ALL 0x0408
166
168#define GCM_POLYGON_MODE_POINT 0x1b00
170#define GCM_POLYGON_MODE_LINE 0x1b01
172#define GCM_POLYGON_MODE_FILL 0x1b02
173
175#define GCM_FRONTFACE_CW 0x0900
177#define GCM_FRONTFACE_CCW 0x0901
178
179#define GCM_CLEAR 0x1500
180#define GCM_AND 0x1501
181#define GCM_AND_REVERSE 0x1502
182#define GCM_COPY 0x1503
183#define GCM_AND_INVERTED 0x1504
184#define GCM_NOOP 0x1505
185#define GCM_XOR 0x1506
186#define GCM_OR 0x1507
187#define GCM_NOR 0x1508
188#define GCM_EQUIV 0x1509
189#define GCM_INVERT 0x150A
190#define GCM_OR_REVERSE 0x150B
191#define GCM_COPY_INVERTED 0x150C
192#define GCM_OR_INVERTED 0x150D
193#define GCM_NAND 0x150E
194#define GCM_SET 0x150F
195
197#define GCM_KEEP 0x1E00
199#define GCM_REPLACE 0x1E01
201#define GCM_INCR 0x1E02
203#define GCM_DECR 0x1E03
205#define GCM_INCR_WRAP 0x8507
207#define GCM_DECR_WRAP 0x8508
208
210#define GCM_TYPE_POINTS 1
212#define GCM_TYPE_LINES 2
214#define GCM_TYPE_LINE_LOOP 3
216#define GCM_TYPE_LINE_STRIP 4
218#define GCM_TYPE_TRIANGLES 5
220#define GCM_TYPE_TRIANGLE_STRIP 6
222#define GCM_TYPE_TRIANGLE_FAN 7
224#define GCM_TYPE_QUADS 8
226#define GCM_TYPE_QUAD_STRIP 9
228#define GCM_TYPE_POLYGON 10
229
231#define GCM_INVALIDATE_TEXTURE 1
233#define GCM_INVALIDATE_VERTEX_TEXTURE 2
234
236#define GCM_TEXTURE_DIMS_1D 1
238#define GCM_TEXTURE_DIMS_2D 2
240#define GCM_TEXTURE_DIMS_3D 3
241
243#define GCM_TEXTURE_FORMAT_SWZ 0x00
245#define GCM_TEXTURE_FORMAT_LIN 0x20
247#define GCM_TEXTURE_FORMAT_NRM 0x00
249#define GCM_TEXTURE_FORMAT_UNRM 0x40
250
252#define GCM_TEXTURE_FORMAT_B8 1
254#define GCM_TEXTURE_FORMAT_A1R5G5B5 2
256#define GCM_TEXTURE_FORMAT_A4R4G4B4 3
258#define GCM_TEXTURE_FORMAT_R5G6B5 4
260#define GCM_TEXTURE_FORMAT_A8R8G8B8 5
262#define GCM_TEXTURE_FORMAT_DXT1 6
264#define GCM_TEXTURE_FORMAT_DXT23 7
266#define GCM_TEXTURE_FORMAT_DXT45 8
268#define GCM_TEXTURE_FORMAT_G8B8 11
270#define GCM_TEXTURE_FORMAT_R6G5B5 15
272#define GCM_TEXTURE_FORMAT_DEPTH24_D8 16
274#define GCM_TEXTURE_FORMAT_DEPTH24_D8_FLOAT 17
276#define GCM_TEXTURE_FORMAT_DEPTH16 18
278#define GCM_TEXTURE_FORMAT_DEPTH16_FLOAT 19
280#define GCM_TEXTURE_FORMAT_X16 20
282#define GCM_TEXTURE_FORMAT_Y16_X16 21
284#define GCM_TEXTURE_FORMAT_R5G6B5A1 23
286#define GCM_TEXTURE_FORMAT_COMPRESSED_HILO8 24
288#define GCM_TEXTURE_FORMAT_COMPRESSED_HILO8_S8 25
290#define GCM_TEXTURE_FORMAT_W16_Z16_Y16_X16_FLOAT 26
292#define GCM_TEXTURE_FORMAT_W32_Z32_Y32_X32_FLOAT 27
294#define GCM_TEXTURE_FORMAT_X32_FLOAT 28
296#define GCM_TEXTURE_FORMAT_D1R5G5B5 29
298#define GCM_TEXTURE_FORMAT_D8R8G8B8 30
300#define GCM_TEXTURE_FORMAT_Y16_X16_FLOAT 31
302#define GCM_TEXTURE_FORMAT_COMPRESSED_B8R8_G8R8 45
304#define GCM_TEXTURE_FORMAT_COMPRESSED_R8B8_R8G8 46
305
306
308#define GCM_TEXTURE_REMAP_TYPE_B_SHIFT 14
310#define GCM_TEXTURE_REMAP_TYPE_G_SHIFT 12
312#define GCM_TEXTURE_REMAP_TYPE_R_SHIFT 10
314#define GCM_TEXTURE_REMAP_TYPE_A_SHIFT 8
315
317#define GCM_TEXTURE_REMAP_COLOR_B_SHIFT 6
319#define GCM_TEXTURE_REMAP_COLOR_G_SHIFT 4
321#define GCM_TEXTURE_REMAP_COLOR_R_SHIFT 2
323#define GCM_TEXTURE_REMAP_COLOR_A_SHIFT 0
324
326#define GCM_TEXTURE_REMAP_TYPE_ZERO 0
328#define GCM_TEXTURE_REMAP_TYPE_ONE 1
330#define GCM_TEXTURE_REMAP_TYPE_REMAP 2
331
333#define GCM_TEXTURE_REMAP_ORDER_XYXY 0
335#define GCM_TEXTURE_REMAP_ORDER_XXXY 1
337#define GCM_TEXTURE_REMAP_COLOR_A 0
339#define GCM_TEXTURE_REMAP_COLOR_R 1
341#define GCM_TEXTURE_REMAP_COLOR_G 2
343#define GCM_TEXTURE_REMAP_COLOR_B 3
344
346#define GCM_TEXTURE_MAX_ANISO_1 0
348#define GCM_TEXTURE_MAX_ANISO_2 1
350#define GCM_TEXTURE_MAX_ANISO_4 2
352#define GCM_TEXTURE_MAX_ANISO_6 3
354#define GCM_TEXTURE_MAX_ANISO_8 4
356#define GCM_TEXTURE_MAX_ANISO_10 5
358#define GCM_TEXTURE_MAX_ANISO_12 6
360#define GCM_TEXTURE_MAX_ANISO_16 7
361
362#define GCM_FOG_MODE_LINEAR 0x2601
363#define GCM_FOG_MODE_EXP 0x0800
364#define GCM_FOG_MODE_EXP2 0x0801
365#define GCM_FOG_MODE_EXP_ABS 0x0802
366#define GCM_FOG_MODE_EXP2_ABS 0x0803
367#define GCM_FOG_MODE_LINEAR_ABS 0x0804
368
369#define GCM_POINT_SPRITE_TEX0 (1<<8)
370#define GCM_POINT_SPRITE_TEX1 (1<<9)
371#define GCM_POINT_SPRITE_TEX2 (1<<10)
372#define GCM_POINT_SPRITE_TEX3 (1<<11)
373#define GCM_POINT_SPRITE_TEX4 (1<<12)
374#define GCM_POINT_SPRITE_TEX5 (1<<13)
375#define GCM_POINT_SPRITE_TEX6 (1<<14)
376#define GCM_POINT_SPRITE_TEX7 (1<<15)
377#define GCM_POINT_SPRITE_TEX8 (1<<16)
378#define GCM_POINT_SPRITE_TEX9 (1<<17)
379
380#define GCM_POINT_SPRITE_RMODE_ZERO 0
381#define GCM_POINT_SPRITE_RMODE_FROM_R 1
382#define GCM_POINT_SPRITE_RMODE_FROM_S 2
383
384#define GCM_TEXTURE_NEAREST 1
385#define GCM_TEXTURE_LINEAR 2
386#define GCM_TEXTURE_NEAREST_MIPMAP_NEAREST 3
387#define GCM_TEXTURE_LINEAR_MIPMAP_NEAREST 4
388#define GCM_TEXTURE_NEAREST_MIPMAP_LINEAR 5
389#define GCM_TEXTURE_LINEAR_MIPMAP_LINEAR 6
390#define GCM_TEXTURE_CONVOLUTION_MIN 7
391#define GCM_TEXTURE_CONVOLUTION_MAG 4
392
393#define GCM_TEXTURE_CONVOLUTION_QUINCUNX 1
394#define GCM_TEXTURE_CONVOLUTION_GAUSSIAN 2
395#define GCM_TEXTURE_CONVOLUTION_QUINCUNX_ALT 3
396
397#define GCM_TEXTURE_REPEAT 1
398#define GCM_TEXTURE_MIRRORED_REPEAT 2
399#define GCM_TEXTURE_CLAMP_TO_EDGE 3
400#define GCM_TEXTURE_BORDER 4
401#define GCM_TEXTURE_CLAMP 5
402#define GCM_TEXTURE_MIRROR_ONCE_CLAMP_TO_EDGE 6
403#define GCM_TEXTURE_MIRROR_ONCE_CLAMP_TO_BORDER 7
404#define GCM_TEXTURE_MIRROR_ONCE_CLAMP 8
405
406#define GCM_TEXTURE_UNSIGNED_REMAP_NORMAL 0
407#define GCM_TEXTURE_UNSIGNED_REMAP_BIASED 1
408
409#define GCM_TEXTURE_GAMMA_R (1<<0)
410#define GCM_TEXTURE_GAMMA_G (1<<1)
411#define GCM_TEXTURE_GAMMA_B (1<<2)
412#define GCM_TEXTURE_GAMMA_A (1<<3)
413
414#define GCM_TEXTURE_ZFUNC_NEVER 0
415#define GCM_TEXTURE_ZFUNC_LESS 1
416#define GCM_TEXTURE_ZFUNC_EQUAL 2
417#define GCM_TEXTURE_ZFUNC_LEQUAL 3
418#define GCM_TEXTURE_ZFUNC_GREATER 4
419#define GCM_TEXTURE_ZFUNC_NOTEQUAL 5
420#define GCM_TEXTURE_ZFUNC_GEQUAL 6
421#define GCM_TEXTURE_ZFUNC_ALWAYS 7
422
423#define GCM_TEXTURE_ISO_LOW 0
424#define GCM_TEXTURE_ISO_HIGH 1
425
426#define GCM_TEXTURE_ANISO_LOW 0
427#define GCM_TEXTURE_ANISO_HIGH 1
428
429#define GCM_DEPTH_FORMAT_FIXED 0
430#define GCM_DEPTH_FORMAT_FLOAT 1
431
432#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX0_U (1<<0)
433#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX0_V (1<<1)
434#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX0_P (1<<2)
435#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX0_Q (1<<3)
436#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX1_U (1<<4)
437#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX1_V (1<<5)
438#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX1_P (1<<6)
439#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX1_Q (1<<7)
440#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX2_U (1<<8)
441#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX2_V (1<<9)
442#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX2_P (1<<10)
443#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX2_Q (1<<11)
444#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX3_U (1<<12)
445#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX3_V (1<<13)
446#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX3_P (1<<14)
447#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX3_Q (1<<15)
448#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX4_U (1<<16)
449#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX4_V (1<<17)
450#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX4_P (1<<18)
451#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX4_Q (1<<19)
452#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX5_U (1<<20)
453#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX5_V (1<<21)
454#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX5_P (1<<22)
455#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX5_Q (1<<23)
456#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX6_U (1<<24)
457#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX6_V (1<<25)
458#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX6_P (1<<26)
459#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX6_Q (1<<27)
460#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX7_U (1<<28)
461#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX7_V (1<<29)
462#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX7_P (1<<30)
463#define GCM_TEXTURE_CYLINDRICAL_WRAP_ENABLE_TEX7_Q (1<<31)
464
465#define GCM_VERTEX_ATTRIB_POS 0
466#define GCM_VERTEX_ATTRIB_WEIGHT 1
467#define GCM_VERTEX_ATTRIB_NORMAL 2
468#define GCM_VERTEX_ATTRIB_COLOR0 3
469#define GCM_VERTEX_ATTRIB_COLOR1 4
470#define GCM_VERTEX_ATTRIB_FOG 5
471#define GCM_VERTEX_ATTRIB_COLOR_INDEX 6
472#define GCM_VERTEX_ATTRIB_POINT_SIZE 6 /*alias*/
473#define GCM_VERTEX_ATTRIB_EDGEFLAG 7
474#define GCM_VERTEX_ATTRIB_TEX0 8
475#define GCM_VERTEX_ATTRIB_TEX1 9
476#define GCM_VERTEX_ATTRIB_TEX2 10
477#define GCM_VERTEX_ATTRIB_TEX3 11
478#define GCM_VERTEX_ATTRIB_TEX4 12
479#define GCM_VERTEX_ATTRIB_TEX5 13
480#define GCM_VERTEX_ATTRIB_TEX6 14
481#define GCM_VERTEX_ATTRIB_TANGENT 14 /*alias*/
482#define GCM_VERTEX_ATTRIB_TEX7 15
483#define GCM_VERTEX_ATTRIB_BINORMAL 15 /*alias*/
484
485#define GCM_VERTEX_DATA_TYPE_F32 2
486#define GCM_VERTEX_DATA_TYPE_U8 4
487
488#define GCM_INDEX_TYPE_32B 0
489#define GCM_INDEX_TYPE_16B 1
490
491#define GCM_USER_CLIP_PLANE_DISABLE 0
492#define GCM_USER_CLIP_PLANE_LT 1
493#define GCM_USER_CLIP_PLANE_GE 2
494
495#define GCM_ATTRIB_OUTPUT_MASK_FRONTDIFFUSE (1<< 0)
496#define GCM_ATTRIB_OUTPUT_MASK_FRONTSPECULAR (1<< 1)
497#define GCM_ATTRIB_OUTPUT_MASK_BACKDIFFUSE (1<< 2)
498#define GCM_ATTRIB_OUTPUT_MASK_BACKSPECULAR (1<< 3)
499#define GCM_ATTRIB_OUTPUT_MASK_FOG (1<< 4)
500#define GCM_ATTRIB_OUTPUT_MASK_POINTSIZE (1<< 5)
501#define GCM_ATTRIB_OUTPUT_MASK_UC0 (1<< 6)
502#define GCM_ATTRIB_OUTPUT_MASK_UC1 (1<< 7)
503#define GCM_ATTRIB_OUTPUT_MASK_UC2 (1<< 8)
504#define GCM_ATTRIB_OUTPUT_MASK_UC3 (1<< 9)
505#define GCM_ATTRIB_OUTPUT_MASK_UC4 (1<<10)
506#define GCM_ATTRIB_OUTPUT_MASK_UC5 (1<<11)
507#define GCM_ATTRIB_OUTPUT_MASK_TEX8 (1<<12)
508#define GCM_ATTRIB_OUTPUT_MASK_TEX9 (1<<13)
509#define GCM_ATTRIB_OUTPUT_MASK_TEX0 (1<<14)
510#define GCM_ATTRIB_OUTPUT_MASK_TEX1 (1<<15)
511#define GCM_ATTRIB_OUTPUT_MASK_TEX2 (1<<16)
512#define GCM_ATTRIB_OUTPUT_MASK_TEX3 (1<<17)
513#define GCM_ATTRIB_OUTPUT_MASK_TEX4 (1<<18)
514#define GCM_ATTRIB_OUTPUT_MASK_TEX5 (1<<19)
515#define GCM_ATTRIB_OUTPUT_MASK_TEX6 (1<<20)
516#define GCM_ATTRIB_OUTPUT_MASK_TEX7 (1<<21)
517
519#define GCM_SHADE_MODEL_FLAT 0x1D00
521#define GCM_SHADE_MODEL_SMOOTH 0x1D01
522
524#define GCM_ZERO 0
526#define GCM_ONE 1
528#define GCM_SRC_COLOR 0x0300
530#define GCM_ONE_MINUS_SRC_COLOR 0x0301
532#define GCM_SRC_ALPHA 0x0302
534#define GCM_ONE_MINUS_SRC_ALPHA 0x0303
536#define GCM_DST_ALPHA 0x0304
538#define GCM_ONE_MINUS_DST_ALPHA 0x0305
540#define GCM_DST_COLOR 0x0306
542#define GCM_ONE_MINUS_DST_COLOR 0x0307
544#define GCM_SRC_ALPHA_SATURATE 0x0308
546#define GCM_CONSTANT_COLOR 0x8001
548#define GCM_ONE_MINUS_CONSTANT_COLOR 0x8002
550#define GCM_CONSTANT_ALPHA 0x8003
552#define GCM_ONE_MINUS_CONSTANT_ALPHA 0x8004
553
555#define GCM_FUNC_ADD 0x8006
557#define GCM_FUNC_MIN 0x8007
559#define GCM_FUNC_MAX 0x8008
561#define GCM_FUNC_SUBTRACT 0x800a
563#define GCM_FUNC_REVERSE_SUBTRACT 0x800b
565#define GCM_FUNC_REVERSE_SUBTRACT_SIGNED 0xf005
567#define GCM_FUNC_ADD_SIGNED 0xf006
569#define GCM_FUNC_REVERSE_ADD_SIGNED 0xf007
570
571#define GCM_TRANSFER_SURFACE 0
572#define GCM_TRANSFER_SWIZZLE 1
573
575#define GCM_TRANSFER_CONVERSION_DITHER 0
577#define GCM_TRANSFER_CONVERSION_TRUNCATE 1
579#define GCM_TRANSFER_CONVERSION_SUBTRACT_TRUNCATE 2
580
582#define GCM_TRANSFER_SCALE_FORMAT_A1R5G5B5 1
584#define GCM_TRANSFER_SCALE_FORMAT_X1R5G5B5 2
586#define GCM_TRANSFER_SCALE_FORMAT_A8R8G8B8 3
588#define GCM_TRANSFER_SCALE_FORMAT_X8R8G8B8 4
590#define GCM_TRANSFER_SCALE_FORMAT_CR8YB8CB8YA8 5
592#define GCM_TRANSFER_SCALE_FORMAT_YB8CR8YA8CB8 6
594#define GCM_TRANSFER_SCALE_FORMAT_R5G6B5 7
596#define GCM_TRANSFER_SCALE_FORMAT_Y8 8
598#define GCM_TRANSFER_SCALE_FORMAT_AY8 9
600#define GCM_TRANSFER_SCALE_FORMAT_EYB8ECR8EYA8ECB8 0xa
602#define GCM_TRANSFER_SCALE_FORMAT_ECR8EYB8ECB8EYA8 0xb
604#define GCM_TRANSFER_SCALE_FORMAT_A8B8G8R8 0xc
606#define GCM_TRANSFER_SCALE_FORMAT_X8B8G8R8 0xd
607
609#define GCM_TRANSFER_OPERATION_SRCCOPY_AND 0
611#define GCM_TRANSFER_OPERATION_ROP_AND 1
613#define GCM_TRANSFER_OPERATION_BLEND_AND 2
615#define GCM_TRANSFER_OPERATION_SRCCOPY 3
617#define GCM_TRANSFER_OPERATION_SRCCOPY_PREMULT 4
619#define GCM_TRANSFER_OPERATION_BLEND_PREMULT 5
620
622#define GCM_TRANSFER_ORIGIN_CENTER 1
624#define GCM_TRANSFER_ORIGIN_CORNER 2
625
627#define GCM_TRANSFER_INTERPOLATOR_NEAREST 0 // point sampling
629#define GCM_TRANSFER_INTERPOLATOR_LINEAR 1 // bilinear interpolation
630
632#define GCM_TRANSFER_SURFACE_FORMAT_R5G6B5 4
634#define GCM_TRANSFER_SURFACE_FORMAT_A8R8G8B8 0xa
636#define GCM_TRANSFER_SURFACE_FORMAT_Y32 0xb
637
638#define GCM_FREQUENCY_MODULO 1
639#define GCM_FREQUENCY_DIVIDE 0
640
641#define GCM_COMPMODE_DISABLED 0
642#define GCM_COMPMODE_C32_2X1 7
643#define GCM_COMPMODE_C32_2X2 8
644#define GCM_COMPMODE_Z32_SEPSTENCIL 9
645#define GCM_COMPMODE_Z32_SEPSTENCIL_REG 10
646#define GCM_COMPMODE_Z32_SEPSTENCIL_REGULAR 10
647#define GCM_COMPMODE_Z32_SEPSTENCIL_DIAGONAL 11
648#define GCM_COMPMODE_Z32_SEPSTENCIL_ROTATED 12
649
650#define GCM_ZCULL_Z16 1
651#define GCM_ZCULL_Z24S8 2
652
653#define GCM_ZCULL_MSB 0
654#define GCM_ZCULL_LONES 1
655
656#define GCM_ZCULL_LESS 0
657#define GCM_ZCULL_GREATER 1
658
659#define GCM_SCULL_SFUNC_NEVER 0
660#define GCM_SCULL_SFUNC_LESS 1
661#define GCM_SCULL_SFUNC_EQUAL 2
662#define GCM_SCULL_SFUNC_LEQUAL 3
663#define GCM_SCULL_SFUNC_GREATER 4
664#define GCM_SCULL_SFUNC_NOTEQUAL 5
665#define GCM_SCULL_SFUNC_GEQUAL 6
666#define GCM_SCULL_SFUNC_ALWAYS 7
667
668#define GCM_CONDITIONAL 2
669
670#define GCM_ZPASS_PIXEL_CNT 1
671#define GCM_ZCULL_STATS 2
672#define GCM_ZCULL_STATS1 3
673#define GCM_ZCULL_STATS2 4
674#define GCM_ZCULL_STATS3 5
675
676#define GCM_ZCULL_ALIGN_OFFSET 4096
677#define GCM_ZCULL_ALIGN_WIDTH 64
678#define GCM_ZCULL_ALIGN_HEIGHT 64
679#define GCM_ZCULL_ALIGN_CULLSTART 4096
680#define GCM_ZCULL_COMPRESSION_TAG_BASE_MAX 0x7FF
681#define GCM_ZCULL_RAM_SIZE_MAX 0x00300000
682
683#define GCM_TILE_ALIGN_OFFSET 0x00010000
684#define GCM_TILE_ALIGN_SIZE 0x00010000
685#define GCM_TILE_LOCAL_ALIGN_HEIGHT 32
686#define GCM_TILE_MAIN_ALIGN_HEIGHT 64
687
688#define GCM_TILE_ALIGN_BUFFER_START_BOUNDARY 8
689
690#define GCM_FRAGMENT_UCODE_LOCAL_ALIGN_OFFSET 64
691#define GCM_FRAGMENT_UCODE_MAIN_ALIGN_OFFSET 128
692
693#define GCM_SURFACE_LINEAR_ALIGN_OFFSET 64
694#define GCM_SURFACE_SWIZZLE_ALIGN_OFFSET 128
695
696#define GCM_TEXTURE_SWIZZLE_ALIGN_OFFSET 128
697#define GCM_TEXTURE_CUBEMAP_ALIGN_OFFSET 128
698#define GCM_TEXTURE_SWIZZLED_CUBEMAP_FACE_ALIGN_OFFSET 128
699
700#define GCM_VERTEX_TEXTURE_CACHE_LINE_SIZE 32
701#define GCM_L2_TEXTURE_CACHE_LOCAL_LINE_SIZE 64
702#define GCM_L2_TEXTURE_CACHE_MAIN_LINE_SIZE 128
703
704#define GCM_TEXTURE_REMAP_MODE(order, inputA, inputR, inputG, inputB, outputA, outputR, outputG, outputB) \
705 (((order) << 16) | \
706 ((inputA) << GCM_TEXTURE_REMAP_COLOR_A_SHIFT) | ((inputR) << GCM_TEXTURE_REMAP_COLOR_R_SHIFT) | \
707 ((inputG) << GCM_TEXTURE_REMAP_COLOR_G_SHIFT) | ((inputB) << GCM_TEXTURE_REMAP_COLOR_B_SHIFT) | \
708 ((outputA) << GCM_TEXTURE_REMAP_TYPE_A_SHIFT) | ((outputR) << GCM_TEXTURE_REMAP_TYPE_R_SHIFT) | \
709 ((outputG) << GCM_TEXTURE_REMAP_TYPE_G_SHIFT) | ((outputB) << GCM_TEXTURE_REMAP_TYPE_B_SHIFT))
710
711#ifdef __cplusplus
712extern "C" {
713#endif
714
715struct _gcmCtxData;
716typedef s32 (*gcmContextCallback)(struct _gcmCtxData *context,u32 count);
717
722typedef struct _gcmCtxData
723{
724 u32 *__restrict begin ATTRIBUTE_PRXPTR;
725 u32 *__restrict end ATTRIBUTE_PRXPTR;
726 u32 *__restrict current ATTRIBUTE_PRXPTR;
729
734typedef struct _gcmCtrlRegister
735{
736 vu32 put;
737 vu32 get;
738 vu32 ref;
740
745typedef struct _gcmCfg
746{
747 void *localAddress ATTRIBUTE_PRXPTR;
748 void *ioAddress ATTRIBUTE_PRXPTR;
750 u32 ioSize;
754
875
877typedef struct _gcmTexture
878{
896
904
913
921
942 u32 remap;
943
945 u16 width;
949 u16 depth;
960 u32 pitch;
964
966typedef struct _gcmTransferScale
967{
974
991
1001
1004
1007
1010
1013
1015 s16 outX;
1016
1018 s16 outY;
1019
1021 u16 outW;
1022
1024 u16 outH;
1025
1028
1031
1033 u16 inW;
1034
1036 u16 inH;
1037
1040
1046
1052
1055
1057 u16 inX;
1058
1060 u16 inY;
1062
1065{
1072
1075
1077 u8 _pad0[2];
1078
1082
1090
1091typedef struct _gcmTileInfo
1092{
1093 u32 tile;
1098
1108
1110typedef struct _gcmDisplayInfo
1111{
1120
1122
1123typedef struct _gcmOffsetTable
1124{
1125 u16 *io; /* ea -> io */
1126 u16 *ea; /* io -> ea */
1128
1129typedef struct _reportData
1130{
1133 u32 zero;
1135
1136typedef struct _notifyData
1137{
1139 u64 zero;
1141
1151s32 gcmInitBody(gcmContextData **ctx,const u32 cmdSize,const u32 ioSize,const void *ioAddress);
1152
1158s32 gcmAddressToOffset(const void *address,u32 *offset);
1159
1165s32 gcmIoOffsetToAddress(u32 offset,void **address);
1166
1172
1180
1187s32 gcmSetFlip(gcmContextData *context,const u8 bufferId);
1188
1197s32 gcmSetDisplayBuffer(const u8 bufferId,const u32 offset,const u32 pitch,const u32 width,const u32 height);
1198
1205s32 gcmMapMainMemory(const void *address,const u32 size,u32 *offset);
1206
1211u32* gcmGetLabelAddress(const u8 index);
1212
1215
1222void gcmSetFlipMode(const u32 mode);
1223
1228
1233u32 gcmSetPrepareFlip(gcmContextData *context,const u8 id);
1234
1240void gcmSetVBlankHandler(void (*handler)(const u32 head));
1241
1247void gcmSetFlipHandler(void (*handler)(const u32 head));
1248
1254void gcmSetGraphicsHandler(void (*handler)(const u32 val));
1256
1261
1262s32 gcmInitSystemMode(const u64 mode);
1264void gcmSetSecondVHandler(void (*handler)(const u32 head));
1265void gcmSetQueueHandler(void (*handler)(const u32 head));
1266void gcmSetUserHandler(void (*handler)(const u32 cause));
1270s32 gcmMapEaIoAddress(const void *ea, const u32 io, const u32 size);
1271s32 gcmUnmapIoAddress(const u32 io);
1272s32 gcmUnmapEaIoAddress(const void *ea);
1273s32 gcmMapEaIoAddressWithFlags(const void *ea, const u32 io, const u32 size, u32 userflags);
1274s32 gcmMapLocalMemory(void **address, u32 *size);
1278
1279/*
1280 * display functions
1281 */
1283s32 gcmSetFlipImmediate(const u8 id);
1285void gcmSetSecondVFrequency(const u32 freq);
1290void gcmSetVBlankFrequency(const u32 freq);
1292
1293
1294/*
1295 * hwcursor functions
1296 */
1300s32 gcmSetCursorImageOffset(const u32 offset);
1301s32 gcmSetCursorPosition(const s32 x, const s32 y);
1303
1304/*
1305 * flow control functions
1306 */
1307s32 gcmSetDefaultCommandBufferAndSegmentWordSize(const u32 bufferSize, const u32 segmentSize);
1311s32 gcmSetDefaultFifoSize(const u32 bufferSize, const u32 segmentSize);
1312
1313/*
1314 * render functions
1315 */
1316u64 gcmGetTimeStamp(const u32 index);
1317u32 gcmGetReport(const u32 type, const u32 index);
1318void gcmSetTile(const u8 index, const u8 location, const u32 offset, const u32 size, const u32 pitch, const u8 comp, const u16 base, const u8 bank);
1319void gcmSetInvalidateTile(const u8 index);
1320void gcmSetZcull(const u8 index, const u32 offset, const u32 width, const u32 height, const u32 cullStart, const u32 zFormat, const u32 aaFormat, const u32 zCullDir, const u32 zCullFormat, const u32 sFunc, const u32 sRef, const u32 sMask);
1321s32 gcmSetTileInfo(const u8 index, const u8 location, const u32 offset, const u32 size, const u32 pitch, const u8 comp, const u16 base, const u8 bank);
1322s32 gcmBindTile(const u8 index);
1323s32 gcmUnbindTile(const u8 index);
1324s32 gcmBindZcull(const u8 index, const u32 offset, const u32 width, const u32 height, const u32 cullStart, const u32 zFormat, const u32 aaFormat, const u32 zCullDir, const u32 zCullFormat, const u32 sFunc, const u32 sRef, const u32 sMask);
1325s32 gcmUnbindZcull(const u8 index);
1327
1328
1329/*
1330 * report functions
1331 */
1332gcmReportData* gcmGetReportDataAddressLocation(const u32 index, const u32 location);
1333u64 gcmGetTimeStampLocation(const u32 index, const u32 location);
1334u32 gcmGetReportDataLocation(const u32 index, const u32 location);
1335
1336/*
1337 * notify functions
1338 */
1340
1341
1342/*
1343 * tile / zcull / display functions
1344 */
1348
1349/*
1350 * debug functions
1351 */
1353
1354void gcmSetUserCommand(void (*handler)(const u32 cause));
1355
1356#ifdef __cplusplus
1357 }
1358#endif
1359
1360#endif
s32 gcmUnbindZcull(const u8 index)
struct _reportData gcmReportData
struct _notifyData gcmNotifyData
s32 gcmSetCursorDisable()
s32 gcmDumpGraphicsError()
u32 gcmGetCurrentField()
s32 gcmInitBody(gcmContextData **ctx, const u32 cmdSize, const u32 ioSize, const void *ioAddress)
Initialize the RSX context.
void gcmSetVBlankFrequency(const u32 freq)
const gcmDisplayInfo * gcmGetDisplayInfo()
s32 gcmInitDefaultFifoMode(s32 mode)
s32 gcmSetFlip(gcmContextData *context, const u8 bufferId)
Enqueues a flip command into the command buffer.
s32 gcmMapEaIoAddressWithFlags(const void *ea, const u32 io, const u32 size, u32 userflags)
s32 gcmUpdateCursor()
gcmNotifyData * gcmGetNotifyDataAddress(const u32 index)
s32(* gcmContextCallback)(struct _gcmCtxData *context, u32 count)
Definition gcm_sys.h:716
s32 gcmGetDisplayBufferByFlipIndex(const u32 qid)
struct _gcmOffsetTable gcmOffsetTable
s32 gcmSetDefaultCommandBufferAndSegmentWordSize(const u32 bufferSize, const u32 segmentSize)
s32 gcmMapLocalMemory(void **address, u32 *size)
void gcmSetSecondVHandler(void(*handler)(const u32 head))
u32 gcmGetReport(const u32 type, const u32 index)
const gcmTileInfo * gcmGetTileInfo()
u32 gcmGetDefaultSegmentWordSize()
void gcmSetUserHandler(void(*handler)(const u32 cause))
s32 gcmUnmapEaIoAddress(const void *ea)
u64 gcmGetTimeStamp(const u32 index)
s32 gcmUnmapIoAddress(const u32 io)
struct _gcmTexture gcmTexture
RSX Texture data structure.
void gcmSetZcull(const u8 index, const u32 offset, const u32 width, const u32 height, const u32 cullStart, const u32 zFormat, const u32 aaFormat, const u32 zCullDir, const u32 zCullFormat, const u32 sFunc, const u32 sRef, const u32 sMask)
s32 gcmBindTile(const u8 index)
void gcmSetFlipMode(const u32 mode)
Set flip mode.
s64 gcmGetLastFlipTime()
void gcmSetSecondVFrequency(const u32 freq)
gcmControlRegister * gcmGetControlRegister()
Obtain registers for controlling the command buffer.
struct _gcmCfg gcmConfiguration
RSX Configuration structure.
s32 gcmInitSystemMode(const u64 mode)
u32 gcmGetMaxIoMapSize()
u64 gcmGetTimeStampLocation(const u32 index, const u32 location)
s32 gcmSetDefaultFifoSize(const u32 bufferSize, const u32 segmentSize)
gcmReportData * gcmGetReportDataAddressLocation(const u32 index, const u32 location)
struct _gcmCtrlRegister gcmControlRegister
RSX control data structure.
s32 gcmSetTileInfo(const u8 index, const u8 location, const u32 offset, const u32 size, const u32 pitch, const u8 comp, const u16 base, const u8 bank)
void gcmSetUserCommand(void(*handler)(const u32 cause))
void gcmSetVBlankHandler(void(*handler)(const u32 head))
Register a callback function to be called upon VBlank.
s32 gcmGetCurrentDisplayBufferId(u8 *id)
u32 gcmSetPrepareFlip(gcmContextData *context, const u8 id)
Perform preprocessing for display output.
void gcmSetInvalidateTile(const u8 index)
s32 gcmBindZcull(const u8 index, const u32 offset, const u32 width, const u32 height, const u32 cullStart, const u32 zFormat, const u32 aaFormat, const u32 zCullDir, const u32 zCullFormat, const u32 sFunc, const u32 sRef, const u32 sMask)
void gcmSetTile(const u8 index, const u8 location, const u32 offset, const u32 size, const u32 pitch, const u8 comp, const u16 base, const u8 bank)
s32 gcmUnbindTile(const u8 index)
void gcmResetFlipStatus()
Reset the flip status.
void gcmSetWaitFlip(gcmContextData *context)
Wait for a flip to be completed.
struct _gcmZcullInfo gcmZcullInfo
s32 gcmSetCursorPosition(const s32 x, const s32 y)
s32 gcmSetDisplayBuffer(const u8 bufferId, const u32 offset, const u32 pitch, const u32 width, const u32 height)
Configures a display framebuffer.
#define GCM_MAX_MRT_COUNT
maximum count of multiple render targets
Definition gcm_sys.h:42
struct _gcmTransferSwizzle gcmTransferSwizzle
struct _gcmTransferScale gcmTransferScale
Specify scaled image blit geometry and format for rsxSetTransferImage()
gcmReportData * gcmGetReportDataAddress(const u32 index)
s32 gcmSortRemapEaIoAddress()
s32 gcmReserveIoMapSize(const u32 size)
s32 gcmMapEaIoAddress(const void *ea, const u32 io, const u32 size)
s32 gcmInitCursor()
struct _gcmTransferSurface gcmTransferSurface
Specify destination surface characteristics for rsxSetTransferImage().
s32 gcmAddressToOffset(const void *address, u32 *offset)
Converts an effective address in RSX memory to an offset.
void gcmGetOffsetTable(gcmOffsetTable *table)
u32 * gcmGetLabelAddress(const u8 index)
Get address of specified label.
struct _gcmDisplayInfo gcmDisplayInfo
Display information.
void gcmSetDefaultCommandBuffer()
void gcmSetFlipStatus()
struct _gcmCtxData gcmContextData
RSX Context data structure.
s32 gcmUnreserveIoMapSize(const u32 size)
const gcmZcullInfo * gcmGetZcullInfo()
u64 gcmGetVBlankCount()
s32 gcmSetCursorImageOffset(const u32 offset)
void gcmSetGraphicsHandler(void(*handler)(const u32 val))
Register a graphics callback function.
s32 gcmSetFlipImmediate(const u8 id)
void gcmSetDebugOutputLevel(s32 level)
s32 gcmIoOffsetToAddress(u32 offset, void **address)
Converts an offset to an effective address in RSX memory.
s32 gcmMapMainMemory(const void *address, const u32 size, u32 *offset)
Maps a memory block in main memory for RSX to access it.
u32 gcmGetTiledPitchSize(const u32 size)
struct _gcmTileInfo gcmTileInfo
s32 gcmGetConfiguration(gcmConfiguration *config)
Retrieves the RSX configuration.
struct _gcmSurface gcmSurface
RSX target surface data structure.
u32 gcmGetDefaultCommandWordSize()
void gcmSetFlipHandler(void(*handler)(const u32 head))
Register a callback function for when a flip is executed.
void gcmSetQueueHandler(void(*handler)(const u32 head))
u32 gcmGetReportDataLocation(const u32 index, const u32 location)
u32 gcmGetFlipStatus()
Gets the flip status.
s32 gcmSetCursorEnable()
s64 gcmGetLastSecondVTime()
uintptr_t size
Definition heap.h:1
uint64_t ea
Definition spu_atomic.h:35
RSX Configuration structure.
Definition gcm_sys.h:746
void *ioAddress ATTRIBUTE_PRXPTR
effective start address of I/O mapped main memory to be used by RSX
Definition gcm_sys.h:748
u32 localSize
maximum available size of RSX memory
Definition gcm_sys.h:749
u32 memoryFreq
RSX memory clock frequency.
Definition gcm_sys.h:751
u32 ioSize
maximum available size of I/O mapped main memory to be used by RSX
Definition gcm_sys.h:750
u32 coreFreq
Core clock frequency of RSX.
Definition gcm_sys.h:752
void *localAddress ATTRIBUTE_PRXPTR
effective start address of RSX memory
Definition gcm_sys.h:747
RSX control data structure.
Definition gcm_sys.h:735
vu32 get
member for accessing the GET register
Definition gcm_sys.h:737
vu32 put
member for accessing the PUT register
Definition gcm_sys.h:736
vu32 ref
member for accessing the REF register. Initial value is 0xFFFFFFFF
Definition gcm_sys.h:738
RSX Context data structure.
Definition gcm_sys.h:723
u32 *__restrict begin ATTRIBUTE_PRXPTR
Start address of command buffer.
Definition gcm_sys.h:724
u32 *__restrict current ATTRIBUTE_PRXPTR
Current address of command buffer.
Definition gcm_sys.h:726
gcmContextCallback callback ATTRIBUTE_PRXPTR
Callback function that is called when current reaches end
Definition gcm_sys.h:727
u32 *__restrict end ATTRIBUTE_PRXPTR
End address of command buffer.
Definition gcm_sys.h:725
Display information.
Definition gcm_sys.h:1111
u32 pitch
Pitch for display (width multipied by the number of bytes per pixel).
Definition gcm_sys.h:1115
u32 height
Height for display (in pixels)
Definition gcm_sys.h:1119
u32 width
Width for display (in pixels)
Definition gcm_sys.h:1117
RSX target surface data structure.
Definition gcm_sys.h:760
u8 colorLocation[4]
Location of the color buffer.
Definition gcm_sys.h:819
u8 depthLocation
Location of the depth buffer.
Definition gcm_sys.h:849
u8 antiAlias
Antialiasing format type.
Definition gcm_sys.h:777
u16 x
Window offset in x direction (0 - 4095).
Definition gcm_sys.h:870
u8 depthFormat
Format of the depth buffer.
Definition gcm_sys.h:841
u32 depthPitch
Size of a depth buffer line in bytes.
Definition gcm_sys.h:861
u16 height
Height of the render buffer (1 - 4096).
Definition gcm_sys.h:867
u8 _pad[2]
unused padding bytes. most be 0.
Definition gcm_sys.h:852
u8 colorFormat
Format of the color buffer.
Definition gcm_sys.h:797
u32 colorOffset[4]
Offset from the base address of the color buffer.
Definition gcm_sys.h:826
u8 type
Type of render target.
Definition gcm_sys.h:767
u32 colorPitch[4]
Size of a color buffer line in bytes.
Definition gcm_sys.h:833
u16 width
Width of the render buffer (1 - 4096).
Definition gcm_sys.h:864
u32 depthOffset
Offset from the base address of the depth buffer.
Definition gcm_sys.h:858
u8 colorTarget
Target of the color buffer.
Definition gcm_sys.h:809
u16 y
Window offset in y direction (0 - 4095).
Definition gcm_sys.h:873
RSX Texture data structure.
Definition gcm_sys.h:878
u16 height
Texture height in pixels.
Definition gcm_sys.h:947
u16 width
Texture width in pixels.
Definition gcm_sys.h:945
u8 _pad
unused padding byte.
Definition gcm_sys.h:958
u16 depth
Texture depth.
Definition gcm_sys.h:949
u32 offset
Offset of texture data.
Definition gcm_sys.h:962
u32 pitch
Size of a texture line in bytes.
Definition gcm_sys.h:960
u8 location
Location of texture.
Definition gcm_sys.h:956
u8 mipmap
Indicates if this is a mip-mapped texture.
Definition gcm_sys.h:903
u32 remap
Color remapping bitfield.
Definition gcm_sys.h:942
u8 dimension
Texture dimension.
Definition gcm_sys.h:912
u8 cubemap
Indicates if this is a cube-mapped texture.
Definition gcm_sys.h:920
u8 format
Texture format.
Definition gcm_sys.h:895
Specify scaled image blit geometry and format for rsxSetTransferImage()
Definition gcm_sys.h:967
s16 clipX
X origin of clipping rectangle, within the destination surface.
Definition gcm_sys.h:1003
s32 ratioX
Ratio in X direction of the source rectangle size to the destination rectangle size,...
Definition gcm_sys.h:1027
u32 operation
Blit operation. Possible values:
Definition gcm_sys.h:1000
u16 inW
Width of the source rectangle.
Definition gcm_sys.h:1033
u16 outH
Height of the destination rectangle.
Definition gcm_sys.h:1024
u32 conversion
Not sure what this dones. Possible values:
Definition gcm_sys.h:973
u16 clipH
Height of clipping rectangle, within the destination surface.
Definition gcm_sys.h:1012
u16 inX
X origin of destination rectangle.
Definition gcm_sys.h:1057
u16 pitch
Pitch size, in bytes, of the source image data (width multiplied by the number of bytes in each pixel...
Definition gcm_sys.h:1039
s16 outX
X origin of destination rectangle.
Definition gcm_sys.h:1015
u16 inY
Y origin of destination rectangle.
Definition gcm_sys.h:1060
u16 outW
Width of the destination rectangle.
Definition gcm_sys.h:1021
u16 clipW
Width of clipping rectangle, within the destination surface.
Definition gcm_sys.h:1009
u32 offset
Image data offset, e.g., a value returned by gcmAddressToOffset() or gcmMapMainMemory().
Definition gcm_sys.h:1054
s32 ratioY
Ratio in Y direction of the source rectangle size to the destination rectangle size,...
Definition gcm_sys.h:1030
s16 outY
Y origin of destination rectangle.
Definition gcm_sys.h:1018
u16 inH
Height of the source rectangle.
Definition gcm_sys.h:1036
u32 format
Format of image data. Possible values:
Definition gcm_sys.h:990
u8 origin
How the origin of each pixel is determined. Possible values:
Definition gcm_sys.h:1045
s16 clipY
Y origin of clipping rectangle, within the destination surface.
Definition gcm_sys.h:1006
u8 interp
Sampling for scaled blits. Possible values:
Definition gcm_sys.h:1051
Specify destination surface characteristics for rsxSetTransferImage().
Definition gcm_sys.h:1065
u32 format
Format of destination surface. Possible values are:
Definition gcm_sys.h:1071
u16 pitch
Pitch for destination surface (width multipied by the number of bytes per pixel).
Definition gcm_sys.h:1074
u8 _pad0[2]
unused padding bytes. most be 0.
Definition gcm_sys.h:1077
u32 offset
Destination suface memory offset, e.g., a value returned by gcmAddressToOffset() or gcmMapMainMemory(...
Definition gcm_sys.h:1080