Hi all,<br> 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.<br>It only provides supoort for accelerating the ones in the following structure
<br>typedef struct _KaaScreenInfo {<br> int offsetAlign;<br> int pitchAlign;<br> int flags;<br><br> int (*markSync) (ScreenPtr pScreen);<br> void (*waitMarker) (ScreenPtr pScreen, int marker);
<br><br> Bool (*PrepareSolid) (PixmapPtr pPixmap,<br> int alu,<br> Pixel planemask,<br> Pixel fg);
<br> void (*Solid) (int x1, int y1, int x2, int y2);<br> void (*DoneSolid) (void);<br><br> Bool (*PrepareCopy) (PixmapPtr pSrcPixmap,<br> PixmapPtr pDstPixmap,
<br> Bool upsidedown,<br> Bool reverse,<br> int alu,<br> Pixel planemask);
<br> void (*Copy) (int srcX,<br> int srcY,<br> int dstX,<br> int dstY,<br> int width,<br> int height);
<br> void (*DoneCopy) (void);<br><br> Bool (*PrepareBlend) (int op,<br> PicturePtr pSrcPicture,<br> PicturePtr pDstPicture,
<br> PixmapPtr pSrc,<br> PixmapPtr pDst);<br> void (*Blend) (int srcX,<br> int srcY,<br> int dstX,
<br> int dstY,<br> int width,<br> int height);<br> void (*DoneBlend) (void);<br><br> Bool (*CheckComposite) (int op,
<br> PicturePtr pSrcPicture,<br> PicturePtr pMaskPicture,<br> PicturePtr pDstPicture);<br> Bool (*PrepareComposite) (int op,
<br> PicturePtr pSrcPicture,<br> PicturePtr pMaskPicture,<br> PicturePtr pDstPicture,<br>
PixmapPtr pSrc,<br> PixmapPtr pMask,<br> PixmapPtr pDst);<br> void (*Composite) (int srcX,
<br> int srcY,<br> int maskX,<br> int maskY,<br> int dstX,<br> int dstY,
<br> int width,<br> int height);<br> void (*DoneComposite) (void);<br><br> Bool (*PrepareTrapezoids) (PicturePtr pDstPicture,<br> PixmapPtr pDst);
<br> void (*Trapezoids) (KaaTrapezoid *traps,<br> int ntraps);<br> void (*DoneTrapezoids) (void);<br><br> Bool (*UploadToScreen) (PixmapPtr pDst,
<br> char *src,<br> int src_pitch);<br> Bool (*UploadToScratch) (PixmapPtr pSrc,<br> PixmapPtr pDst);
<br>} KaaScreenInfoRec, *KaaScreenInfoPtr;<br><br>Is it true?Please help.<br> <br>