diff options
author | marha <marha@users.sourceforge.net> | 2014-07-19 15:00:38 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-07-19 15:00:38 +0200 |
commit | d0c30e7945e76ac119f6d867e27137c8a76f7e15 (patch) | |
tree | 1bfb3148a6f43bdd32746c5b882f9f083076cf91 /xorg-server/glamor/glamor_transfer.c | |
parent | e708bebcc029873004ade4241f347ce8c58896af (diff) | |
download | vcxsrv-d0c30e7945e76ac119f6d867e27137c8a76f7e15.tar.gz vcxsrv-d0c30e7945e76ac119f6d867e27137c8a76f7e15.tar.bz2 vcxsrv-d0c30e7945e76ac119f6d867e27137c8a76f7e15.zip |
fontconfig plink libX11 libxcb mesa git update 19 July 2014
plink revision 10207
xserver commit cfa302d6224d10860e60491333950544c4fb9b04
libxcb commit 49a61c8b459ab19c7f39e653bbb0d0339ea8f00f
libX11 commit 5525e8433f93bce464412f27cffa203ea628f368
fontconfig commit 6781c6baef062eeea5b5b68e4a9c31ea6cd7539b
mesa commit f6fc80734533140a69b30361fe0d4773a03515db
Diffstat (limited to 'xorg-server/glamor/glamor_transfer.c')
-rw-r--r-- | xorg-server/glamor/glamor_transfer.c | 48 |
1 files changed, 10 insertions, 38 deletions
diff --git a/xorg-server/glamor/glamor_transfer.c b/xorg-server/glamor/glamor_transfer.c index ad875c962..891415565 100644 --- a/xorg-server/glamor/glamor_transfer.c +++ b/xorg-server/glamor/glamor_transfer.c @@ -72,9 +72,6 @@ glamor_upload_boxes(PixmapPtr pixmap, BoxPtr in_boxes, int in_nbox, glamor_make_current(glamor_priv); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - glPixelStorei(GL_UNPACK_ALIGNMENT, 4); glPixelStorei(GL_UNPACK_ROW_LENGTH, byte_stride / bytes_per_pixel); @@ -90,27 +87,14 @@ glamor_upload_boxes(PixmapPtr pixmap, BoxPtr in_boxes, int in_nbox, while (nbox--) { /* compute drawable coordinates */ - int x1 = boxes->x1 + dx_dst; - int x2 = boxes->x2 + dx_dst; - int y1 = boxes->y1 + dy_dst; - int y2 = boxes->y2 + dy_dst; + int x1 = MAX(boxes->x1 + dx_dst, box->x1); + int x2 = MIN(boxes->x2 + dx_dst, box->x2); + int y1 = MAX(boxes->y1 + dy_dst, box->y1); + int y2 = MIN(boxes->y2 + dy_dst, box->y2); boxes++; - if (x1 < box->x1) - x1 = box->x1; - if (box->x2 < x2) - x2 = box->x2; - - if (x2 <= x1) - continue; - - if (y1 < box->y1) - y1 = box->y1; - if (box->y2 < y2) - y2 = box->y2; - - if (y2 <= y1) + if (x2 <= x1 || y2 <= y1) continue; glPixelStorei(GL_UNPACK_SKIP_ROWS, y1 - dy_dst + dy_src); @@ -195,26 +179,14 @@ glamor_download_boxes(PixmapPtr pixmap, BoxPtr in_boxes, int in_nbox, while (nbox--) { /* compute drawable coordinates */ - int x1 = boxes->x1 + dx_src; - int x2 = boxes->x2 + dx_src; - int y1 = boxes->y1 + dy_src; - int y2 = boxes->y2 + dy_src; + int x1 = MAX(boxes->x1 + dx_src, box->x1); + int x2 = MIN(boxes->x2 + dx_src, box->x2); + int y1 = MAX(boxes->y1 + dy_src, box->y1); + int y2 = MIN(boxes->y2 + dy_src, box->y2); boxes++; - if (x1 < box->x1) - x1 = box->x1; - if (box->x2 < x2) - x2 = box->x2; - - if (y1 < box->y1) - y1 = box->y1; - if (box->y2 < y2) - y2 = box->y2; - - if (x2 <= x1) - continue; - if (y2 <= y1) + if (x2 <= x1 || y2 <= y1) continue; glPixelStorei(GL_PACK_SKIP_PIXELS, x1 - dx_src + dx_dst); |