No subject


Thu Dec 13 23:12:47 PST 2007


operations are performed(correct me if i am wrong)
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.Iam not using MMIO to map the hardware registers . I am
using ioctls provided
my graphics controller kernel driver , to program the hardware.

I am bit confused about Pixmap , plz put some light on this issue.


Thanks,
-Manisha





On Dec 13, 2007 6:25 PM, Franco Catrin L. <fcatrin at tuxpan.com> wrote:

> manisha salve <msalve at gmail.com> ha escrito:
>
> > Hi ,
> >
> > I am writing Kdrive DDX driver for my graphics card . I am completely
> new to
> > xorg programming . In my graphics controller i need to specify the
> source
> > and destination buffer addresses to do the acceleration.
> >
> > According to my understanding (correct me if i am wrong) , application
> can
> > create windows and pixmaps (drawables) .Xserver will allocate the
> buffers
> > for the applications.To perform graphics operations on these drawable ,
> > application has to pass addresses of drawables to the DDX drivers
> drawing
> > primitives.And then DDX driver will write those addresses to the
> hardware
> > registers. I have gone through some DDX drivers from X source code ,
>
> I recommend you to take a look at any of the existing drivers.  As you
> will see, you have to implement a set of primitive graphics functions
> and you can rely on the vesa driver to do all the "unaccelerated"
> functions.
>
> I wrote the neomagic driver and I think that it's so basic that it's a
> simple example to understand.
>
>
> http://webcvs.freedesktop.org/xserver/xserver/hw/kdrive/neomagic/?pathrev=HEAD
>
>
> --
> Franco Catrin L.
> http://www.tuxpan.com/fcatrin
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
>
>

------=_Part_9092_21723189.1197617244856
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Thanks Franco ,<br><br>One more query i have regarding Pixmap , Is pixmap nothing but Framebuffer itself&nbsp; ???<br>I will give the program flow below with function name and file name:<br>main ()&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dix/main.c<br>&nbsp;&nbsp;&nbsp; |
<br>&nbsp;&nbsp;&nbsp; |<br>&nbsp;&nbsp;&nbsp; InitOutput ()&nbsp;&nbsp;&nbsp;&nbsp; dix/main.c<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KdInitOutput()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hw/kdrive/src/kdrive.c<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KdAddScreen()&nbsp;&nbsp;&nbsp;&nbsp; hw/kdrive/src/kdrive.c<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AddScreen()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hw/kdrive/src/kdrive.c
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KdScreenInit()&nbsp;&nbsp;&nbsp;&nbsp; hw/kdrive/src/kdrive.c<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fbFinishScreenInit()&nbsp;&nbsp; fb/fbscreen.c<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; miScreenInit()&nbsp;&nbsp;&nbsp; mi/miscrinit.c
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; miScreenDevPrivateInit()&nbsp; mi/miscrinit.c<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; In this&nbsp; function , Framebuffer addr is assigned to screen-&gt;devPrivate<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pScrInitParms-&gt;pbits = pbits;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pScrInitParms-&gt;width = width;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pScreen-&gt;devPrivate = (pointer)pScrInitParms;<br>&nbsp;&nbsp; }<br><br><br>pScreen-&gt;CreateScreenResources() &nbsp; dix/main.c<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>miCreateScreenResources&nbsp;&nbsp;&nbsp;&nbsp; mi/miscrinit.c
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>&nbsp; &nbsp; &nbsp; |<br>CreatePixmap()<br>&nbsp; &nbsp;&nbsp; |<br>&nbsp; &nbsp;&nbsp; |<br>ModifyPixmapHeader() <br>{<br>&nbsp;&nbsp; In this function , Pixmap-&gt;devPrivate.ptr = Framebuffer Addr;<br>&nbsp; then , pScreen-&gt;devPrivate = Pixmap;<br><br>} <br>
<br><br>From this flow , framebuffer is the Pixmap buffer on which all the graphics operations are performed(correct me if i am wrong)<br>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.I am not using MMIO to map the hardware registers . I am using ioctls provided my graphics controller kernel driver , to program the hardware.<br><br>I am bit confused about Pixmap , plz put some light on this issue.
<br><br><br>Thanks,<br>-Manisha<br><br><br><br><br><br><div class="gmail_quote">On Dec 13, 2007 6:25 PM, Franco Catrin L. &lt;<a href="mailto:fcatrin at tuxpan.com">fcatrin at tuxpan.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
manisha salve &lt;<a href="mailto:msalve at gmail.com">msalve at gmail.com</a>&gt; ha escrito:<br><div class="Ih2E3d"><br>&gt; Hi ,<br>&gt;<br>&gt; I am writing Kdrive DDX driver for my graphics card . I am completely new to<br>
&gt; xorg programming . In my graphics controller i need to specify the source<br>&gt; and destination buffer addresses to do the acceleration.<br>&gt;<br>&gt; According to my understanding (correct me if i am wrong) , application can
<br>&gt; create windows and pixmaps (drawables) .Xserver will allocate the buffers<br>&gt; for the applications.To perform graphics operations on these drawable ,<br>&gt; application has to pass addresses of drawables to the DDX drivers drawing
<br>&gt; primitives.And then DDX driver will write those addresses to the hardware<br>&gt; registers. I have gone through some DDX drivers from X source code ,<br><br></div>I recommend you to take a look at any of the existing drivers. &nbsp;As you
<br>will see, you have to implement a set of primitive graphics functions<br>and you can rely on the vesa driver to do all the &quot;unaccelerated&quot;<br>functions.<br><br>I wrote the neomagic driver and I think that it&#39;s so basic that it&#39;s a
<br>simple example to understand.<br><br><a href="http://webcvs.freedesktop.org/xserver/xserver/hw/kdrive/neomagic/?pathrev=HEAD" target="_blank">http://webcvs.freedesktop.org/xserver/xserver/hw/kdrive/neomagic/?pathrev=HEAD
</a><br><font color="#888888"><br><br>--<br>Franco Catrin L.<br><a href="http://www.tuxpan.com/fcatrin" target="_blank">http://www.tuxpan.com/fcatrin</a><br><br>----------------------------------------------------------------
<br>This message was sent using IMP, the Internet Messaging Program.<br><br></font></blockquote></div><br>

------=_Part_9092_21723189.1197617244856--


More information about the xorg-arch mailing list