[Intel-gfx] intel_gpu_top decode..
Peter Clifton
pcjc2 at cam.ac.uk
Thu Oct 7 14:55:02 CEST 2010
On Wed, 2010-10-06 at 15:27 -0700, Eric Anholt wrote:
> Of this, I'd say that you're spending a surprising amount of time in
> texture fetch. Finding ways to reduce texture bandwidth may pay off,
> assuming that (texture fetch / sampler cache) is the percentage of the
> time you're cache missing. I'm not sure if that's true or not, though.
> And you said that this data was just for the line drawing, which didn't
> appear to have any texturing going on at all, so I'm just confused.
I cut down my rendering code to almost nothing (just draw a blank
full-viewport quad 30 times):
int count = 0;
glBegin (GL_QUADS);
for (count = 0; count < 30; count++) {
glVertex3i (0, 0, 0);
glVertex3i (PCB->MaxWidth, 0, 0);
glVertex3i (PCB->MaxWidth, PCB->MaxHeight, 0);
glVertex3i (0, PCB->MaxHeight, 0);
}
glEnd ();
and was able to get this trace:
Texture unit %busy seems to go up with increasing count above.
core clock: 400 Mhz
ring idle: 3%: █▍
ring space: 60/126976 (0%)
task percent busy
UC0 CS: 93%: █████████████████████████████████████▍
VF CS: 92%: █████████████████████████████████████
Row 1, EU 3: 92%: █████████████████████████████████████
Windowizer: 92%: █████████████████████████████████████
Row 0, EU 3: 92%: █████████████████████████████████████
Row 1, EU 2: 92%: █████████████████████████████████████
Row 0, EU 2: 92%: █████████████████████████████████████
Setup Engine: 92%: █████████████████████████████████████
Row 1, EU 1: 92%: █████████████████████████████████████
ISC CS: 92%: █████████████████████████████████████
Row 0, EU 1: 92%: █████████████████████████████████████
Row 1, EU 0: 92%: █████████████████████████████████████
Bypass FIFO: 92%: █████████████████████████████████████
Map filter: 92%: █████████████████████████████████████
Pixel shader: 92%: █████████████████████████████████████
Filtering: 92%: █████████████████████████████████████
CL CS: 79%: ███████████████████████████████▊
Texture decompress: 76%: ██████████████████████████████▌
Texture fetch: 74%: █████████████████████████████▊
Sampler cache: 73%: █████████████████████████████▍
GS CS: 70%: ████████████████████████████▏
URB CS: 69%: ███████████████████████████▊
VS0 CS: 54%: █████████████████████▊
Projection and LOD: 50%: ████████████████████▏
Dispatcher: 39%: ███████████████▊
Dependent address generator: 38%: ███████████████▍
Message Arbiter row 1: 19%: ███████▊
EM1 CS CR: 7%: ███
SVDR CS CR: 4%: █▊
SVSM CS CR: 1%: ▌
SVTW CS CR: 0%: ▏
GW CS CR: 0%: ▏
UC1 CS: 0%: ▏
SVRW CS CR: 0%: ▏
SVRR CS CR: 0%: ▏
EM0 CS CR: 0%: ▏
MAW CS CR: 0%: ▏
MASM CS CR: 0%: ▏
SVDW CS CR: 0%: ▏
This was just with the following rendering code (and the fragment shader
I posted before, FF vertex pipeline). Without the fragment shader, I got
this (similar) trace:
UC0 CS: 82%: █████████████████████████████████
VF CS: 82%: █████████████████████████████████
Row 1, EU 3: 82%: █████████████████████████████████
Windowizer: 82%: █████████████████████████████████
Row 0, EU 3: 82%: █████████████████████████████████
ISC CS: 82%: █████████████████████████████████
Row 1, EU 2: 82%: █████████████████████████████████
Setup Engine: 82%: █████████████████████████████████
Row 0, EU 2: 82%: █████████████████████████████████
Row 1, EU 1: 82%: █████████████████████████████████
Row 1, EU 0: 82%: █████████████████████████████████
Row 0, EU 1: 82%: █████████████████████████████████
Map filter: 81%: ████████████████████████████████▌
Texture fetch: 79%: ███████████████████████████████▊
Bypass FIFO: 77%: ███████████████████████████████
Pixel shader: 75%: ██████████████████████████████▏
Texture decompress: 71%: ████████████████████████████▌
Filtering: 71%: ████████████████████████████▌
CL CS: 70%: ████████████████████████████▏
Sampler cache: 70%: ████████████████████████████▏
URB CS: 68%: ███████████████████████████▍
GS CS: 62%: █████████████████████████
VS0 CS: 49%: ███████████████████▊
Message Arbiter row 1: 32%: █████████████
EM1 CS CR: 13%: █████▍
SVDR CS CR: 7%: ███
SVSM CS CR: 5%: ██▏
SVTW CS CR: 0%: ▏
GW CS CR: 0%: ▏
UC1 CS: 0%: ▏
MAW CS CR: 0%: ▏
SVRR CS CR: 0%: ▏
SVRW CS CR: 0%: ▏
EM0 CS CR: 0%: ▏
MASM CS CR: 0%: ▏
SVDW CS CR: 0%: ▏
MASF CS CR: 0%: ▏
Projection and LOD: 0%: ▏
Dispatcher: 0%: ▏
For the shader case, I captured a GPU dump during execution. It is
attached (gzipped)
Is it possible the texture unit is involved in copying buffers? Or is it
just a case of mis-reporting what is active?
--
Peter Clifton
Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA
Tel: +44 (0)7729 980173 - (No signal in the lab!)
Tel: +44 (0)1223 748328 - (Shared lab phone, ask for me)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gpu_dump_texture_unit_busy.txt.gz
Type: application/x-gzip
Size: 158631 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20101007/4ebc0055/attachment.bin>
More information about the Intel-gfx
mailing list