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

Issue 839487 link

Starred by 2 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature



Sign in to add a comment

Provide a DrmDevice backed by the atomic API

Project Member Reported by dnicoara@chromium.org, May 3 2018

Issue description

Take advantage of the atomic API and provide a way to configure the hardware using the atomic API rather than the legacy API.
 
Project Member

Comment 1 by bugdroid1@chromium.org, May 10 2018

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

commit b887ad9e5507cac27b5127fc2c4639f37e29a060
Author: Daniel Nicoara <dnicoara@chromium.org>
Date: Thu May 10 14:35:27 2018

[Ozone-DRM] Read CTM and GAMMA properties on initialize

Have DrmDevice read the properties and cache them during initialization.
Update SetColorCorrection() to use the cached properties rather than
query them every time the properties are set.

BUG=839487
TEST=Ran on eve and verified the CTM is set correctly.

Change-Id: I5efd4f4d83d0458a29dc1e7b588f708e0b04912a
Reviewed-on: https://chromium-review.googlesource.com/1042277
Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557511}
[modify] https://crrev.com/b887ad9e5507cac27b5127fc2c4639f37e29a060/ui/ozone/platform/drm/gpu/drm_device.cc
[modify] https://crrev.com/b887ad9e5507cac27b5127fc2c4639f37e29a060/ui/ozone/platform/drm/gpu/drm_device.h
[modify] https://crrev.com/b887ad9e5507cac27b5127fc2c4639f37e29a060/ui/ozone/platform/drm/gpu/hardware_display_plane_atomic.h

Project Member

Comment 2 by bugdroid1@chromium.org, May 23 2018

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

commit c0e1f80c652760dc3f0dd4948370921944085a23
Author: Daniel Nicoara <dnicoara@chromium.org>
Date: Wed May 23 17:52:39 2018

[Ozone-DRM] Move color correction and CRTC state out of DrmDevice

In order to simplify DrmDevice, move the CRTC state and the color
correction logic to HardwareDisplayPlaneManager. As a first step this
just moves the code out (no functional changes). Next step is to split
it into legacy and atomic implementations, wrap DRM API calls in
DrmDevice and add more tests.

Other changes include adding wrapping some of the DRM calls in DrmDevice
to allow us to unittest HardwareDisplayPlaneManager better.

BUG=839487
TEST=Ran unittests

Change-Id: Ia1675d90d9591c9c87ed402ed9b1c9b76c16bdc5
Reviewed-on: https://chromium-review.googlesource.com/1062496
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561150}
[modify] https://crrev.com/c0e1f80c652760dc3f0dd4948370921944085a23/ui/ozone/platform/drm/BUILD.gn
[modify] https://crrev.com/c0e1f80c652760dc3f0dd4948370921944085a23/ui/ozone/platform/drm/gpu/drm_device.cc
[modify] https://crrev.com/c0e1f80c652760dc3f0dd4948370921944085a23/ui/ozone/platform/drm/gpu/drm_device.h
[modify] https://crrev.com/c0e1f80c652760dc3f0dd4948370921944085a23/ui/ozone/platform/drm/gpu/drm_display.cc
[add] https://crrev.com/c0e1f80c652760dc3f0dd4948370921944085a23/ui/ozone/platform/drm/gpu/drm_gpu_util.cc
[add] https://crrev.com/c0e1f80c652760dc3f0dd4948370921944085a23/ui/ozone/platform/drm/gpu/drm_gpu_util.h
[modify] https://crrev.com/c0e1f80c652760dc3f0dd4948370921944085a23/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.cc
[modify] https://crrev.com/c0e1f80c652760dc3f0dd4948370921944085a23/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.h
[modify] https://crrev.com/c0e1f80c652760dc3f0dd4948370921944085a23/ui/ozone/platform/drm/gpu/mock_drm_device.cc
[modify] https://crrev.com/c0e1f80c652760dc3f0dd4948370921944085a23/ui/ozone/platform/drm/gpu/mock_drm_device.h
[modify] https://crrev.com/c0e1f80c652760dc3f0dd4948370921944085a23/ui/ozone/platform/drm/gpu/mock_hardware_display_plane_manager.cc

Project Member

Comment 3 by bugdroid1@chromium.org, May 24 2018

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

commit ce7674644d13e37b274716876a3867e1b1dd8b8d
Author: Daniel Nicoara <dnicoara@chromium.org>
Date: Thu May 24 20:43:43 2018

[Ozone-DRM] Refactor plane management and add tests

* We use plane properties on legacy DRM to get some details (plane
type, in_formats). Read the properties in HardwareDisplayPlane and
check that the required properties are available in DRM atomic.
* Split dummy plane into its own class to clean up code.
* Remove test plane since we can now create the real objects via
injected state in DrmDevice.
* Cleanup plane initialization.
* Remove MockHardwareDisplayPlaneManager and rely on MockDrmDevice to
inject the necessary state.

BUG=839487
TEST=Ran unittests

Change-Id: I03c91620557dcf7426629cf97bb989d8d7e83c68
Reviewed-on: https://chromium-review.googlesource.com/1048585
Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561616}
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/BUILD.gn
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/crtc_controller.cc
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/drm_device.cc
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/drm_device.h
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/drm_overlay_validator_unittest.cc
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/drm_window_unittest.cc
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/hardware_display_controller_unittest.cc
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/hardware_display_plane.cc
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/hardware_display_plane.h
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/hardware_display_plane_atomic.cc
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/hardware_display_plane_atomic.h
[add] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/hardware_display_plane_dummy.cc
[add] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/hardware_display_plane_dummy.h
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.cc
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.h
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_atomic.cc
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_atomic.h
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_legacy.cc
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_unittest.cc
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/mock_drm_device.cc
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/mock_drm_device.h
[delete] https://crrev.com/4255c18dd8d9b3411e6cdbaa92782c4cf2a97581/ui/ozone/platform/drm/gpu/mock_hardware_display_plane_manager.cc
[delete] https://crrev.com/4255c18dd8d9b3411e6cdbaa92782c4cf2a97581/ui/ozone/platform/drm/gpu/mock_hardware_display_plane_manager.h
[modify] https://crrev.com/ce7674644d13e37b274716876a3867e1b1dd8b8d/ui/ozone/platform/drm/gpu/screen_manager_unittest.cc

Project Member

Comment 4 by bugdroid1@chromium.org, May 24 2018

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

commit c34f28867fdb945b1c12de5f57edf5c0ec836a47
Author: Findit <findit-for-me@appspot.gserviceaccount.com>
Date: Thu May 24 21:42:26 2018

Revert "[Ozone-DRM] Refactor plane management and add tests"

This reverts commit ce7674644d13e37b274716876a3867e1b1dd8b8d.

Reason for revert:

Findit (https://goo.gl/kROfz5) identified CL at revision 561616 as the
culprit for failures in the build cycles as shown on:
https://findit-for-me.appspot.com/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtL2NlNzY3NDY0NGQxM2UzN2IyNzQ3MTY4NzZhMzg2N2UxYjFkZDhiOGQM

Sample Failed Build: https://ci.chromium.org/buildbot/chromium.chromiumos/linux-chromeos-rel/8468

Sample Failed Step: ozone_unittests

Original change's description:
> [Ozone-DRM] Refactor plane management and add tests
> 
> * We use plane properties on legacy DRM to get some details (plane
> type, in_formats). Read the properties in HardwareDisplayPlane and
> check that the required properties are available in DRM atomic.
> * Split dummy plane into its own class to clean up code.
> * Remove test plane since we can now create the real objects via
> injected state in DrmDevice.
> * Cleanup plane initialization.
> * Remove MockHardwareDisplayPlaneManager and rely on MockDrmDevice to
> inject the necessary state.
> 
> BUG=839487
> TEST=Ran unittests
> 
> Change-Id: I03c91620557dcf7426629cf97bb989d8d7e83c68
> Reviewed-on: https://chromium-review.googlesource.com/1048585
> Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
> Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#561616}

No-Presubmit: true
No-Tree-Checks: true
No-Try: true
BUG=839487

Change-Id: Ie87a4ecea2b6c31aa25acd3633cda1b7547b0151
Reviewed-on: https://chromium-review.googlesource.com/1072667
Cr-Commit-Position: refs/heads/master@{#561644}
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/BUILD.gn
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/crtc_controller.cc
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/drm_device.cc
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/drm_device.h
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/drm_overlay_validator_unittest.cc
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/drm_window_unittest.cc
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/hardware_display_controller_unittest.cc
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/hardware_display_plane.cc
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/hardware_display_plane.h
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/hardware_display_plane_atomic.cc
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/hardware_display_plane_atomic.h
[delete] https://crrev.com/46b2ae1a3b4e66a9e2a960baf9e05893fb4c5f9c/ui/ozone/platform/drm/gpu/hardware_display_plane_dummy.cc
[delete] https://crrev.com/46b2ae1a3b4e66a9e2a960baf9e05893fb4c5f9c/ui/ozone/platform/drm/gpu/hardware_display_plane_dummy.h
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.cc
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.h
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_atomic.cc
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_atomic.h
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_legacy.cc
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_unittest.cc
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/mock_drm_device.cc
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/mock_drm_device.h
[add] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/mock_hardware_display_plane_manager.cc
[add] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/mock_hardware_display_plane_manager.h
[modify] https://crrev.com/c34f28867fdb945b1c12de5f57edf5c0ec836a47/ui/ozone/platform/drm/gpu/screen_manager_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, May 25 2018

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

commit 12dc8ef2f020c2f406d50a4b24b8f75a404975a8
Author: Daniel Nicoara <dnicoara@chromium.org>
Date: Fri May 25 18:16:13 2018

Reland "[Ozone-DRM] Refactor plane management and add tests"

This is a reland of ce7674644d13e37b274716876a3867e1b1dd8b8d

Original change's description:
> [Ozone-DRM] Refactor plane management and add tests
>
> * We use plane properties on legacy DRM to get some details (plane
> type, in_formats). Read the properties in HardwareDisplayPlane and
> check that the required properties are available in DRM atomic.
> * Split dummy plane into its own class to clean up code.
> * Remove test plane since we can now create the real objects via
> injected state in DrmDevice.
> * Cleanup plane initialization.
> * Remove MockHardwareDisplayPlaneManager and rely on MockDrmDevice to
> inject the necessary state.
>
> BUG=839487
> TEST=Ran unittests
>
> Change-Id: I03c91620557dcf7426629cf97bb989d8d7e83c68
> Reviewed-on: https://chromium-review.googlesource.com/1048585
> Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
> Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#561616}

Bug: 839487
Change-Id: Ifb74647dfe1f05ef3339261dd1f7c51c0c371622
Reviewed-on: https://chromium-review.googlesource.com/1073487
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561949}
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/BUILD.gn
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/crtc_controller.cc
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/drm_device.cc
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/drm_device.h
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/drm_overlay_validator_unittest.cc
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/drm_window_unittest.cc
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/hardware_display_controller_unittest.cc
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/hardware_display_plane.cc
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/hardware_display_plane.h
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/hardware_display_plane_atomic.cc
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/hardware_display_plane_atomic.h
[add] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/hardware_display_plane_dummy.cc
[add] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/hardware_display_plane_dummy.h
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.cc
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.h
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_atomic.cc
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_atomic.h
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_legacy.cc
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_unittest.cc
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/mock_drm_device.cc
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/mock_drm_device.h
[delete] https://crrev.com/6a25833cb93164fb378d8087f9dae5fc28fc9b1e/ui/ozone/platform/drm/gpu/mock_hardware_display_plane_manager.cc
[delete] https://crrev.com/6a25833cb93164fb378d8087f9dae5fc28fc9b1e/ui/ozone/platform/drm/gpu/mock_hardware_display_plane_manager.h
[modify] https://crrev.com/12dc8ef2f020c2f406d50a4b24b8f75a404975a8/ui/ozone/platform/drm/gpu/screen_manager_unittest.cc

Comment 6 by xiy...@chromium.org, May 25 2018

Components: OS>Kernel>Graphics
Project Member

Comment 7 by bugdroid1@chromium.org, May 29 2018

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

commit 16b70ecdba1de845e4486852e4112f54e3a77cb8
Author: Daniel Nicoara <dnicoara@chromium.org>
Date: Tue May 29 21:58:52 2018

[Ozone-DRM] Set PLANE_CTM property through HardwareDisplayPlane

Refactor HardwareDisplayPlaneManagerAtomic to rely on the cached plane
properties.

Changes:
 * Read PLANE_CTM property on HardwareDisplayPlane::Initialize,
 * Allocate/deallocate new property blobs via DrmDevice to allow us to
   mock these function calls in unit tests.
 * Move ScopedDrmPropertyBlob in DrmDevice and have it depend on
   DrmDevice to free the ID. This allows us to mock the calls rather
   than call into the kernel to allocate/free.
 * Updated HardwareDisplayPlaneManagerAtomic to use the
   HardwareDisplayPlane when setting the plane CTM.
 * Changed SetColorCorrectionOnAllCrtcPlanes() to commit only if all the
   CRTC planes support the PLANE_CTM property.
 * Added unit tests for SetColorCorrectionOnAllCrtcPlanes().

BUG=839487
TEST=Ran unittests

Change-Id: Ic535f3d3c266c58172fb1384afaf20194f6e5e95
Reviewed-on: https://chromium-review.googlesource.com/1056165
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@chromium.org>
Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562614}
[modify] https://crrev.com/16b70ecdba1de845e4486852e4112f54e3a77cb8/ui/ozone/platform/drm/common/scoped_drm_types.cc
[modify] https://crrev.com/16b70ecdba1de845e4486852e4112f54e3a77cb8/ui/ozone/platform/drm/common/scoped_drm_types.h
[modify] https://crrev.com/16b70ecdba1de845e4486852e4112f54e3a77cb8/ui/ozone/platform/drm/gpu/drm_device.cc
[modify] https://crrev.com/16b70ecdba1de845e4486852e4112f54e3a77cb8/ui/ozone/platform/drm/gpu/drm_device.h
[modify] https://crrev.com/16b70ecdba1de845e4486852e4112f54e3a77cb8/ui/ozone/platform/drm/gpu/hardware_display_plane.cc
[modify] https://crrev.com/16b70ecdba1de845e4486852e4112f54e3a77cb8/ui/ozone/platform/drm/gpu/hardware_display_plane.h
[modify] https://crrev.com/16b70ecdba1de845e4486852e4112f54e3a77cb8/ui/ozone/platform/drm/gpu/hardware_display_plane_atomic.cc
[modify] https://crrev.com/16b70ecdba1de845e4486852e4112f54e3a77cb8/ui/ozone/platform/drm/gpu/hardware_display_plane_atomic.h
[modify] https://crrev.com/16b70ecdba1de845e4486852e4112f54e3a77cb8/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_atomic.cc
[modify] https://crrev.com/16b70ecdba1de845e4486852e4112f54e3a77cb8/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_unittest.cc
[modify] https://crrev.com/16b70ecdba1de845e4486852e4112f54e3a77cb8/ui/ozone/platform/drm/gpu/mock_drm_device.cc
[modify] https://crrev.com/16b70ecdba1de845e4486852e4112f54e3a77cb8/ui/ozone/platform/drm/gpu/mock_drm_device.h

Project Member

Comment 8 by bugdroid1@chromium.org, May 30 2018

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

commit 1115c2f79ff3276c15b667403aa56369923a7500
Author: Daniele Castagna <dcastagna@chromium.org>
Date: Wed May 30 14:52:41 2018

ozone/drm: Add cursor to list of planes

crrev.com/c/1056165 moved setting |PLANE_CTM| properties trough
HardwareDisplayPlane.

Since we used to skip adding the cursor to
HardwareDisplayPlaneManager::planes_, after that CL we stopped applying
color correction to the cursor.

This CL makes sure we always add the cursor to the list of planes, so
that color correction will be applied correctly to the cursor.

It also makes sure we don't assign the cursor to an HW overlay.

Bug: 839487
Test: Ran unitests
Change-Id: If8a29e3517d5ead7b8a5edadf6446f910c26176f
Reviewed-on: https://chromium-review.googlesource.com/1077827
Reviewed-by: Daniel Nicoara <dnicoara@chromium.org>
Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562818}
[modify] https://crrev.com/1115c2f79ff3276c15b667403aa56369923a7500/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.cc
[modify] https://crrev.com/1115c2f79ff3276c15b667403aa56369923a7500/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_legacy.cc
[modify] https://crrev.com/1115c2f79ff3276c15b667403aa56369923a7500/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_unittest.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Jun 4 2018

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

commit 4b3b96e10e4173d6b179eeecc09d296ccda7f266
Author: Daniel Nicoara <dnicoara@chromium.org>
Date: Mon Jun 04 17:45:25 2018

[Ozone-DRM] Split SetColorCorrection() to into legacy and atomic

Split the color correction setter in 2 implementations: DRM legacy and
atomic. This way the atomic implementation can use the atomic API to
call into the kernel. Also, updated SetGammaCorrection() to handle
empty LUTs since.

As a next step, the commit state can be cached locally and aggregated
with the page flip request.

BUG=839487
TEST=Ran unittests

Change-Id: Id228263b5472afcaa4ed568ba3450e8788712d44
Reviewed-on: https://chromium-review.googlesource.com/1058150
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564144}
[modify] https://crrev.com/4b3b96e10e4173d6b179eeecc09d296ccda7f266/ui/ozone/platform/drm/gpu/drm_device.cc
[modify] https://crrev.com/4b3b96e10e4173d6b179eeecc09d296ccda7f266/ui/ozone/platform/drm/gpu/drm_device.h
[modify] https://crrev.com/4b3b96e10e4173d6b179eeecc09d296ccda7f266/ui/ozone/platform/drm/gpu/drm_gpu_util.cc
[modify] https://crrev.com/4b3b96e10e4173d6b179eeecc09d296ccda7f266/ui/ozone/platform/drm/gpu/drm_gpu_util.h
[modify] https://crrev.com/4b3b96e10e4173d6b179eeecc09d296ccda7f266/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.cc
[modify] https://crrev.com/4b3b96e10e4173d6b179eeecc09d296ccda7f266/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.h
[modify] https://crrev.com/4b3b96e10e4173d6b179eeecc09d296ccda7f266/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_atomic.cc
[modify] https://crrev.com/4b3b96e10e4173d6b179eeecc09d296ccda7f266/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_atomic.h
[modify] https://crrev.com/4b3b96e10e4173d6b179eeecc09d296ccda7f266/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_legacy.cc
[modify] https://crrev.com/4b3b96e10e4173d6b179eeecc09d296ccda7f266/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_legacy.h
[modify] https://crrev.com/4b3b96e10e4173d6b179eeecc09d296ccda7f266/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_unittest.cc
[modify] https://crrev.com/4b3b96e10e4173d6b179eeecc09d296ccda7f266/ui/ozone/platform/drm/gpu/mock_drm_device.cc
[modify] https://crrev.com/4b3b96e10e4173d6b179eeecc09d296ccda7f266/ui/ozone/platform/drm/gpu/mock_drm_device.h

Project Member

Comment 10 by bugdroid1@chromium.org, Jul 16

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

commit ddc8881c1cb34e5afa0817182cc7ad1c8bb2e72c
Author: Daniel Nicoara <dnicoara@chromium.org>
Date: Mon Jul 16 20:51:34 2018

[Ozone-DRM] Add more validation to DRM atomic commit

Committing properties now updates the property values such that tests
can query for the values and validate state.

BUG=839487
TEST=Ran unittests

Change-Id: I71fd77937d09fdcf36d4ccd10345c5997c6022e4
Reviewed-on: https://chromium-review.googlesource.com/1120691
Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575415}
[modify] https://crrev.com/ddc8881c1cb34e5afa0817182cc7ad1c8bb2e72c/ui/ozone/platform/drm/gpu/mock_drm_device.cc
[modify] https://crrev.com/ddc8881c1cb34e5afa0817182cc7ad1c8bb2e72c/ui/ozone/platform/drm/gpu/mock_drm_device.h

Project Member

Comment 11 by bugdroid1@chromium.org, Jul 26

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

commit 99aa3844de68a22421a216feb46d61a4931800c3
Author: Daniel Nicoara <dnicoara@chromium.org>
Date: Thu Jul 26 17:37:24 2018

[Ozone-DRM] Cache CTM, DEGAMMA and GAMMA and apply them on commit

Cache the properties and apply them on commit on DRM Atomic. This works
around the need to waste a vsync interval to applying the atomic
properties.

BUG=839487
TEST=Ran unittests

Change-Id: I23a300d98648c5f7dff86019c8f8b9cb11129fb8
Reviewed-on: https://chromium-review.googlesource.com/1108561
Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578356}
[modify] https://crrev.com/99aa3844de68a22421a216feb46d61a4931800c3/ui/ozone/platform/drm/BUILD.gn
[modify] https://crrev.com/99aa3844de68a22421a216feb46d61a4931800c3/ui/ozone/platform/drm/gpu/drm_gpu_util.cc
[modify] https://crrev.com/99aa3844de68a22421a216feb46d61a4931800c3/ui/ozone/platform/drm/gpu/drm_gpu_util.h
[modify] https://crrev.com/99aa3844de68a22421a216feb46d61a4931800c3/ui/ozone/platform/drm/gpu/hardware_display_plane_atomic.cc
[modify] https://crrev.com/99aa3844de68a22421a216feb46d61a4931800c3/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.cc
[modify] https://crrev.com/99aa3844de68a22421a216feb46d61a4931800c3/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.h
[modify] https://crrev.com/99aa3844de68a22421a216feb46d61a4931800c3/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_atomic.cc
[modify] https://crrev.com/99aa3844de68a22421a216feb46d61a4931800c3/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_legacy.cc
[modify] https://crrev.com/99aa3844de68a22421a216feb46d61a4931800c3/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_unittest.cc
[modify] https://crrev.com/99aa3844de68a22421a216feb46d61a4931800c3/ui/ozone/platform/drm/gpu/mock_drm_device.cc

Sign in to add a comment