Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(395)

Unified Diff: ui/ozone/platform/drm/gpu/drm_gpu_platform_support.cc

Issue 1157793004: ozone: Add overlay candidate implementation that queries support via IPC (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add missing license header Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/ozone/platform/drm/gpu/drm_gpu_platform_support.h ('k') | ui/ozone/platform/drm/gpu/drm_window.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/ozone/platform/drm/gpu/drm_gpu_platform_support.cc
diff --git a/ui/ozone/platform/drm/gpu/drm_gpu_platform_support.cc b/ui/ozone/platform/drm/gpu/drm_gpu_platform_support.cc
index 92df322945e7cac1004f4918ee0b72dbcfc81201..a94d3088933494abb159f356a03a26dfe3467981 100644
--- a/ui/ozone/platform/drm/gpu/drm_gpu_platform_support.cc
+++ b/ui/ozone/platform/drm/gpu/drm_gpu_platform_support.cc
@@ -13,6 +13,7 @@
#include "ui/ozone/platform/drm/gpu/drm_device_manager.h"
#include "ui/ozone/platform/drm/gpu/drm_gpu_display_manager.h"
#include "ui/ozone/platform/drm/gpu/drm_window.h"
+#include "ui/ozone/platform/drm/gpu/scanout_buffer.h"
#include "ui/ozone/platform/drm/gpu/screen_manager.h"
namespace ui {
@@ -167,10 +168,12 @@ class DrmGpuPlatformSupportMessageFilter : public IPC::MessageFilter {
DrmGpuPlatformSupport::DrmGpuPlatformSupport(
DrmDeviceManager* drm_device_manager,
ScreenManager* screen_manager,
+ ScanoutBufferGenerator* buffer_generator,
scoped_ptr<DrmGpuDisplayManager> display_manager)
: sender_(NULL),
drm_device_manager_(drm_device_manager),
screen_manager_(screen_manager),
+ buffer_generator_(buffer_generator),
display_manager_(display_manager.Pass()) {
filter_ = new DrmGpuPlatformSupportMessageFilter(
screen_manager, base::Bind(&DrmGpuPlatformSupport::SetIOTaskRunner,
@@ -217,6 +220,8 @@ bool DrmGpuPlatformSupport::OnMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_HANDLER(OzoneGpuMsg_GetHDCPState, OnGetHDCPState)
IPC_MESSAGE_HANDLER(OzoneGpuMsg_SetHDCPState, OnSetHDCPState)
IPC_MESSAGE_HANDLER(OzoneGpuMsg_SetGammaRamp, OnSetGammaRamp);
+ IPC_MESSAGE_HANDLER(OzoneGpuMsg_CheckOverlayCapabilities,
+ OnCheckOverlayCapabilities)
IPC_MESSAGE_UNHANDLED(handled = false);
IPC_END_MESSAGE_MAP()
@@ -260,6 +265,14 @@ void DrmGpuPlatformSupport::OnCursorMove(gfx::AcceleratedWidget widget,
screen_manager_->GetWindow(widget)->MoveCursor(location);
}
+void DrmGpuPlatformSupport::OnCheckOverlayCapabilities(
+ gfx::AcceleratedWidget widget,
+ const std::vector<OverlayCheck_Params>& overlays) {
+ sender_->Send(new OzoneHostMsg_OverlayCapabilitiesReceived(
+ widget, screen_manager_->GetWindow(widget)
+ ->TestPageFlip(overlays, buffer_generator_)));
+}
+
void DrmGpuPlatformSupport::OnRefreshNativeDisplays() {
sender_->Send(
new OzoneHostMsg_UpdateNativeDisplays(display_manager_->GetDisplays()));
« no previous file with comments | « ui/ozone/platform/drm/gpu/drm_gpu_platform_support.h ('k') | ui/ozone/platform/drm/gpu/drm_window.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698