Rendering in geode

Huang, FrankR FrankR.Huang at amd.com
Sun Jun 13 01:47:56 PDT 2010


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: 'jonathan.morton at movial.com'
Cc: 'xorg-devel at lists.x.org'; 'xorg-driver-geode at lists.x.org'
Subject: Rendering in geode


Resend it. Forget the subject.

-----Original Message-----
From: Huang, FrankR 
Sent: 2010?6?12? 17:43
To: 'jonathan.morton at movial.com'
Cc: 'xorg-devel at lists.x.org'; xorg-driver-geode at lists.x.org
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



More information about the xorg-devel mailing list