Problem in writing an accelerated (XAA) driver.
Matan Ziv-Av
matan at svgalib.org
Thu Jun 25 07:22:46 PDT 2009
Hello,
I am working on an accelerated driver for Samsung S3C6410 SoC.
I started with only implementing solid fills, i.e. I filled only the
fields:
xaaInfo->Sync
xaaInfo->SetupForSolidFill
xaaInfo->SubsequentSolidFillRect
xaaInfo->SolidFillFlags
This works in the sense that the functions are called, and draw the filled
rectangles correctly. But, the X server uses 100% CPU time. Even if I
define only the Sync function (which is an empty function), the server
still uses 100% CPU. If I comment out the call to XAAInit, the problem
does not occur.
The probelm occurs when ScreenInit function is
s3cXAAScreenInit(ScreenPtr pScreen)
{
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
FBDevPtr pFBDEV = FBDevPTR(pScrn);
XAAInfoRecPtr xaaInfo;
pFBDEV->xaaInfo = XAACreateInfoRec();
if (!pFBDEV->xaaInfo) {
return FALSE;
}
xaaInfo = pFBDEV->xaaInfo;
xaaInfo->Sync = s3cXAASync;
if (!XAAInit(pScreen, xaaInfo)) {
DESTROY_XAA_INFO(pFBDEV);
return FALSE;
}
return TRUE;
}
An s3cXAASync is :
static void
s3cXAASync(ScrnInfoPtr pScrn)
{
}
--
Matan.
More information about the xorg-devel
mailing list