[Intel-gfx] glxdemo/glxpixmap doesn't work, please help
Ben Widawsky
ben at bwidawsk.net
Tue Aug 21 05:05:51 CEST 2012
On Tue, 21 Aug 2012 00:49:17 +0000
"Liu, Ying2" <ying2.liu at intel.com> wrote:
> We are running mesademo on Ivybridge platform. Glxdemo/glxpixmap
> doesn't work.
>
> If somebody could help us out, that would be great.
Please do not send HTML e-mail to the mailing list.
>
>
>
> The followings are the command dump from ring buffer when glxdemo and
> glxpixmap are runing:
>
> Address GPU commands Meaning
>
> 0x0 7a000003 PIPE_COTROL
>
> 0x4 0x100002 DWORD 1
>
> 0x8 0x21084 DWORD 2
>
> 0xc 0x0 DWORD 3
>
> 0x10 0x0 DWORD 4
>
> 0x14 0x0 DWORD 5
>
> 0x18 0x7a000003 PIPE_COTROL
>
> 0x1c 0x4000 DWORD 1
>
> 0x20 0x21084 DWORD 2
>
> 0x24 0x0 DWORD 3
>
> 0x28 0x0 DWORD 4
>
> 0x2c 0x0 DWORD 5
>
> 0x30 0x7a000003 PIPE_CONTROL
>
> 0x34 0x1c1d DWORD 1
>
> 0x38 0x21084 DWORD 2
>
> 0x3c 0x0 DWORD 3
>
> 0x40 0x0 DWORD 4
>
> 0x44 0x0 DWORD 5
>
> 0x48 0x18800080 MI_BATCH_BUFFER_START
>
> 0x4c 0x768000 BATCH_BUFFER_OFFSET
>
> 0x50 0x7a000003 PIPE_CONTROL
>
> 0x54 0x100002 DWORD 1
>
> 0x58 0x21084 DWORD 2
>
> 0x5c 0x0 DWORD 3
>
> 0x60 0x0 DWORD 4
>
> 0x64 0x0 DWORD 5
>
> 0x68 0x7a000003 PIPE_CONTROL
>
> 0x6c 0x4000 DWORD 1
>
> 0x70 0x21084 DWORD 2
>
> 0x74 0x0 DWORD 3
>
> 0x78 0x0 DWORD 4
>
> 0x7c 0x0 DWORD 5
>
>
>
> The batch buffer contains 3D render commands and data from glxdemo
> (or glxpixmap). The GPU hangs at address 0x64. That means all
> commands in batch buffer are completed but GPU is waiting for some
> flushes to finish in the pipe_control command. Could you help me
> figure out is there any thing wrong in this command sequence from the
> ring buffer?
>
>
>
> Thank you so much
>
>
>
> Ying
>
>
First, if you have a hang, there should be associated error state. Can
you please submit the error state somewhere.
Here are directions for filing bugs:
http://intellinuxgraphics.org/how_to_report_bug.html
I'm just eyeballing it, so this may be off, but I think you're running
an old driver because I don't think you have the new TLB INVALIDATE
flags in the right places. I'm not sure if the patches went into
-fixes, or -queued. These are pretty recently added and fix some known
issues.
The following would be answered with the error state, but moving past
that too for a moment... you say you hang at 0x64. You need to be
more specific than that. How do you know you are hung there? At least
the debug registers I am aware of only tell how far the Command
Streamer has fetched, and parsed. The GPU does not execute the commands
synchronously, and so PIPE_CONTROL is used to make sure the commands
are executed and their side effects flushed.
As an example of the above, if you invoke a shader in a batch which has
an infinite loop, your program would hang at the PIPE_CONTROL.
--
Ben Widawsky, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list