From d3fc2152db7a523c5381ee41bfcdc04aa78bab0f Mon Sep 17 00:00:00 2001 From: Craig Stout Date: Wed, 5 Sep 2012 14:10:39 -0700 Subject: gcbv-user: improve check for fill condition When a usecase generates a fill with a 1x1 destination we were hitting the blt rather than fill path. This change improves the check for fill to validate whether there is a virtual address which the fill code needs anyway as it directly accessing the memory provided by the src1 buffer descriptor. Change-Id: I7010075d268f9dd57714119d088e7bc5c7bf17e2 Signed-off-by: Craig Stout --- gcbv/mirror/gcbv.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gcbv/mirror/gcbv.c b/gcbv/mirror/gcbv.c index f6c0cfe..7451198 100644 --- a/gcbv/mirror/gcbv.c +++ b/gcbv/mirror/gcbv.c @@ -4338,13 +4338,14 @@ enum bverror bv_blt(struct bvbltparams *bltparams) } } - if (EQ_SIZE(srcinfo[i].rect, dstrect)) - bverror = do_blit(bltparams, batch, - &srcinfo[i]); - else if ((srcinfo[i].rect->width == 1) && - (srcinfo[i].rect->height == 1)) + if ((srcinfo[i].rect->width == 1) && + (srcinfo[i].rect->height == 1) && + (bltparams->src1.desc->virtaddr)) bverror = do_fill(bltparams, batch, &srcinfo[i]); + else if (EQ_SIZE(srcinfo[i].rect, dstrect)) + bverror = do_blit(bltparams, batch, + &srcinfo[i]); else bverror = do_filter(bltparams, batch, &srcinfo[i]); -- cgit v1.1