diff options
author | Tony Lofthouse <a0741364@ti.com> | 2012-08-24 16:20:02 -0500 |
---|---|---|
committer | Daniel Levin <dendy@ti.com> | 2012-11-28 21:16:24 +0200 |
commit | ebe419deed81c66911a36d3ada4bc0991dd05c5b (patch) | |
tree | 218e831ab8ebe809968ca6c916cebe1a5d5425e3 /hwc | |
parent | 67bd6fdd70ac683519a38d99c5737120a7a821e9 (diff) | |
download | hardware_ti_omap4-ebe419deed81c66911a36d3ada4bc0991dd05c5b.zip hardware_ti_omap4-ebe419deed81c66911a36d3ada4bc0991dd05c5b.tar.gz hardware_ti_omap4-ebe419deed81c66911a36d3ada4bc0991dd05c5b.tar.bz2 |
hwc: HACK: wuxga panels will generate unscalable layers
During the transition from the recents panel to a selected application
during the transition a layer which requires a scale down from 1920x1200
to 594x361 is generated. This satisfies the normal limits but with buffers
of this size and also blending another 1920x1200 framebuffer. A VID1
underflow occurs.
This work-around avoids scaling when layers are wider than 720p and
are 4 byte RGB.
These conditions have been reproduced in isolation with ADTF.
Change-Id: If8fbc8f639abb89a0d736a3beabd2c12312ac3ac
Signed-off-by: Tony Lofthouse <a0741364@ti.com>
Diffstat (limited to 'hwc')
-rw-r--r-- | hwc/hwc.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -899,6 +899,10 @@ static int omap4_hwc_can_scale(__u32 src_w, __u32 src_h, __u32 dst_w, __u32 dst_ if (dst_w * 4 < src_w) return 0; + if (handle) + if (get_rgb_bpp(handle) == 32 && src_w > 1280 && dst_w * 3 < src_w) + return 0; + /* max horizontal downscale is 4, or the fclk/pixclk */ if (fclk > pclk * limits->max_downscale) fclk = pclk * limits->max_downscale; |