Mailinglist Archive: radeonhd (408 mails)
| < Previous | Next > |
Re: [radeonhd] Transformation + "fast" filter + RepeatNone = Fallback?
- From: Alex Deucher <alexdeucher@xxxxxxxxx>
- Date: Mon, 8 Jun 2009 12:13:08 -0400
- Message-id: <a728f9f90906080913k7c007675r43f70a433df0a116@xxxxxxxxxxxxxx>
On Mon, Jun 8, 2009 at 11:55 AM, Clemens Eisserer<linuxhippy@xxxxxxxxx> wrote:
Add some debugging to R600CheckComposite() and see what's causing it
to fall back. I suspect you are hitting the following in
R600CheckCompositeTexture():
/* for REPEAT_NONE, Render semantics are that sampling outside the
source
* picture results in alpha=0 pixels. We can implement this with a
border color
* *if* our source texture has an alpha channel, otherwise we need
to fall
* back. If we're not transformed then we hope that upper layers
have clipped
* rendering to the bounds of the source drawable, in which case
it doesn't
* matter. I have not, however, verified that the X server always
does such
* clipping.
*/
/* FIXME R6xx */
if (pPict->transform != 0 && !pPict->repeat &&
PICT_FORMAT_A(pPict->format) == 0) {
if (!(((op == PictOpSrc) || (op == PictOpClear)) &&
(PICT_FORMAT_A(pDstPict->format) == 0)))
RADEON_FALLBACK(("REPEAT_NONE unsupported for transformed
xRGB source\n"));
}
It's not compliant if you remove the check, but I haven't seen any
issues either. I'm not really a render expert however.
Alex
--
To unsubscribe, e-mail: radeonhd+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: radeonhd+help@xxxxxxxxxxxx
Hello again,
At least the radeonhd-version shipped with Ubuntu-9.04 seems to fall
back to software when compositing with a source that has:
- Transformation applied
- "fast" filte
- RepeatNone.
JXRenderMark seems to confirm my findings, it is available at:
http://78.31.67.79:8080/jxrender/RenderMark.html
If I use RepeatPad + Mask + "good" filter everything seems fine.
Is this a known problem, or should I open a bug-report about it?
Add some debugging to R600CheckComposite() and see what's causing it
to fall back. I suspect you are hitting the following in
R600CheckCompositeTexture():
/* for REPEAT_NONE, Render semantics are that sampling outside the
source
* picture results in alpha=0 pixels. We can implement this with a
border color
* *if* our source texture has an alpha channel, otherwise we need
to fall
* back. If we're not transformed then we hope that upper layers
have clipped
* rendering to the bounds of the source drawable, in which case
it doesn't
* matter. I have not, however, verified that the X server always
does such
* clipping.
*/
/* FIXME R6xx */
if (pPict->transform != 0 && !pPict->repeat &&
PICT_FORMAT_A(pPict->format) == 0) {
if (!(((op == PictOpSrc) || (op == PictOpClear)) &&
(PICT_FORMAT_A(pDstPict->format) == 0)))
RADEON_FALLBACK(("REPEAT_NONE unsupported for transformed
xRGB source\n"));
}
It's not compliant if you remove the check, but I haven't seen any
issues either. I'm not really a render expert however.
Alex
--
To unsubscribe, e-mail: radeonhd+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: radeonhd+help@xxxxxxxxxxxx
| < Previous | Next > |