From 2b071a3ff95e522403e6dc0b40d092bea9a7530c Mon Sep 17 00:00:00 2001 From: David Reveman Date: Thu, 2 Feb 2006 02:20:24 +0000 Subject: [PATCH] Add a chunk of code that somehow got lost when moving code from the xserver tree --- ChangeLog | 3 +++ fb/fbcompose.c | 30 +++++++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 3acc0e0f9..de46e024f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2006-02-01 David Reveman + * fb/fbcompose.c (fbCompositeRect): Add a chunk of code that somehow + got lost when moving code from the xserver tree. + * fb/fbbltone.c: Negative stride fix. * hw/xgl/xglglx.h: diff --git a/fb/fbcompose.c b/fb/fbcompose.c index c50825b9e..368b469af 100644 --- a/fb/fbcompose.c +++ b/fb/fbcompose.c @@ -1,5 +1,5 @@ /* - * $XdotOrg: xserver/xorg/fb/fbcompose.c,v 1.26.6.1 2006/01/18 07:21:42 airlied Exp $ + * $XdotOrg: xserver/xorg/fb/fbcompose.c,v 1.26.6.2 2006/01/27 04:34:28 airlied Exp $ * $XFree86: xc/programs/Xserver/fb/fbcompose.c,v 1.17tsi Exp $ * * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc. @@ -3873,6 +3873,34 @@ fbCompositeRect (const FbComposeData *data, CARD32 *scanline_buffer) fetchDest = NULL; } else + { + fetchDest = fbFetch; + store = fbStore; + + switch (data->op) { + case PictOpClear: + case PictOpSrc: + fetchDest = NULL; + /* fall-through */ + case PictOpAdd: + case PictOpOver: + switch (data->dest->format) { + case PICT_a8r8g8b8: + case PICT_x8r8g8b8: + store = NULL; + break; + } + break; + } + } + + if (!store) + { + int bpp; + + fbGetDrawable (data->dest->pDrawable, bits, stride, bpp, xoff, yoff); + } + else { bits = NULL; stride = 0;