summaryrefslogtreecommitdiff
path: root/README
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>