summaryrefslogtreecommitdiffstats
path: root/hwc
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2012-04-18 16:36:27 -0700
committerMathias Agopian <mathias@google.com>2012-04-18 16:36:27 -0700
commit1a45d7e2f85f1e3f3eeef590aa52316376055440 (patch)
treef76cd16ff97c64dcd530f606b66b13dc9bfcf068 /hwc
parentd3ed7e4851d939d3952be692930bfd13556b26ac (diff)
downloadhardware_ti_omap4xxx-1a45d7e2f85f1e3f3eeef590aa52316376055440.zip
hardware_ti_omap4xxx-1a45d7e2f85f1e3f3eeef590aa52316376055440.tar.gz
hardware_ti_omap4xxx-1a45d7e2f85f1e3f3eeef590aa52316376055440.tar.bz2
WORKAROUND for Bug:5965421
looks like certain scaling factor cause the overlay engine to go all black. Limit the vertical downsampling to 4x instead of 8x Change-Id: I9034fb99b64c6936059970553b24eba5c941ebdd
Diffstat (limited to 'hwc')
-rw-r--r--hwc/hwc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/hwc/hwc.c b/hwc/hwc.c
index a0b34b7..b5b80ec 100644
--- a/hwc/hwc.c
+++ b/hwc/hwc.c
@@ -724,6 +724,10 @@ static int omap4_hwc_can_scale(__u32 src_w, __u32 src_h, __u32 dst_w, __u32 dst_
/* NOTE: no support for checking YUV422 layers that are tricky to scale */
+ /* FIXME: limit vertical downscale well below theoretical limit as we saw display artifacts */
+ if (dst_h < src_h / 4)
+ return 0;
+
/* max downscale */
if (dst_h < src_h / limits->max_downscale / (is_2d ? limits->max_ydecim_2d : limits->max_ydecim_1d))
return 0;