Morton,

        Seems that I have found the root cause of that.
        According to my debug, there are two places in error of geode
driver.
        I have one question to ask you for one bug:
        You know when the driver does the composite, it is called in
exaTryDriverComposite() function. You guess what? It give a driver a
composite call that the source's width is less than srcX. That is
impossible from my point.
        Make is more simple:
        A XRenderComposite() call below:
                XRenderComposite(dpy, PictOpOver, picture_10x10[0].pict,
0, win->pict, 11, 0, 0, 0, 50, 50, 40, 40)

        The source is a 10x10 pixmap, but the srcX is 11. The rendering
result is none! I think the driver should refuse that parameter to do
the rendering. It will bring chaos operation. That is my thought.

Thanks,
Frank

-----Original Message-----
From: Huang, FrankR 
Sent: 2010?6?12? 17:51
To: '[email protected]'
Cc: '[email protected]'; '[email protected]'
Subject: Rendering in geode


Resend it. Forget the subject.

-----Original Message-----
From: Huang, FrankR 
Sent: 2010?6?12? 17:43
To: '[email protected]'
Cc: '[email protected]'; [email protected]
Subject: 

Morton,

        After I fix the PictOpOver operation, the geode still has
another rendering issue. That is also serious. I attached a picture,
please take a look. I have not find the root cause.
        I use this simple gtk program to reproduce. When I move the
mouse on the button, some green add-on region is appearing. You can see
the green part on scissor button.
        I trace the code and found that when I move the mouse on the
button, the driver will do two rendering operation(lx_do_composite). The
format of these two operations are:

        1)pSrc : PICT_a8r8g8b8     pMsk: 0      pDst: PICT_r5g6b5
        2)pSrc : PICT_a8r8g8b8     pMsk: PICT_a8        pDst:
PICT_r5g6b5

        When I note the 1) condition handle in geode driver code,
everything is ok. No add-on region is appeared again. But I am sure our
driver can handle the 1) condition correctly, I use rendercheck to test
that case.
        At the same time, when I move the mouse on the button, other
rendering is done by Xserver because our driver can not handle all the
rendering condition. That is due to our limited rendering function. I am
not sure if it is caused by this mixed rendering result( our driver and
pixman rendering together).


Thanks,
Frank

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to