| 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.
|
|
|