summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCraig Stout <craig.stout@ti.com>2012-09-05 14:10:39 -0700
committerCraig Stout <craig.stout@ti.com>2012-09-05 15:09:59 -0700
commitd3fc2152db7a523c5381ee41bfcdc04aa78bab0f (patch)
tree0468af6bb02aa42e79ea4b1b8cbf918dcf48a23a
parent8d6b04bda7e9d3f84bd7441e23dbf5fe87b111e3 (diff)
downloadhardware_ti_omap4-d3fc2152db7a523c5381ee41bfcdc04aa78bab0f.zip
hardware_ti_omap4-d3fc2152db7a523c5381ee41bfcdc04aa78bab0f.tar.gz
hardware_ti_omap4-d3fc2152db7a523c5381ee41bfcdc04aa78bab0f.tar.bz2
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 <craig.stout@ti.com>
-rw-r--r--gcbv/mirror/gcbv.c11
1 files 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]);