| 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 "third_party/skia/include/core/SkCanvas.h" | 6 #include "third_party/skia/include/core/SkCanvas.h" |
| 7 #include "ui/ozone/platform/dri/dri_buffer.h" | 7 #include "ui/ozone/platform/dri/dri_buffer.h" |
| 8 #include "ui/ozone/platform/dri/dri_surface.h" | 8 #include "ui/ozone/platform/dri/dri_surface.h" |
| 9 #include "ui/ozone/platform/dri/dri_wrapper.h" | 9 #include "ui/ozone/platform/dri/dri_wrapper.h" |
| 10 #include "ui/ozone/platform/dri/hardware_display_controller.h" | 10 #include "ui/ozone/platform/dri/hardware_display_controller.h" |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 uint32_t* connectors, | 58 uint32_t* connectors, |
| 59 drmModeModeInfo* mode) OVERRIDE { | 59 drmModeModeInfo* mode) OVERRIDE { |
| 60 return set_crtc_expectation_; | 60 return set_crtc_expectation_; |
| 61 } | 61 } |
| 62 | 62 |
| 63 virtual bool SetCrtc(drmModeCrtc* crtc, uint32_t* connectors) OVERRIDE { | 63 virtual bool SetCrtc(drmModeCrtc* crtc, uint32_t* connectors) OVERRIDE { |
| 64 restore_crtc_call_count_++; | 64 restore_crtc_call_count_++; |
| 65 return true; | 65 return true; |
| 66 } | 66 } |
| 67 | 67 |
| 68 virtual bool AddFramebuffer(const drmModeModeInfo& mode, | 68 virtual bool AddFramebuffer(uint32_t width, |
| 69 uint32_t height, |
| 69 uint8_t depth, | 70 uint8_t depth, |
| 70 uint8_t bpp, | 71 uint8_t bpp, |
| 71 uint32_t stride, | 72 uint32_t stride, |
| 72 uint32_t handle, | 73 uint32_t handle, |
| 73 uint32_t* framebuffer) OVERRIDE { | 74 uint32_t* framebuffer) OVERRIDE { |
| 74 add_framebuffer_call_count_++; | 75 add_framebuffer_call_count_++; |
| 75 return add_framebuffer_expectation_; | 76 return add_framebuffer_expectation_; |
| 76 } | 77 } |
| 77 | 78 |
| 78 virtual bool RemoveFramebuffer(uint32_t framebuffer) OVERRIDE { | 79 virtual bool RemoveFramebuffer(uint32_t framebuffer) OVERRIDE { |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 } | 220 } |
| 220 | 221 |
| 221 TEST_F(HardwareDisplayControllerTest, CheckStateAfterSurfaceIsBound) { | 222 TEST_F(HardwareDisplayControllerTest, CheckStateAfterSurfaceIsBound) { |
| 222 scoped_ptr<ui::DriSurface> surface( | 223 scoped_ptr<ui::DriSurface> surface( |
| 223 new MockDriSurface(drm_.get(), kDefaultModeSize)); | 224 new MockDriSurface(drm_.get(), kDefaultModeSize)); |
| 224 | 225 |
| 225 EXPECT_TRUE(surface->Initialize()); | 226 EXPECT_TRUE(surface->Initialize()); |
| 226 EXPECT_TRUE(controller_->BindSurfaceToController(surface.Pass(), | 227 EXPECT_TRUE(controller_->BindSurfaceToController(surface.Pass(), |
| 227 kDefaultMode)); | 228 kDefaultMode)); |
| 228 | 229 |
| 229 EXPECT_EQ(2, drm_->get_add_framebuffer_call_count()); | |
| 230 EXPECT_TRUE(controller_->get_surface() != NULL); | 230 EXPECT_TRUE(controller_->get_surface() != NULL); |
| 231 } | 231 } |
| 232 | 232 |
| 233 TEST_F(HardwareDisplayControllerTest, CheckStateIfBindingFails) { | |
| 234 drm_->set_add_framebuffer_expectation(false); | |
| 235 | |
| 236 scoped_ptr<ui::DriSurface> surface( | |
| 237 new MockDriSurface(drm_.get(), kDefaultModeSize)); | |
| 238 | |
| 239 EXPECT_TRUE(surface->Initialize()); | |
| 240 EXPECT_FALSE(controller_->BindSurfaceToController(surface.Pass(), | |
| 241 kDefaultMode)); | |
| 242 | |
| 243 EXPECT_EQ(1, drm_->get_add_framebuffer_call_count()); | |
| 244 EXPECT_EQ(NULL, controller_->get_surface()); | |
| 245 } | |
| 246 | |
| 247 TEST_F(HardwareDisplayControllerTest, CheckStateAfterPageFlip) { | 233 TEST_F(HardwareDisplayControllerTest, CheckStateAfterPageFlip) { |
| 248 scoped_ptr<ui::DriSurface> surface( | 234 scoped_ptr<ui::DriSurface> surface( |
| 249 new MockDriSurface(drm_.get(), kDefaultModeSize)); | 235 new MockDriSurface(drm_.get(), kDefaultModeSize)); |
| 250 | 236 |
| 251 EXPECT_TRUE(surface->Initialize()); | 237 EXPECT_TRUE(surface->Initialize()); |
| 252 EXPECT_TRUE(controller_->BindSurfaceToController(surface.Pass(), | 238 EXPECT_TRUE(controller_->BindSurfaceToController(surface.Pass(), |
| 253 kDefaultMode)); | 239 kDefaultMode)); |
| 254 | 240 |
| 255 EXPECT_TRUE(controller_->SchedulePageFlip()); | 241 EXPECT_TRUE(controller_->SchedulePageFlip()); |
| 256 EXPECT_TRUE(controller_->get_surface() != NULL); | 242 EXPECT_TRUE(controller_->get_surface() != NULL); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 272 drm_->set_page_flip_expectation(false); | 258 drm_->set_page_flip_expectation(false); |
| 273 | 259 |
| 274 scoped_ptr<ui::DriSurface> surface( | 260 scoped_ptr<ui::DriSurface> surface( |
| 275 new MockDriSurface(drm_.get(), kDefaultModeSize)); | 261 new MockDriSurface(drm_.get(), kDefaultModeSize)); |
| 276 | 262 |
| 277 EXPECT_TRUE(surface->Initialize()); | 263 EXPECT_TRUE(surface->Initialize()); |
| 278 EXPECT_TRUE(controller_->BindSurfaceToController(surface.Pass(), | 264 EXPECT_TRUE(controller_->BindSurfaceToController(surface.Pass(), |
| 279 kDefaultMode)); | 265 kDefaultMode)); |
| 280 EXPECT_FALSE(controller_->SchedulePageFlip()); | 266 EXPECT_FALSE(controller_->SchedulePageFlip()); |
| 281 } | 267 } |
| 282 | |
| 283 TEST_F(HardwareDisplayControllerTest, CheckProperDestruction) { | |
| 284 scoped_ptr<ui::DriSurface> surface( | |
| 285 new MockDriSurface(drm_.get(), kDefaultModeSize)); | |
| 286 | |
| 287 EXPECT_TRUE(surface->Initialize()); | |
| 288 EXPECT_TRUE(controller_->BindSurfaceToController(surface.Pass(), | |
| 289 kDefaultMode)); | |
| 290 EXPECT_TRUE(controller_->get_surface() != NULL); | |
| 291 | |
| 292 controller_.reset(); | |
| 293 | |
| 294 EXPECT_EQ(2, drm_->get_remove_framebuffer_call_count()); | |
| 295 } | |
| OLD | NEW |