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

Issue 680510 link

Starred by 2 users

Issue metadata

Status: Archived
Owner:
Closed: Jan 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Allocate scanout buffers according to KMS modifiers.

Project Member Reported by dcasta...@chromium.org, Jan 12 2017

Issue description

In order to allocate scanout buffers with specific properties on certain CRTCs we need
to be able to query KMS for modifiers and use them to allocate buffers.

All the patches landed in ToT both on CrOS and Chromium.

The work done on CrOS has been merged to 46 already (https://code.google.com/p/chrome-os-partner/issues/detail?id=56407)

This bug is to keep track of merging Chromium patches related to this work to 46.
We'll post soon a list of patches that require to be merged in 46.
 
I meant 56 not 46.
Labels: M-56
Three patches that are needed are:

https://codereview.chromium.org/2533163002 (ozone: Create GbmBuffers from fourcc formats and gbm flags.)
https://codereview.chromium.org/2568243004 (ozone: Remove USE_LINEAR when allocating modeset buffers.)
https://codereview.chromium.org/2623963002 (ozone: Allocate scanout buffers according to KMS modifiers.)

We might be able to avoid merging back third_party changes since those are needed only for linux_chromium_chromeos_ozone_rel_ng trybot.

I'm trying to figure out if we build with linux ozone configuration on branches.
Cc: hoegsberg@chromium.org
Cc: marc...@chromium.org josa...@chromium.org gkihumba@chromium.org
marcheu@: Can you confirm if it's OK to merge to M56 CLs that depend on minigbm changes that haven't made it to third_party on M56 (but have been merged to M56 on cros).

AFAIK we don't run trybots (linux_chromium_chromeos_ozone_rel_ng) and we never build using third_party minigbm on branches, is that correct?

Labels: Merge-Request-56
Status: Fixed (was: Started)
Labels: OS-Chrome
Looks like CrOS to me.  All merge requests need OSes, please apply the right tags in the future.
Merge approved as per chat with dcastagna@
Labels: -Merge-Request-56 Merge-Approved-56
Project Member

Comment 10 by bugdroid1@chromium.org, Jan 13 2017

Labels: -merge-approved-56 merge-merged-2924
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7601afb62d79327acdc66f77114bb68023ba9c26

commit 7601afb62d79327acdc66f77114bb68023ba9c26
Author: Daniele Castagna <dcastagna@chromium.org>
Date: Fri Jan 13 00:15:12 2017

ozone: Remove USE_LINEAR when allocating modeset buffers.

crrev.com/2533163002 changed the way we allocate modeset buffers.
Unfortunately the new use flags introduced a regression that makes it
not possible to pageflip from a modeset buffer to a buffer queue buffer.
This CL restores the old modeset buffer use flags in order to fix the
regression, while we work on a long term solution.

BUG= 673026 , 680510 
TEST=manually tried the step described in the bug and verified it now works.

Review-Url: https://codereview.chromium.org/2568243004
Cr-Commit-Position: refs/heads/master@{#438193}
(cherry picked from commit a17cccbc2dbf0bf2a0df1d98ebbc773491e3e4b4)

Review-Url: https://codereview.chromium.org/2625323003 .
Cr-Commit-Position: refs/branch-heads/2924@{#750}
Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059}

[modify] https://crrev.com/7601afb62d79327acdc66f77114bb68023ba9c26/ui/ozone/platform/drm/gpu/drm_thread.cc

This is the merge of the first patch. Not sure why it didn't show up in this bug: https://codereview.chromium.org/2627973006
Project Member

Comment 12 by bugdroid1@chromium.org, Jan 13 2017

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

commit 18409015d6296cc33dfedcf1cb8ec70a5295c78d
Author: Daniele Castagna <dcastagna@chromium.org>
Date: Fri Jan 13 00:19:54 2017

ozone: Allocate scanout buffers according to KMS modifiers.

KMS now advertises per plane buffer modifiers.
This patch uses that information to make an educated choice on which
modifiers to use when allocating scanout buffers for a specific crtcs.

patch from issue 2576263002 at patchset 60001 (http://crrev.com/2576263002#ps60001)
BUG= 680510 ,chrome-os-partner:56407

Review-Url: https://codereview.chromium.org/2623963002
Cr-Commit-Position: refs/heads/master@{#442979}
(cherry picked from commit f7f9a427b0d22429efb3cb62ff7d4f55f6f5176f)

Review-Url: https://codereview.chromium.org/2627193003 .
Cr-Commit-Position: refs/branch-heads/2924@{#751}
Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059}

[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/crtc_controller.cc
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/crtc_controller.h
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/drm_buffer.cc
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/drm_device.cc
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/drm_device.h
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/drm_thread.cc
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/gbm_buffer.cc
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/gbm_buffer.h
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/gbm_buffer_base.cc
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/gbm_buffer_base.h
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/hardware_display_controller.h
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/hardware_display_plane.cc
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/hardware_display_plane.h
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.cc
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.h
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/mock_drm_device.cc
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/mock_drm_device.h
[modify] https://crrev.com/18409015d6296cc33dfedcf1cb8ec70a5295c78d/ui/ozone/platform/drm/gpu/mock_hardware_display_plane_manager.cc

Comment 13 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 15 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment