exaGetPixmapFirstPixel Question

Michel Dänzer michel at daenzer.net
Tue Jan 19 01:21:51 PST 2010


On Tue, 2010-01-19 at 13:42 +0900, Soo Chan Lim wrote: 
> Hi.
> I am trying to make a ddx exa video driver at my owned target.
> When I test the driver, I have met some error from Xserver. 
> The error log is bleow,
> =========================================
> Fatal server error:
> exaGetPixmapFirstPixel called for invalid bpp 1
> =========================================
>  
> And backtrace at the exaGetPixmapFirstPixel function is below
> ==========================================================
>  
> Breakpoint 1, exaGetPixmapFirstPixel (pPixmap=0x477618)
>     at ../../exa/exa_unaccel.c:507
> 507         switch (pPixmap->drawable.bitsPerPixel) {
> (gdb) bt
> #0  exaGetPixmapFirstPixel (pPixmap=0x477618)
> at ../../exa/exa_unaccel.c:507
> #1  0x406529c0 in exaTryDriverSolidFill (pSrc=0x488ec0,
> pDst=0x488ce0, 
>     xSrc=0, ySrc=0, xDst=5, yDst=10, width=1, height=127)
>     at ../../exa/exa_render.c:300
> #2  0x40654c88 in exaComposite (op=1 '\001', pSrc=0x488ec0,
> pMask=0x0, 
>     pDst=0x488ce0, xSrc=0, ySrc=0, xMask=0, yMask=0, xDst=5, yDst=10, 
>     width=1, height=127) at ../../exa/exa_render.c:923
> #3  0x0014ccc4 in damageComposite (op=1 '\001', pSrc=0x488ec0,
> pMask=0x0, 
>     pDst=0x488ce0, xSrc=0, ySrc=0, xMask=0, yMask=0, xDst=5, yDst=10, 
>     width=1, height=127) at ../../../miext/damage/damage.c:643
> #4  0x0013392c in CompositePicture (op=1 '\001', pSrc=0x488ec0,
> pMask=0x0, 
>     pDst=0x488ce0, xSrc=0, ySrc=0, xMask=0, yMask=0, xDst=5, yDst=10, 
>     width=1, height=127) at ../../render/picture.c:1718
> #5  0x0013b24c in ProcRenderComposite (client=0x433898)
>     at ../../render/render.c:723
> #6  0x00140324 in ProcRenderDispatch (client=0x433898)
>     at ../../render/render.c:2056
> #7  0x00024650 in Dispatch () at ../../dix/dispatch.c:445
> #8  0x00022414 in main (argc=11, argv=0xbec9bd04, envp=0xbec9bd34)
>     at ../../dix/main.c:285
> (gdb) p pPixmap->drawable.bitsPerPixel
> $1 = 1 '\001'
> =============================================================
>  
> At exaGetPixmapFirstPixel, the xserver calls the FatalError when the
> bpp of the pixmap is 1.
>  
> I have two questions at this point. 
> 1. Is this exa module bug? I mean the xserver has the bug?

Yeah, exaGetPixmapFirstPixel() and/or its caller probably needs to be
fixed to handle this. 

-- 
Earthling Michel Dänzer           |                http://www.vmware.com
Libre software enthusiast         |          Debian, X and DRI developer



More information about the xorg mailing list