On Thu, Nov 15, 2012 at 5:08 AM, Michel Dänzer <[email protected]> wrote: > On Mit, 2012-11-14 at 16:26 -0500, [email protected] wrote: >> From: Jerome Glisse <[email protected]> >> >> This is some kind off degenerate case that we might get from time to >> time, just fallback to software when facing it. >> >> v2: Handle the other degenerate case of NULL drawable >> >> Signed-off-by: Jerome Glisse <[email protected]> >> --- >> src/evergreen_exa.c | 14 +++++++++----- >> src/r600_exa.c | 14 +++++++++----- >> src/radeon_exa_render.c | 12 ++++++++++++ >> 3 files changed, 30 insertions(+), 10 deletions(-) >> >> diff --git a/src/evergreen_exa.c b/src/evergreen_exa.c >> index 883fa5c..9f79da8 100644 >> --- a/src/evergreen_exa.c >> +++ b/src/evergreen_exa.c >> @@ -837,13 +837,12 @@ static Bool EVERGREENTextureSetup(PicturePtr pPict, >> PixmapPtr pPix, >> CLEAR (tex_res); >> CLEAR (tex_samp); >> >> - for (i = 0; i < sizeof(EVERGREENTexFormats) / >> sizeof(EVERGREENTexFormats[0]); i++) { >> - if (EVERGREENTexFormats[i].fmt == pPict->format) >> - break; >> - } >> - >> /* Texture */ >> if (pPict->pDrawable) { >> + if (pPict->pDrawable->width > pPix->drawable.width || >> pPict->pDrawable->height > pPix->drawable.height) { >> + /* just let software fallback handle this degenerate case */ >> + return FALSE; >> + } > > As discussed in the 'fix exa texture setup v2' thread, I think this is > only scratching the surface of cases we're not handling correctly for > window pictures. If you don't want to more accurately test for the cases > we are handling correctly, I think it might be better to always fall > back for window pictures for now.
I read back some of the X bits and pixmap always have origin at 0,0 so we only need to take into account the width, height of window. So we should now handle most case correctly i will try to make some sense out of render check with this. Cheers, Jerome _______________________________________________ xorg-driver-ati mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-driver-ati
