| Index: ui/ozone/platform/dri/hardware_display_controller_unittest.cc
|
| diff --git a/ui/ozone/platform/dri/hardware_display_controller_unittest.cc b/ui/ozone/platform/dri/hardware_display_controller_unittest.cc
|
| index 25169453b2de674e72c286fcc2862b7c13c2d5d1..16b2dabd5190b998caf2b6df0cd92211c4304b62 100644
|
| --- a/ui/ozone/platform/dri/hardware_display_controller_unittest.cc
|
| +++ b/ui/ozone/platform/dri/hardware_display_controller_unittest.cc
|
| @@ -10,6 +10,7 @@
|
| #include "ui/ozone/platform/dri/hardware_display_controller.h"
|
| #include "ui/ozone/platform/dri/test/mock_dri_surface.h"
|
| #include "ui/ozone/platform/dri/test/mock_dri_wrapper.h"
|
| +#include "ui/ozone/public/native_pixmap.h"
|
|
|
| namespace {
|
|
|
| @@ -18,6 +19,7 @@ const drmModeModeInfo kDefaultMode =
|
| {0, 6, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, {'\0'}};
|
|
|
| const gfx::Size kDefaultModeSize(kDefaultMode.hdisplay, kDefaultMode.vdisplay);
|
| +const gfx::SizeF kDefaultModeSizeF(1.0, 1.0);
|
|
|
| } // namespace
|
|
|
| @@ -63,7 +65,8 @@ TEST_F(HardwareDisplayControllerTest, CheckStateAfterPageFlip) {
|
| EXPECT_TRUE(surface->Initialize());
|
| EXPECT_TRUE(controller_->BindSurfaceToController(surface.Pass(),
|
| kDefaultMode));
|
| - EXPECT_TRUE(controller_->SchedulePageFlip());
|
| + EXPECT_TRUE(controller_->SchedulePageFlip(
|
| + std::vector<ui::OzoneOverlayPlane>(), NULL));
|
| EXPECT_TRUE(controller_->surface() != NULL);
|
| }
|
|
|
| @@ -88,7 +91,8 @@ TEST_F(HardwareDisplayControllerTest, CheckStateIfPageFlipFails) {
|
| EXPECT_TRUE(surface->Initialize());
|
| EXPECT_TRUE(controller_->BindSurfaceToController(surface.Pass(),
|
| kDefaultMode));
|
| - EXPECT_FALSE(controller_->SchedulePageFlip());
|
| + EXPECT_FALSE(controller_->SchedulePageFlip(
|
| + std::vector<ui::OzoneOverlayPlane>(), NULL));
|
| }
|
|
|
| TEST_F(HardwareDisplayControllerTest, VerifyNoDRMCallsWhenDisabled) {
|
| @@ -99,7 +103,8 @@ TEST_F(HardwareDisplayControllerTest, VerifyNoDRMCallsWhenDisabled) {
|
| EXPECT_TRUE(controller_->BindSurfaceToController(surface.Pass(),
|
| kDefaultMode));
|
| controller_->Disable();
|
| - EXPECT_TRUE(controller_->SchedulePageFlip());
|
| + EXPECT_TRUE(controller_->SchedulePageFlip(
|
| + std::vector<ui::OzoneOverlayPlane>(), NULL));
|
| EXPECT_EQ(0, drm_->get_page_flip_call_count());
|
|
|
| surface.reset(new ui::MockDriSurface(drm_.get(), kDefaultModeSize));
|
| @@ -107,6 +112,58 @@ TEST_F(HardwareDisplayControllerTest, VerifyNoDRMCallsWhenDisabled) {
|
| EXPECT_TRUE(surface->Initialize());
|
| EXPECT_TRUE(controller_->BindSurfaceToController(surface.Pass(),
|
| kDefaultMode));
|
| - EXPECT_TRUE(controller_->SchedulePageFlip());
|
| + EXPECT_TRUE(controller_->SchedulePageFlip(
|
| + std::vector<ui::OzoneOverlayPlane>(), NULL));
|
| EXPECT_EQ(1, drm_->get_page_flip_call_count());
|
| }
|
| +
|
| +TEST_F(HardwareDisplayControllerTest, CheckOverlayMainSurfaceReplacement) {
|
| + scoped_ptr<ui::ScanoutSurface> surface(
|
| + new ui::MockDriSurface(drm_.get(), kDefaultModeSize));
|
| + scoped_ptr<ui::ScanoutSurface> overlay(
|
| + new ui::MockDriSurface(drm_.get(), kDefaultModeSize));
|
| +
|
| + EXPECT_TRUE(surface->Initialize());
|
| + EXPECT_TRUE(
|
| + controller_->BindSurfaceToController(surface.Pass(), kDefaultMode));
|
| + EXPECT_TRUE(overlay->Initialize());
|
| +
|
| + std::vector<ui::OzoneOverlayPlane> overlays;
|
| + std::vector<scoped_refptr<ui::NativePixmap> > overlay_refs;
|
| +
|
| + overlays.push_back(ui::OzoneOverlayPlane(overlay.get(),
|
| + 0,
|
| + gfx::OVERLAY_TRANSFORM_NONE,
|
| + gfx::Rect(kDefaultModeSize),
|
| + gfx::RectF(kDefaultModeSizeF)));
|
| +
|
| + EXPECT_TRUE(controller_->SchedulePageFlip(overlays, &overlay_refs));
|
| + EXPECT_EQ(1, drm_->get_page_flip_call_count());
|
| + EXPECT_EQ(0, drm_->get_overlay_flip_call_count());
|
| +}
|
| +
|
| +TEST_F(HardwareDisplayControllerTest, CheckOverlayPresent) {
|
| + scoped_ptr<ui::ScanoutSurface> surface(
|
| + new ui::MockDriSurface(drm_.get(), kDefaultModeSize));
|
| + scoped_ptr<ui::ScanoutSurface> overlay(
|
| + new ui::MockDriSurface(drm_.get(), kDefaultModeSize));
|
| +
|
| + EXPECT_TRUE(surface->Initialize());
|
| + EXPECT_TRUE(
|
| + controller_->BindSurfaceToController(surface.Pass(), kDefaultMode));
|
| + EXPECT_TRUE(overlay->Initialize());
|
| +
|
| + std::vector<ui::OzoneOverlayPlane> overlays;
|
| + std::vector<scoped_refptr<ui::NativePixmap> > overlay_refs;
|
| +
|
| + overlays.push_back(ui::OzoneOverlayPlane(overlay.get(),
|
| + 1,
|
| + gfx::OVERLAY_TRANSFORM_NONE,
|
| + gfx::Rect(kDefaultModeSize),
|
| + gfx::RectF(kDefaultModeSizeF)));
|
| + overlays.back().overlay_plane = 1; // Force association with a plane.
|
| +
|
| + EXPECT_TRUE(controller_->SchedulePageFlip(overlays, &overlay_refs));
|
| + EXPECT_EQ(1, drm_->get_page_flip_call_count());
|
| + EXPECT_EQ(1, drm_->get_overlay_flip_call_count());
|
| +}
|
|
|