xf86-video-ati: Branch 'master'
Alex Deucher
agd5f at kemper.freedesktop.org
Fri Jan 11 06:56:12 PST 2013
src/radeon_exa_render.c | 32 ++++++++++++++++----------------
src/radeon_textured_videofuncs.c | 8 ++++----
2 files changed, 20 insertions(+), 20 deletions(-)
New commits:
commit 102ee4a24e4c9ba0c0b65d3ca8599dc7e0216c1e
Author: Alex Deucher <alexdeucher at gmail.com>
Date: Fri Jan 11 09:52:32 2013 -0500
radeon/r200: program RE_WIDTH_HEIGHT properly
Values are inclusive. Mesa already sets these
correctly. Also bump EXA/Xv limits from 2047 to
2048.
Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
index 263a2b4..1f6b86d 100644
--- a/src/radeon_exa_render.c
+++ b/src/radeon_exa_render.c
@@ -473,8 +473,8 @@ static Bool R100CheckComposite(int op, PicturePtr pSrcPicture,
pDstPixmap = RADEONGetDrawablePixmap(pDstPicture->pDrawable);
- if (pDstPixmap->drawable.width > 2047 ||
- pDstPixmap->drawable.height > 2047) {
+ if (pDstPixmap->drawable.width > 2048 ||
+ pDstPixmap->drawable.height > 2048) {
RADEON_FALLBACK(("Dest w/h too large (%d,%d).\n",
pDstPixmap->drawable.width,
pDstPixmap->drawable.height));
@@ -486,8 +486,8 @@ static Bool R100CheckComposite(int op, PicturePtr pSrcPicture,
*/
pSrcPixmap = RADEONGetDrawablePixmap(pSrcPicture->pDrawable);
- if (pSrcPixmap->drawable.width > 2047 ||
- pSrcPixmap->drawable.height > 2047) {
+ if (pSrcPixmap->drawable.width > 2048 ||
+ pSrcPixmap->drawable.height > 2048) {
RADEON_FALLBACK(("Source w/h too large (%d,%d).\n",
pSrcPixmap->drawable.width,
pSrcPixmap->drawable.height));
@@ -501,8 +501,8 @@ static Bool R100CheckComposite(int op, PicturePtr pSrcPicture,
if (pMaskPicture->pDrawable) {
pMaskPixmap = RADEONGetDrawablePixmap(pMaskPicture->pDrawable);
- if (pMaskPixmap->drawable.width > 2047 ||
- pMaskPixmap->drawable.height > 2047) {
+ if (pMaskPixmap->drawable.width > 2048 ||
+ pMaskPixmap->drawable.height > 2048) {
RADEON_FALLBACK(("Mask w/h too large (%d,%d).\n",
pMaskPixmap->drawable.width,
pMaskPixmap->drawable.height));
@@ -692,8 +692,8 @@ static Bool R100PrepareComposite(int op,
OUT_RING_REG(RADEON_RB3D_BLENDCNTL, blendcntl);
OUT_RING_REG(RADEON_RE_TOP_LEFT, 0);
- OUT_RING_REG(RADEON_RE_WIDTH_HEIGHT, (((pDst->drawable.width) << RADEON_RE_WIDTH_SHIFT) |
- ((pDst->drawable.height) << RADEON_RE_HEIGHT_SHIFT)));
+ OUT_RING_REG(RADEON_RE_WIDTH_HEIGHT, (((pDst->drawable.width - 1) << RADEON_RE_WIDTH_SHIFT) |
+ ((pDst->drawable.height - 1) << RADEON_RE_HEIGHT_SHIFT)));
ADVANCE_RING();
return TRUE;
@@ -872,8 +872,8 @@ static Bool R200CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskP
pDstPixmap = RADEONGetDrawablePixmap(pDstPicture->pDrawable);
- if (pDstPixmap->drawable.width > 2047 ||
- pDstPixmap->drawable.height > 2047) {
+ if (pDstPixmap->drawable.width > 2048 ||
+ pDstPixmap->drawable.height > 2048) {
RADEON_FALLBACK(("Dest w/h too large (%d,%d).\n",
pDstPixmap->drawable.width,
pDstPixmap->drawable.height));
@@ -885,8 +885,8 @@ static Bool R200CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskP
*/
pSrcPixmap = RADEONGetDrawablePixmap(pSrcPicture->pDrawable);
- if (pSrcPixmap->drawable.width > 2047 ||
- pSrcPixmap->drawable.height > 2047) {
+ if (pSrcPixmap->drawable.width > 2048 ||
+ pSrcPixmap->drawable.height > 2048) {
RADEON_FALLBACK(("Source w/h too large (%d,%d).\n",
pSrcPixmap->drawable.width,
pSrcPixmap->drawable.height));
@@ -900,8 +900,8 @@ static Bool R200CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskP
if (pMaskPicture->pDrawable) {
pMaskPixmap = RADEONGetDrawablePixmap(pMaskPicture->pDrawable);
- if (pMaskPixmap->drawable.width > 2047 ||
- pMaskPixmap->drawable.height > 2047) {
+ if (pMaskPixmap->drawable.width > 2048 ||
+ pMaskPixmap->drawable.height > 2048) {
RADEON_FALLBACK(("Mask w/h too large (%d,%d).\n",
pMaskPixmap->drawable.width,
pMaskPixmap->drawable.height));
@@ -1063,8 +1063,8 @@ static Bool R200PrepareComposite(int op, PicturePtr pSrcPicture,
blendcntl = RADEONGetBlendCntl(op, pMaskPicture, pDstPicture->format);
OUT_RING_REG(RADEON_RB3D_BLENDCNTL, blendcntl);
- OUT_RING_REG(RADEON_RE_WIDTH_HEIGHT, (((pDst->drawable.width) << RADEON_RE_WIDTH_SHIFT) |
- ((pDst->drawable.height) << RADEON_RE_HEIGHT_SHIFT)));
+ OUT_RING_REG(RADEON_RE_WIDTH_HEIGHT, (((pDst->drawable.width - 1) << RADEON_RE_WIDTH_SHIFT) |
+ ((pDst->drawable.height - 1) << RADEON_RE_HEIGHT_SHIFT)));
ADVANCE_RING();
diff --git a/src/radeon_textured_videofuncs.c b/src/radeon_textured_videofuncs.c
index cfac902..653de44 100644
--- a/src/radeon_textured_videofuncs.c
+++ b/src/radeon_textured_videofuncs.c
@@ -55,8 +55,8 @@ RADEONPrepareTexturedVideo(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv)
uint32_t dst_pitch, dst_format;
uint32_t colorpitch;
int pixel_shift;
- int scissor_w = MIN(pPixmap->drawable.width, 2047);
- int scissor_h = MIN(pPixmap->drawable.height, 2047);
+ int scissor_w = MIN(pPixmap->drawable.width, 2048) - 1;
+ int scissor_h = MIN(pPixmap->drawable.height, 2048) - 1;
int ret;
radeon_cs_space_reset_bos(info->cs);
@@ -416,8 +416,8 @@ R200PrepareTexturedVideo(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv)
uint32_t dst_pitch, dst_format;
uint32_t colorpitch;
int pixel_shift;
- int scissor_w = MIN(pPixmap->drawable.width, 2047);
- int scissor_h = MIN(pPixmap->drawable.height, 2047);
+ int scissor_w = MIN(pPixmap->drawable.width, 2048) - 1;
+ int scissor_h = MIN(pPixmap->drawable.height, 2048) - 1;
/* note: in contrast to r300, use input biasing on uv components */
const float Loff = -0.0627;
float uvcosf, uvsinf;
More information about the xorg-commit
mailing list