Hello everyone,

I've been reading about how drm works and going through some code. To 
understand the whole thing I'm trying a couple of stuff. But I now need some 
help.

I'm trying to find a way for sending some intructions through bus mastering. 
I understand that with drm that should be possible.

Here's what I understand so far.

When the X server starts with dri enabled 128 65k DMA buffers are created. 
So I understand that after these buffers are mapped I could reserve one of 
them for my own personnal use by using drmDMA(); This returns a index that I 
could refer to in the future.

After I reserve a buffer. I'm able to have the address of where this 
particular buffer is situated. So what I do now is to write the instructions 
in that buffer in a format that the card will understand. Which is that the 
first DWORD is 4 index of registers and the next 4 dwords are the data that 
we want to put in them.


Right now all I'm doing is writing to DMA_PAD. But the questions is that , 
after I do this how to make drm read the intructions. I was thinking that I 
could use  drmMGAFlushVertexBuffer() but it locks up my system. Is it 
necessary to use some sort of locking mecanish. Or maybe I'm supposed to do 
something else after I do this intruction.

By the way, I'm writing these intructions in SetupForSolidFills  in 
mga_storm.c.

What do you guys think? Am I going to right route? Is there another function 
I should be using in order to make the card read the intructions? All I want 
is that one 2d operation is done using bus mastering.

Fred



_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to