diff options
author | Roland Scheidegger <sroland@tungstengraphics.com> | 2009-03-18 01:55:12 +0100 |
---|---|---|
committer | Roland Scheidegger <sroland@tungstengraphics.com> | 2009-03-24 19:57:32 +0100 |
commit | d2c3964fe04be42fe538f36439ed5ffca96e436a (patch) | |
tree | 8763e72d69e099bb7f11daf68f526346190efd6e | |
parent | 18e56eb179fde28477487c63e6f9ebf7579e2cd5 (diff) |
fix textured video allocation bug
size needs to be calculated after dstPitch adjustments, got already fixed
for earlier than R600 chips by planar textured yuv patches, clean this up.
-rw-r--r-- | src/radeon_textured_video.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/radeon_textured_video.c b/src/radeon_textured_video.c index 63d56740..79671c07 100644 --- a/src/radeon_textured_video.c +++ b/src/radeon_textured_video.c @@ -376,11 +376,9 @@ RADEONPutImageTextured(ScrnInfoPtr pScrn, dstPitch = (dstPitch + 63) & ~63; dstPitch2 = ((dst_width >> 1) + 15) & ~15; dstPitch2 = (dstPitch2 + 63) & ~63; - size = dstPitch * dst_height + 2 * dstPitch2 * ((dst_height + 1) >> 1); } else { dstPitch = ((dst_width << 1) + 15) & ~15; dstPitch = (dstPitch + 63) & ~63; - size = dstPitch * dst_height; } break; case FOURCC_UYVY: @@ -390,13 +388,13 @@ RADEONPutImageTextured(ScrnInfoPtr pScrn, dstPitch = (dstPitch + 63) & ~63; srcPitch = (width << 1); srcPitch2 = 0; - size = dstPitch * dst_height; break; } if (info->ChipFamily >= CHIP_FAMILY_R600) dstPitch = (dstPitch + 255) & ~255; - /* FIXME: size calc (adjust dstPitch earlier) */ + + size = dstPitch * dst_height + 2 * dstPitch2 * ((dst_height + 1) >> 1); if (pPriv->video_memory != NULL && size != pPriv->size) { radeon_legacy_free_memory(pScrn, pPriv->video_memory); |