New issue
Advanced search Search tips

Issue 852675 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

AFBC doesn't work for modeset buffers

Project Member Reported by edcourtney@chromium.org, Jun 14 2018

Issue description

It seems like we aren't giving a valid buffer in screen_manager.cc when trying to do modeset with AFBC. A long term solution might be to get this working, but for now I think we should just not use AFBC for modeset buffers.

See b/109782243.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 18 2018

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

commit 76904d165231ce06a6f59a4d9cb3b0f04b25e6f2
Author: Eliot Courtney <edcourtney@google.com>
Date: Mon Jun 18 16:15:24 2018

ozone/drm: Disable AFBC for modeset buffers

AFBC for modeset buffers doesn't work correctly, as we can't fill them
with valid AFBC contents. For now, don't use AFBC for modeset buffers.
Remove this after we make ozone/drm capable of creating valid AFBC
modeset buffers (tracked by  crbug.com/852675 ).

Bug:  852675 ,  853328 , b/109782243
Test: External monitor works on Kevin

Change-Id: I902f2615aa78e34251381f87e25c5e76f39b94b5
Reviewed-on: https://chromium-review.googlesource.com/1100666
Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568024}
[modify] https://crrev.com/76904d165231ce06a6f59a4d9cb3b0f04b25e6f2/ui/ozone/platform/drm/gpu/DEPS
[modify] https://crrev.com/76904d165231ce06a6f59a4d9cb3b0f04b25e6f2/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
[modify] https://crrev.com/76904d165231ce06a6f59a4d9cb3b0f04b25e6f2/ui/ozone/platform/drm/gpu/hardware_display_controller.h
[modify] https://crrev.com/76904d165231ce06a6f59a4d9cb3b0f04b25e6f2/ui/ozone/platform/drm/gpu/screen_manager.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Jun 19 2018

Labels: merge-merged-3440
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/19bf5dc1601074925fe0aded324ee5ab2956e4a5

commit 19bf5dc1601074925fe0aded324ee5ab2956e4a5
Author: Eliot Courtney <edcourtney@google.com>
Date: Tue Jun 19 04:17:51 2018

ozone/drm: Disable AFBC for modeset buffers

AFBC for modeset buffers doesn't work correctly, as we can't fill them
with valid AFBC contents. For now, don't use AFBC for modeset buffers.
Remove this after we make ozone/drm capable of creating valid AFBC
modeset buffers (tracked by  crbug.com/852675 ).

Bug:  852675 ,  853328 , b/109782243
Test: External monitor works on Kevin

Change-Id: I902f2615aa78e34251381f87e25c5e76f39b94b5
Reviewed-on: https://chromium-review.googlesource.com/1100666
Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#568024}(cherry picked from commit 76904d165231ce06a6f59a4d9cb3b0f04b25e6f2)
Reviewed-on: https://chromium-review.googlesource.com/1105538
Reviewed-by: Eliot Courtney <edcourtney@chromium.org>
Cr-Commit-Position: refs/branch-heads/3440@{#439}
Cr-Branched-From: 010ddcfda246975d194964ccf20038ebbdec6084-refs/heads/master@{#561733}
[modify] https://crrev.com/19bf5dc1601074925fe0aded324ee5ab2956e4a5/ui/ozone/platform/drm/gpu/DEPS
[modify] https://crrev.com/19bf5dc1601074925fe0aded324ee5ab2956e4a5/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
[modify] https://crrev.com/19bf5dc1601074925fe0aded324ee5ab2956e4a5/ui/ozone/platform/drm/gpu/hardware_display_controller.h
[modify] https://crrev.com/19bf5dc1601074925fe0aded324ee5ab2956e4a5/ui/ozone/platform/drm/gpu/screen_manager.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Jun 20 2018

Labels: merge-merged-3396
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f97cb28f57b695fa9195e2f51eff01c239fca5bc

commit f97cb28f57b695fa9195e2f51eff01c239fca5bc
Author: Eliot Courtney <edcourtney@google.com>
Date: Wed Jun 20 01:30:49 2018

ozone/drm: Disable AFBC for modeset buffers

AFBC for modeset buffers doesn't work correctly, as we can't fill them
with valid AFBC contents. For now, don't use AFBC for modeset buffers.
Remove this after we make ozone/drm capable of creating valid AFBC
modeset buffers (tracked by  crbug.com/852675 ).

Bug:  852675 ,  853328 , b/109782243
Test: External monitor works on Kevin

Change-Id: I902f2615aa78e34251381f87e25c5e76f39b94b5
Reviewed-on: https://chromium-review.googlesource.com/1100666
Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#568024}(cherry picked from commit 76904d165231ce06a6f59a4d9cb3b0f04b25e6f2)
Reviewed-on: https://chromium-review.googlesource.com/1105717
Reviewed-by: Eliot Courtney <edcourtney@chromium.org>
Cr-Commit-Position: refs/branch-heads/3396@{#782}
Cr-Branched-From: 9ef2aa869bc7bc0c089e255d698cca6e47d6b038-refs/heads/master@{#550428}
[modify] https://crrev.com/f97cb28f57b695fa9195e2f51eff01c239fca5bc/ui/ozone/platform/drm/gpu/DEPS
[modify] https://crrev.com/f97cb28f57b695fa9195e2f51eff01c239fca5bc/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
[modify] https://crrev.com/f97cb28f57b695fa9195e2f51eff01c239fca5bc/ui/ozone/platform/drm/gpu/hardware_display_controller.h
[modify] https://crrev.com/f97cb28f57b695fa9195e2f51eff01c239fca5bc/ui/ozone/platform/drm/gpu/screen_manager.cc

Status: Fixed (was: Started)
This should be fixed (mitigated) now. During the investigation we found two things:

1. We should send proper AFBC data during modeset, rather than what we did here, which was just disable it.
2. There appears to be some race that can happen on kevin where we send AFBC buffers to the small vop that doesn't support it.

I'll create two new bugs for these things.

Sign in to add a comment