Acceleration of 2D operations for kdrive
Rene Rebe
rene at exactcode.de
Fri Feb 2 00:53:52 PST 2007
On Friday 02 February 2007 09:33:33 Abhinav Duggal wrote:
> Hi all,
> I have ported kdrive on arm.I want to accelerate the 2D operations
> of drawing lines,rectangles,filling rectangles,blit operations etc using a
> smart graphics accelerator for a SOC on which i am working . I have seen the
> sample drivers for neomagic and nvidia. They are not accelerating primitive
> drawing functions.Can these functions be accelerated?I think kdrive does not
> provide support for accelerating the primitive functions.It does it through
> software only because of overhead in these drawing primitives.
> It only provides supoort for accelerating the ones in the following
> structure
> typedef struct _KaaScreenInfo {
> int offsetAlign;
> int pitchAlign;
> int flags;
>
> int (*markSync) (ScreenPtr pScreen);
> void (*waitMarker) (ScreenPtr pScreen, int marker);
>
> Bool (*PrepareSolid) (PixmapPtr pPixmap,
> int alu,
> Pixel planemask,
> Pixel fg);
> void (*Solid) (int x1, int y1, int x2, int y2);
> void (*DoneSolid) (void);
>
> Bool (*PrepareCopy) (PixmapPtr pSrcPixmap,
> PixmapPtr pDstPixmap,
> Bool upsidedown,
> Bool reverse,
> int alu,
> Pixel planemask);
> void (*Copy) (int srcX,
> int srcY,
> int dstX,
> int dstY,
> int width,
> int height);
> void (*DoneCopy) (void);
>
> Bool (*PrepareBlend) (int op,
> PicturePtr pSrcPicture,
> PicturePtr pDstPicture,
> PixmapPtr pSrc,
> PixmapPtr pDst);
> void (*Blend) (int srcX,
> int srcY,
> int dstX,
> int dstY,
> int width,
> int height);
> void (*DoneBlend) (void);
>
> Bool (*CheckComposite) (int op,
> PicturePtr pSrcPicture,
> PicturePtr pMaskPicture,
> PicturePtr pDstPicture);
> Bool (*PrepareComposite) (int op,
> PicturePtr pSrcPicture,
> PicturePtr pMaskPicture,
> PicturePtr pDstPicture,
> PixmapPtr pSrc,
> PixmapPtr pMask,
> PixmapPtr pDst);
> void (*Composite) (int srcX,
> int srcY,
> int maskX,
> int maskY,
> int dstX,
> int dstY,
> int width,
> int height);
> void (*DoneComposite) (void);
>
> Bool (*PrepareTrapezoids) (PicturePtr pDstPicture,
> PixmapPtr pDst);
> void (*Trapezoids) (KaaTrapezoid *traps,
> int ntraps);
> void (*DoneTrapezoids) (void);
>
> Bool (*UploadToScreen) (PixmapPtr pDst,
> char *src,
> int src_pitch);
> Bool (*UploadToScratch) (PixmapPtr pSrc,
> PixmapPtr pDst);
> } KaaScreenInfoRec, *KaaScreenInfoPtr;
>
> Is it true?Please help.
Yes, Kdrive was written to accelerate todays desktop and embedded device
graphics. Not lines and rectangles from the 80th.
Yours,
--
René Rebe - ExactCODE GmbH - Europe, Germany, Berlin
http://exactcode.de | http://t2-project.org | http://rene.rebe.name
+49 (0)30 / 255 897 45
More information about the xorg
mailing list