New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 745998 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner: ----
Closed: Sep 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

rk3399: HW overlays scaled by a factor of two don't work.

Project Member Reported by dcasta...@chromium.org, Jul 18 2017

Issue description

While investigating  crbug.com/709105  we noticed that HW overlays scaled by a factor of two don't work on kevin. The whole screen flickers.

This issue was mostly visible with android apps on external displays. Android buffers are produced at the main panel DPI and typically rescaled by a factor of two on external displays.

An easier way to reproduce this issue is just to change the resolution to native on kevin and run an android app on the main display (you should remove the external monitor too, or there won't be overlays on the primary display).
The native resolution should be 2400x1600, while the standard 1200x800.

Temporarily, as a workaround, we just rejected buffers scaled by 2 on arm devices: https://chromium-review.googlesource.com/555770

We should fix the scaling issue in the rockchip module.
 
Cc: djmk@chromium.org dbehr@chromium.org gurcheta...@chromium.org
Status: Started (was: Untriaged)
Kristian found https://github.com/torvalds/linux/commit/0b12e9c0e4d5138289a7a9d875ce655842b60b03 that might fix this issue.
That seems the right fix.
Just tested it with:
modetest -M rockchip -s 37@33:2400x1600 -P 34@33:256x256*.5

Half of the screen is black without the patch.

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 22 2017

Labels: merge-merged-chromeos-4.4
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/fce6e3fe1778221cc47cd4a0c37b8a36632a5919

commit fce6e3fe1778221cc47cd4a0c37b8a36632a5919
Author: Mark yao <mark.yao@rock-chips.com>
Date: Fri Sep 22 17:18:50 2017

BACKPORT: drm/rockchip: vop: fix NV12 video display error

fixup the scale calculation formula on the case
src_height == (dst_height/2).

Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Reviewed-by: Sandy huang <sandy.huang@rock-chips.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1501494586-6984-1-git-send-email-mark.yao@rock-chips.com
(cherry picked from commit 0b12e9c0e4d5138289a7a9d875ce655842b60b03)
Signed-off-by: Daniele Castagna <dcastagna@chromium.org>

BUG= chromium:745998 
TEST=modetest with scaled buffer by .5 on kevin.

Change-Id: I153f049e65e488ca3abfce70a10e2e28b4cc6cb0
Reviewed-on: https://chromium-review.googlesource.com/673089
Commit-Ready: Daniele Castagna <dcastagna@chromium.org>
Tested-by: Daniele Castagna <dcastagna@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@chromium.org>

[modify] https://crrev.com/fce6e3fe1778221cc47cd4a0c37b8a36632a5919/drivers/gpu/drm/rockchip/rockchip_drm_vop.h

Project Member

Comment 5 by bugdroid1@chromium.org, Sep 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5178cafce68e989f642d51cfb7c5d3f30bb0ab6d

commit 5178cafce68e989f642d51cfb7c5d3f30bb0ab6d
Author: Daniele Castagna <dcastagna@chromium.org>
Date: Fri Sep 22 22:32:51 2017

Revert "ozone: Reject overlays downscaled by a factor of 2."

crrev.com/c/673089 properly fixes the scaling in rockchip drm
module and we can remove the workaround.

This reverts commit 8aa1867fdd801c9b01367a02253ece99346adfbc.

BUG= 745998 

Change-Id: Id89b4a2596d323b4d8048ec7ce3eda1da8c6461a
Reviewed-on: https://chromium-review.googlesource.com/677543
Reviewed-by: David Reveman <reveman@chromium.org>
Commit-Queue: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503873}
[modify] https://crrev.com/5178cafce68e989f642d51cfb7c5d3f30bb0ab6d/ui/ozone/platform/drm/gpu/hardware_display_plane_atomic.cc

Status: Fixed (was: Started)
Labels: -M-61 M-63

Sign in to add a comment