This is the graphical debugger. It visualizes a series of RSX commands that had been dumped using the dbg-gui.

A frame can be reproduced command-by-command and the complete RSX state and all the associated textures and shaders can be viewed after each command.


For example the following frame was produced using several hundred DrawArrays commands.


After the first several draw commands the following part of the frame was drawn


To do so two textures were used



Also a fragment shader

000|000: TEXR R1, f[TEX0], TEX0;
001|001: MOVH H0, f[COL0];
002|002: FENCTR;
003|003: MULR R2, H0, R1;
004|004: FENCTR;
005|005: MULR R2, R2, f[TEX2];
006|006: MOVR R0.w, R2;
007|007: MULR, f[TEX1], H0;
008|008: MOVR, R1;
009|009: MADR, R0, R1, R2; # last instruction

That in turn was translated into the following (abridged) GLSL

r[1] = tex0(f_TEX0);
h[0] = f_COL0;
while (false) { }
r[2] = (h[0] * r[1]);
while (false) { }
r[2] = (r[2] * f_TEX2);
r[0].w = r[2].w;
r[0].xyz = (f_TEX1 * h[0]).xyz;
r[1].xyz = r[1].xyz;
r[0].xyz = ((r[0] * r[1]) + r[2]).xyz;

It is also possible to see e.g. how the Surface was configured, what vertex data attributes were used and what their formats are.