Re: exaGetPixmapFirstPixel Question

2010-01-19 Thread Michel Dänzer
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
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

exaGetPixmapFirstPixel Question

2010-01-18 Thread Soo Chan Lim
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?
2. Or my ddx video driver does not being working properly? Especially,
should I fix the createpixmap in my ddx driver?
-  Should the my ddx driver deal with 1bpp pixmap as the special case
when the driver create the pixmap or modify the pixmap header? I mean that
the createpixmap in the ddx driver makes the bitsPerPixel 8bits
when the pixmap with 1bpp is requested .

 Is there anyone who has the solution in this case?

Thanks.
soolim.
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg