Getting the intel 915 3D engine to display something with OUT_RING commands only

Keith Whitwell keith at tungstengraphics.com
Tue Jun 19 07:51:54 PDT 2007


Tom De Man wrote:
> Hi Keith,
> 
> Thanks for your reply. The demonstrator I need is to prove I can do 3D
> with nothing but OUT_RING() commands (and the setup for video memory and
> video mode programming that has been done before) so I can port that bit
> of code to another OS. I've tried everything with the intel orange book
> next to me but intel won't give me the red book which tells what registers
> you have to program in order to do something.
> 
> Could you have a look at the attached file in the function
> I830SubsequentSolidFillRect() ?
> 
> I don't know if I'm missing much, I copied that piece of code from
> i915_render.c 
> The only thing I want to do is to draw something in 3D (anything) that is
> visible, preferable a 3D primitive or something I can see. The drawing
> rectangle is in there, but maybe with the wrong params or missing commands
> before or after it ?
> It's been a couple of weeks now I'm trying things and nothing shows up on
> the screen.
> 
> Please help ?

I don't have time to look at your code, unfortunately, but I can ask a 
few questions...


Does it work better if you run a real 3d program first?

Also - have you looked at the CMD_BUF or CMDBUF ioctl in the kernel 
module?  That basically takes a batchbuffer and (after validation) sends 
each dword to the ring -- exactly what you're trying to do.

You should look at that, and also consider capturing the dma from 
progs/trivial/tri.c and passing that to the ring yourself.  Any of these 
  should work.

Keith



More information about the xorg mailing list