diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-11-20 10:33:36 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-11-22 11:45:12 +0000 |
commit | be59a35641616a4cf23c4a13fa0632624b021c1b (patch) | |
tree | 9da183258bdf9cc413f7562079d25ace6955467f /chromium/ui/ozone/public/interfaces/drm_device.mojom | |
parent | d702e4b6a64574e97fc7df8fe3238cde70242080 (diff) | |
download | qtwebengine-chromium-be59a35641616a4cf23c4a13fa0632624b021c1b.tar.gz |
BASELINE: Update Chromium to 62.0.3202.101
Change-Id: I2d5eca8117600df6d331f6166ab24d943d9814ac
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'chromium/ui/ozone/public/interfaces/drm_device.mojom')
-rw-r--r-- | chromium/ui/ozone/public/interfaces/drm_device.mojom | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/chromium/ui/ozone/public/interfaces/drm_device.mojom b/chromium/ui/ozone/public/interfaces/drm_device.mojom new file mode 100644 index 00000000000..eede42437b0 --- /dev/null +++ b/chromium/ui/ozone/public/interfaces/drm_device.mojom @@ -0,0 +1,86 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +module ui.ozone.mojom; + +import "mojo/common/file.mojom"; +import "mojo/common/file_path.mojom"; +import "ui/display/mojo/display_constants.mojom"; +import "ui/display/mojo/display_mode.mojom"; +import "ui/display/mojo/display_snapshot.mojom"; +import "ui/display/mojo/gamma_ramp_rgb_entry.mojom"; +import "ui/gfx/geometry/mojo/geometry.mojom"; +import "ui/gfx/mojo/accelerated_widget.mojom"; +import "ui/ozone/public/interfaces/overlay_surface_candidate.mojom"; + + +// The viz process on CrOS implements the DrmDevice +// service to let the viz host and clients manage DRM displays. +// All functions in DrmDevice are implemented by the lower privilege viz +// process. +interface DrmDevice { + // Starts the DRM service and returns true on success. + [Sync] + StartDrmDevice() => (bool success); + + // Creates scanout capable DRM buffers to back |widget|. + CreateWindow(gfx.mojom.AcceleratedWidget widget); + + // Destroys the DRM buffers backing |widget|. + DestroyWindow(gfx.mojom.AcceleratedWidget widget); + + // Sets the size of the DRM buffer for |widget|. + SetWindowBounds(gfx.mojom.AcceleratedWidget widget, gfx.mojom.Rect bounds); + + // Takes control of the display and invoke a provided callback with a boolean + // status. + TakeDisplayControl() => (bool success); + + // Releases control of the display and invoke a provided callback with a + // boolean status. + RelinquishDisplayControl() => (bool success); + + // Requests a callback providing a list of the available displays. + RefreshNativeDisplays() => + (array<display.mojom.DisplaySnapshot> display_snapshots); + + // Transfers ownership of a DRM device to the GPU process. + AddGraphicsDevice(mojo.common.mojom.FilePath path, + mojo.common.mojom.File file); + + // Instructs the GPU to abandon a DRM device. + RemoveGraphicsDevice(mojo.common.mojom.FilePath path); + + // Instructs the GPU to disable a DRM device. + DisableNativeDisplay(int64 display_id) => (int64 display_id, bool success); + + // Configures a DRM display returning true on success. + ConfigureNativeDisplay(int64 display_id, + display.mojom.DisplayMode display_mode, + gfx.mojom.Point point) => + (int64 display_id, bool success); + + // Gets or sets high-definition content protection (HDCP) (DRM as in + // digital rights management) state. + GetHDCPState(int64 display_id) => + (int64 display_id, bool success, display.mojom.HDCPState state); + SetHDCPState(int64 display_id, display.mojom.HDCPState state) => + (int64 display_id, bool success); + + // Sets a color correction gamma table. + SetColorCorrection(int64 display_id, + array<display.mojom.GammaRampRGBEntry> degamma_lut, + array<display.mojom.GammaRampRGBEntry> gamma_lut, + array<float> correction_matrix); + + // Verifies if the display controller can successfully scanout the given set + // of OverlaySurfaceCandidates and return the status associated with each + // candidate. + CheckOverlayCapabilities(gfx.mojom.AcceleratedWidget widget, + array<ui.ozone.mojom.OverlaySurfaceCandidate> candidates) => + (gfx.mojom.AcceleratedWidget widget, + array<ui.ozone.mojom.OverlaySurfaceCandidate> candidates, + array<ui.ozone.mojom.OverlayStatus> status); +}; + |