diff options
author | Jordan Crouse <jordan.crouse@amd.com> | 2007-06-15 18:08:56 -0600 |
---|---|---|
committer | Jordan Crouse <jordan.crouse@amd.com> | 2007-07-06 17:00:26 -0600 |
commit | ea11d99bc29086a8fa92c01dd22f195d626b33d2 (patch) | |
tree | 8d00524d46e04d7f3d688ec7c7930737d3921036 | |
parent | 7bf0627cd001325affbe16118a2f27225179eabd (diff) |
Two fixes for compositing for Cairo 1.4.4 and X server 1.3+
-rw-r--r-- | src/amd_lx_exa.c | 6 | ||||
-rw-r--r-- | src/cim/cim_gp.c | 5 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/amd_lx_exa.c b/src/amd_lx_exa.c index eec6a7c..2f5ef85 100644 --- a/src/amd_lx_exa.c +++ b/src/amd_lx_exa.c @@ -577,9 +577,9 @@ static Bool lx_prepare_composite(int op, PicturePtr pSrc, PicturePtr pMsk, /* Get the source color */ if (direction == 0) - exaScratch.srcColor = lx_get_source_color(pSrc, 0, 0, pSrc->format); + exaScratch.srcColor = lx_get_source_color(pSrc, 0, 0, pDst->format); else - exaScratch.srcColor = lx_get_source_color(pDst, 0, 0, pDst->format); + exaScratch.srcColor = lx_get_source_color(pDst, 0, 0, pSrc->format); /* FIXME: What to do here? */ @@ -1025,7 +1025,7 @@ Bool LXExaInit(ScreenPtr pScreen) pExa->WaitMarker = lx_wait_marker; pExa->UploadToScreen = lx_upload; - pExa->DownloadFromScreen = lx_download; + //pExa->DownloadFromScreen = lx_download; pExa->PrepareSolid = lx_prepare_solid; pExa->Solid = lx_do_solid; diff --git a/src/cim/cim_gp.c b/src/cim/cim_gp.c index 6aad40f..7c4bc5b 100644 --- a/src/cim/cim_gp.c +++ b/src/cim/cim_gp.c @@ -3407,7 +3407,8 @@ gp_blend_mask_blt(unsigned long dstoffset, unsigned long srcx, unsigned long base, depth_flag; base = ((gp3_fb_base << 24) + (dstoffset & 0xFFC00000)) | - (gp3_base_register & ~GP3_BASE_OFFSET_DSTMASK); + ((gp3_fb_base << 4) + (dataoffset >> 20)) | + (gp3_base_register & GP3_BASE_OFFSET_SRCMASK); /* ENABLE ALL RELEVANT REGISTERS */ /* We override the raster mode register to force the */ @@ -3457,7 +3458,7 @@ gp_blend_mask_blt(unsigned long dstoffset, unsigned long srcx, WRITE_COMMAND32(GP3_BLT_DST_OFFSET, (dstoffset & 0x3FFFFF)); /* Set the offset of the CH3 data in memory */ - WRITE_COMMAND32(GP3_BLT_CH3_OFFSET, dataoffset & 0xFFFFFFF); + WRITE_COMMAND32(GP3_BLT_CH3_OFFSET, dataoffset & 0x3FFFFF); WRITE_COMMAND32(GP3_BLT_WID_HEIGHT, size); WRITE_COMMAND32(GP3_BLT_CH3_WIDHI, size); |