blob: 4e6744aa9bf733d45f49f747eeea0ccf3645c292 (
plain)
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
|
GALLIUM REMOTE DEBUGGING GUI
= About =
This is the gui interface to the Gallium Remote Debugger.
It is written in C and uses gtk, gtkglext and Gallium.
For information about protocol (de)marshaling see:
$(MESA)/src/gallium/auxiliary/rbug/README
for information about driver integration look in:
$(MESA)/src/gallium/drivers/rbug/README
= Building =
You need to have checked out a mesa repository in a sibling directory to this
directory called mesa, as currently the build looks for mesa in ../mesa/.
You also need to build a debug build of mesa with with gallium so that the
needed library exist:
$(MESA)/src/gallium/auxiliary/libgallium.a
The gtk dependancies should be satisfied on debian based system with:
sudo apt-get install libgtk2.0-dev libgtkglext1-dev
Then just do:
./autogen.sh
make
= Usage =
Make sure that you driver has trace integration, see above. Then from on
the computer that you want to debug do:
export GALLIUM_RBUG=true
<launch app>
From the debugging computer launch rbug-gui from this folder.
./rbug-gui [ip|hostname]
If no ip/hostname is give rbug-gui will ask you for a ip and port. You can
also call "make run" which will connect automaticaly to localhost.
You should now see the debugger. On the left you have a list of resources
created by the driver. They are arranged in a tree view where the, with
textures and contexts under the screen and shaders under each owning context.
The toolbar display different icons depending on what you have selected.
All:
Update - Update the current view
Screen:
Update - Download the list of objects again.
Texture view: View first level of texture
Update - Download the texture again.
Backgroud - Change the background of the current window
Alpha - Turn on/off alpha blending in the view
Auto - Automaticaly update the texture
Shader view: Display TGSI code for current shader
Udpate - Download the current shader again
Disable - Discard any rendering done with this shader
Save - Compile and replace the current with the edited shader
Revert - Restore original shader
Context view:
Udpate - Get context information
Before - Break before draw call is executed
After - Break after draw call is executed
Step - Step to next draw call
Flush - Flush context
<seperator> - After this seperator the current viewed object icons appear
= Quirks =
Often when you step in the context view you find that textures, shaders don't
appear after a step select the screen press update to update the list of
object, rbug-gui doesn't currently support automaticaly updateing the list.
Connecting to the X server causes rbug-gui to disconnect often when clients are
sending data. Forceing you to reconnect.
--
Jakob Bornecrantz <jakob@vmware.com>
|