README
6.39 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
README file for running rsp/rdp regression suite:
-------------------------------------------------
Common command line options:
---------------------------
'k': TestKind = myatoi(argv[2]);
Selects which of the major test suites to run.
'p': TestFuncNum = myatoi(argv[2]);
Used to select which test in a suite to run.
't': timing = 1;
Print out timing information.
'v': verbose = 1;
Prints out various messages indicating progress.
'l': LoopTestFuncNum = 1;
Enter looping mode. Each test in the individual suite is run once
and then the next is run.
dumping options:
---------------
's': OutputRSP = 1;
causes a dump of the rsp display list to be printed out
'd': OutputRDP = 1;
causes a dump of the rdp display list to be printed out
'h': HangAfterDump = 1;
Go into an infinite while(1) loop after doing an rsp/rdp display
list or memory dump. Useful for isolating a single frame.
'm': OutputMEM = 1;
Run Nathan's memory dumping routine. Dumps out the sections of memory
necessary for running a C-sim test on the frame.
rdp centric options:
-------------------
'a': UseAAMode = 1;
Only meaningful in the rdp fill rate tests. Causes tests to do
color read modify write.
'z': UseZMode = 1;
Only meaningful in rdp fill rate tests. Forces zbuffer read modify
write.
'c': ClearScreen = 1;
forces a clear of the screen before running test. Most tests do
a clear anyway, so this flag is pretty much ignored
'e': ClearZBuffer = 1;
forces a clear of the zbuffer before running test. Most tests that
use the zbuffer do this anyway, so this flag is pretty much ignored.
random screwball options:
------------------------
'f': FrameRate = myatoi(argv[2]);
How many times to display each frame before doing a swap buffer.
Useful for slowing down tests so that individual frames can be
studied.
'x': rdp_DRAM_io = 1;
Do not render over xbus, instead render to memory. Using this flag
will probably break things since the app will more then likely overrun
internal buffers unless recompiled with them increased.
'y': UseSmallTri = 0;
Use large triangles instead of small triangles for various tests
rsp tests.
'u': debugger = 1;
Don't start main thread. Use when running gvd.
----------------------------------------------------------------------
Explanation of test suites:
There are 4 distinct test suites in this application. They are chosen
by setting the -k flag.
-k 0 = perf monkey dancing triangles. Doesn't really test anything,
just used to make sure that we're actually able to run things
through the entire path
-k 1 = rsp tests. These tests primarily test the rsp, they pretty
much *NEED* to be run over the xbus (no -x flag)
To run through the rsprdp directed tests use:
gload -a "-k 1 -p 0 -l -t"
-l turns on looping, it iterates through the tests starting at
the test specified with the -p flag
-t turns on timing output
-k 2 = rdp tests. These tests primarily test the rdp, they do not
render over the xbus, and thus the -x flag is not supported
gload -a "-k 2 -p 0 -l -t"
Each of the rsprdp and rdp suites contain a number of individual tests,
these are selected by using the "-p" option. The individual tests are
explained below:
----------------------------------------------------------------------
rsprdp directed tests:
test 0: RSPDummy
Doesn't do anything, returns immediately
test 1: RSPVTrans
Repeatedly sends down 16 vertices at a time, tests how many vertex transforms
we can do per second
test 2: RSPMatM
Sees how many matrix multiplies we can do in the rsp per frame. Each matrix
sent down results in 2 matrix-matrix multiplies occuring
test 3: RSPMatL
Sees how many matrix loads we can do in the rsp per frame. Each matrix
sent down results in 1 matrix-matrix multiply occuring
test 4: RSPVLTrans
Sees how many vertex transforms we can do in the rsp per frame with
two diffuse lights defined
test 5: RSPTTrans
See how many Gouraud shaded triangles we can send down, use the same
vertex list over and over again. The "-y" flag is used to toggle
between using small or large triangles. Use the small triangles for
rsp testing, use the large ones for visual inspection that things
aren't fubar.
test 6: RSPTex
See how many Gouraud shaded textured triangles we can send down, use
the same vertex list over and over again.
test 7: RSPZB
Testing Gouraud shaded Z buffered triangles
test 8: RSPTexZB
Testing Gouraud shaded textured Z buffered triangles
test 9: RSPRDP
Tests how many RDP noops we can send down.
test 10: RSPNOOP
Tests how many RSP noops we can send down, this is used to measure
command parsing overhead
test 11: RSPVARDL
Tests how many display lists of varying size we can send down per
second. It starts out at 2 commands per display list. Holding the 'C'
button on the controller allows you to increment the number of
commands per display list being constructed. To cycle through all
of the variable sized lists for this test, run:
gload -a "-k 1 -t -p 11 -t"
and hold down the C button on the controller.
test 12: RSPClip1
This tests how many triangles can be sent down where there is one
vertex being clipped against one clipping plane.
test 13: RSPClip2
This tests how many triangles can be sent down where there is one
vertex being clipped against two clipping planes.
----------------------------------------------------------------------
rdp directed tests:
test 0: RDPDummy
Dummy procedure, used to test various things
test 1: RDPBackg
Dummy procedure, draws a different colored background image, not used
for performance testing
test 2: RDPFill
Tests how many pixels we can shovel down the pipe in FILL mode
test 5: RDPZTest
Dummy procedure, tests if we are setting up the zbuffer correctly
test 6: RDPTexL
Tests how many textured pixels we can send out
test 7: RDPTexC
Tests how many pixels we can shovel down the pipe in COPY Mode
test 8: RDPTexLB
Tests how many Textures we can load into TMEM per second
test 9: RDP1CYCH
Meta test for testing how many pixels we can shove down the pipe
in one cycle mode, use "-a" or "-z" to turn on color read modify
write and Z read modify write. Defaults to color write.
test 1: RDP2CYCH
Same as RDP1CYCH, except tests two cycle mode