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