tron.h
2.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/**************************************************************************
* *
* Copyright (C) 1994, Silicon Graphics, Inc. *
* *
* These coded instructions, statements, and computer programs contain *
* unpublished proprietary information of Silicon Graphics, Inc., and *
* are protected by Federal copyright law. They may not be disclosed *
* to third parties or copied or duplicated in any form, in whole or *
* in part, without the prior written consent of Silicon Graphics, Inc. *
* *
*************************************************************************/
#define PHYSICAL_SEGMENT 0
#define STATIC_SEGMENT 1
#define DYNAMIC_SEGMENT 2
#define MAX_STATIC_GFX_SIZE 256
#define SCREEN_HT 240
#define SCREEN_WD 320
#define STACKSIZE 0x2000
#define MAXHIST 256
#define REALCLEAR 1
/*
* ifdef needed because this file is included by "spec"
*/
#ifdef _LANGUAGE_C
/*
* Layout of dynamic segment
*/
#define LIST_SIZE 128
typedef struct Dynamic
{
Gfx glist[LIST_SIZE];
Mtx rotate1;
Mtx rotate2;
Mtx translate1;
} Dynamic;
extern unsigned short zbuffer[];
extern Gfx setup_rdpstate[];
extern Gfx setup_rspstate[];
extern Gfx clear_fb[];
extern Gfx init[];
extern Gfx objlist[];
extern Gfx objlist1[];
extern Gfx objlist2[];
extern Gfx objlist3[];
extern Gfx objlist4[];
extern Gfx objlist5[];
extern unsigned short cfb_16_a[];
extern unsigned short cfb_16_b[];
extern u64 dram_stack[]; /* used for matrix stack */
extern u64 dram_yield[]; /* used for yeild data */
extern u64 rdp_output_len; /* RSP writes back size of RDP data */
extern u64 rdp_output[]; /* RSP writes back RDP data */
/*
* Allow tmem address & tile number to be specified
*/
#define _gsDPLoadTMemTile(timg, tmem, tile, fmt, siz, width, height, \
pal, cms, cmt, masks, maskt, shifts, shiftt) \
\
gsDPSetTextureImage(fmt, siz, 1, timg), \
gsDPSetTile(fmt, siz, 0, tmem, G_TX_LOADTILE, 0 , cmt, maskt, \
shiftt, cms, masks, shifts), \
gsDPLoadSync(), \
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, (width)*(height)-1, \
ROUNDUP((1.0/((width)/(8.0/siz##_BYTES))* \
(1<<G_TX_DXT_FRAC)))), \
gsDPSetTile(fmt, siz, ((((width) * siz##_LINE_BYTES)+7)>>3), tmem, \
tile, pal, cmt, maskt, shiftt, cms, masks, \
shifts), \
gsDPSetTileSize(tile, 0, 0, \
((width)-1) << G_TEXTURE_IMAGE_FRAC, \
((height)-1) << G_TEXTURE_IMAGE_FRAC)
#endif /* _LANGUAGE_C */