OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "testing/gtest/include/gtest/gtest.h" | 5 #include "testing/gtest/include/gtest/gtest.h" |
6 #include "ui/ozone/platform/drm/gpu/crtc_controller.h" | 6 #include "ui/ozone/platform/drm/gpu/crtc_controller.h" |
7 #include "ui/ozone/platform/drm/gpu/drm_buffer.h" | 7 #include "ui/ozone/platform/drm/gpu/drm_buffer.h" |
8 #include "ui/ozone/platform/drm/gpu/drm_device_generator.h" | 8 #include "ui/ozone/platform/drm/gpu/drm_device_generator.h" |
9 #include "ui/ozone/platform/drm/gpu/drm_device_manager.h" | 9 #include "ui/ozone/platform/drm/gpu/drm_device_manager.h" |
10 #include "ui/ozone/platform/drm/gpu/drm_window.h" | 10 #include "ui/ozone/platform/drm/gpu/drm_window.h" |
11 #include "ui/ozone/platform/drm/gpu/hardware_display_controller.h" | 11 #include "ui/ozone/platform/drm/gpu/hardware_display_controller.h" |
12 #include "ui/ozone/platform/drm/gpu/screen_manager.h" | 12 #include "ui/ozone/platform/drm/gpu/screen_manager.h" |
13 #include "ui/ozone/platform/drm/test/mock_drm_device.h" | 13 #include "ui/ozone/platform/drm/test/mock_drm_device.h" |
14 | 14 |
15 namespace { | 15 namespace { |
16 | 16 |
| 17 void EmptySwapCallback(gfx::SwapResult) { |
| 18 } |
| 19 |
17 // Create a basic mode for a 6x4 screen. | 20 // Create a basic mode for a 6x4 screen. |
18 const drmModeModeInfo kDefaultMode = | 21 const drmModeModeInfo kDefaultMode = |
19 {0, 6, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, {'\0'}}; | 22 {0, 6, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, {'\0'}}; |
20 | 23 |
21 const uint32_t kPrimaryCrtc = 1; | 24 const uint32_t kPrimaryCrtc = 1; |
22 const uint32_t kPrimaryConnector = 2; | 25 const uint32_t kPrimaryConnector = 2; |
23 const uint32_t kSecondaryCrtc = 3; | 26 const uint32_t kSecondaryCrtc = 3; |
24 const uint32_t kSecondaryConnector = 4; | 27 const uint32_t kSecondaryConnector = 4; |
25 | 28 |
26 } // namespace | 29 } // namespace |
(...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
452 } | 455 } |
453 | 456 |
454 TEST_F(ScreenManagerTest, EnableControllerWhenWindowHasBuffer) { | 457 TEST_F(ScreenManagerTest, EnableControllerWhenWindowHasBuffer) { |
455 scoped_ptr<ui::DrmWindow> window( | 458 scoped_ptr<ui::DrmWindow> window( |
456 new ui::DrmWindow(1, device_manager_.get(), screen_manager_.get())); | 459 new ui::DrmWindow(1, device_manager_.get(), screen_manager_.get())); |
457 window->Initialize(); | 460 window->Initialize(); |
458 window->OnBoundsChanged(GetPrimaryBounds()); | 461 window->OnBoundsChanged(GetPrimaryBounds()); |
459 scoped_refptr<ui::ScanoutBuffer> buffer = | 462 scoped_refptr<ui::ScanoutBuffer> buffer = |
460 buffer_generator_->Create(drm_, GetPrimaryBounds().size()); | 463 buffer_generator_->Create(drm_, GetPrimaryBounds().size()); |
461 window->QueueOverlayPlane(ui::OverlayPlane(buffer)); | 464 window->QueueOverlayPlane(ui::OverlayPlane(buffer)); |
462 window->SchedulePageFlip(false /* is_sync */, base::Bind(&base::DoNothing)); | 465 window->SchedulePageFlip(false /* is_sync */, base::Bind(&EmptySwapCallback)); |
463 screen_manager_->AddWindow(1, window.Pass()); | 466 screen_manager_->AddWindow(1, window.Pass()); |
464 | 467 |
465 screen_manager_->AddDisplayController(drm_, kPrimaryCrtc, kPrimaryConnector); | 468 screen_manager_->AddDisplayController(drm_, kPrimaryCrtc, kPrimaryConnector); |
466 screen_manager_->ConfigureDisplayController( | 469 screen_manager_->ConfigureDisplayController( |
467 drm_, kPrimaryCrtc, kPrimaryConnector, GetPrimaryBounds().origin(), | 470 drm_, kPrimaryCrtc, kPrimaryConnector, GetPrimaryBounds().origin(), |
468 kDefaultMode); | 471 kDefaultMode); |
469 | 472 |
470 EXPECT_EQ(buffer->GetFramebufferId(), drm_->current_framebuffer()); | 473 EXPECT_EQ(buffer->GetFramebufferId(), drm_->current_framebuffer()); |
471 | 474 |
472 window = screen_manager_->RemoveWindow(1); | 475 window = screen_manager_->RemoveWindow(1); |
473 window->Shutdown(); | 476 window->Shutdown(); |
474 } | 477 } |
OLD | NEW |