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

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

Issue 1327413003: [Ozone-DRM] Modeset when re-mapping windows to controllers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@fix-scanout2
Patch Set: fixed unittests Created 5 years, 3 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 | « no previous file | ui/ozone/platform/drm/gpu/drm_window_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/ozone/platform/drm/gpu/drm_surface_unittest.cc
diff --git a/ui/ozone/platform/drm/gpu/drm_surface_unittest.cc b/ui/ozone/platform/drm/gpu/drm_surface_unittest.cc
index 13774b2659c2d437c2b8582d7435b9d7c2a665e3..c384f123bbe52b43dadf09eb05b68cc1424c4380 100644
--- a/ui/ozone/platform/drm/gpu/drm_surface_unittest.cc
+++ b/ui/ozone/platform/drm/gpu/drm_surface_unittest.cc
@@ -29,6 +29,20 @@ const uint32_t kDefaultConnector = 2;
const size_t kPlanesPerCrtc = 1;
const uint32_t kDefaultCursorSize = 64;
+std::vector<skia::RefPtr<SkSurface>> GetFramebuffers(ui::MockDrmDevice* drm) {
+ std::vector<skia::RefPtr<SkSurface>> framebuffers;
+ for (const auto& buffer : drm->buffers()) {
+ // Skip destroyed buffers and cursor buffers.
+ if (!buffer || (buffer->width() == kDefaultCursorSize &&
+ buffer->height() == kDefaultCursorSize))
+ continue;
+
+ framebuffers.push_back(buffer);
+ }
+
+ return framebuffers;
+}
+
} // namespace
class DrmSurfaceTest : public testing::Test {
@@ -91,11 +105,13 @@ void DrmSurfaceTest::TearDown() {
TEST_F(DrmSurfaceTest, CheckFBIDOnSwap) {
surface_->PresentCanvas(gfx::Rect());
drm_->RunCallbacks();
- // Framebuffer ID 1 is allocated in SetUp for the buffer used to modeset.
- EXPECT_EQ(2u, drm_->current_framebuffer());
+
+ // Framebuffer ID 1 is allocated in SetUp for the buffer used to modeset and
+ // framebuffer ID 2 is used when the window to display mapping is done.
+ EXPECT_EQ(3u, drm_->current_framebuffer());
surface_->PresentCanvas(gfx::Rect());
drm_->RunCallbacks();
- EXPECT_EQ(3u, drm_->current_framebuffer());
+ EXPECT_EQ(4u, drm_->current_framebuffer());
}
TEST_F(DrmSurfaceTest, CheckSurfaceContents) {
@@ -109,15 +125,8 @@ TEST_F(DrmSurfaceTest, CheckSurfaceContents) {
drm_->RunCallbacks();
SkBitmap image;
- std::vector<skia::RefPtr<SkSurface>> framebuffers;
- for (const auto& buffer : drm_->buffers()) {
- // Skip cursor buffers.
- if (buffer->width() == kDefaultCursorSize &&
- buffer->height() == kDefaultCursorSize)
- continue;
-
- framebuffers.push_back(buffer);
- }
+ std::vector<skia::RefPtr<SkSurface>> framebuffers =
+ GetFramebuffers(drm_.get());
// Buffer 0 is the modesetting buffer, buffer 2 is the frontbuffer and buffer
// 1 is the backbuffer.
@@ -161,15 +170,8 @@ TEST_F(DrmSurfaceTest, CheckSurfaceContentsAfter2QueuedPresents) {
drm_->RunCallbacks();
SkBitmap image;
- std::vector<skia::RefPtr<SkSurface>> framebuffers;
- for (const auto& buffer : drm_->buffers()) {
- // Skip cursor buffers.
- if (buffer->width() == kDefaultCursorSize &&
- buffer->height() == kDefaultCursorSize)
- continue;
-
- framebuffers.push_back(buffer);
- }
+ std::vector<skia::RefPtr<SkSurface>> framebuffers =
+ GetFramebuffers(drm_.get());
// Buffer 0 is the modesetting buffer, buffer 2 is the backbuffer and buffer
// 1 is the frontbuffer.
« no previous file with comments | « no previous file | ui/ozone/platform/drm/gpu/drm_window_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698