Writing Kdrive DDX driver

Franco Catrin L. fcatrin at tuxpan.com
Fri Dec 14 05:52:20 PST 2007


manisha salve <msalve at gmail.com> ha escrito:

> Thanks Franco ,
>
> One more query i have regarding Pixmap , Is pixmap nothing but Framebuffer
> itself  ???
> I will give the program flow below with function name and file name:

[DIX program flow]

> From this flow , framebuffer is the Pixmap buffer on which all the graphics
> operations are performed(correct me if i am wrong)

I recommend you not to look at DIX code to understand what your driver  
has to implement.  You can look at it later to see what you can  
improve in your friver but at first time you should look at an  
existing driver code [1]

When Init function is called, you will receive a KdScreenInfo struct  
where you have to fill in a Driver struct[2].  Your Driver struct is  
based in VesaScreenPrivRec and there you can add a pointer to your  
allocated framebuffer. [3]

> It is important for me to know on which buffer acceleration operations
> should be performed.I have to pass that address to the graphic
> controller.

When your driver's enableAccel is called you will receive that Driver  
struct where you can get the framebuffer address to use in your  
accelerated funcions [4]


> Iam not using MMIO to map the hardware registers . I am
> using ioctls provided
> my graphics controller kernel driver , to program the hardware.

You can use anything you have in hand.  That's private to your driver [5]

[1]
http://webcvs.freedesktop.org/xserver/xserver/hw/kdrive/neomagic/?pathrev=HEAD

[2] neomagic.c/neoScreenInit
[3] neomagic.h/_neoScreenInfo
[4] neo_draw.c/neoDrawEnable
[5] neomagic.h/_neoCardInfo

-- 
Franco Catrin L.
http://www.tuxpan.com/fcatrin

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.



More information about the xorg-arch mailing list