| 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 "components/display_compositor/buffer_queue.h" | 5 #include "components/display_compositor/buffer_queue.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <set> | 10 #include <set> |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 | 95 |
| 96 class MockBufferQueue : public BufferQueue { | 96 class MockBufferQueue : public BufferQueue { |
| 97 public: | 97 public: |
| 98 MockBufferQueue(gpu::gles2::GLES2Interface* gl, | 98 MockBufferQueue(gpu::gles2::GLES2Interface* gl, |
| 99 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, | 99 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, |
| 100 unsigned int target, | 100 unsigned int target, |
| 101 unsigned int internalformat) | 101 unsigned int internalformat) |
| 102 : BufferQueue(gl, | 102 : BufferQueue(gl, |
| 103 target, | 103 target, |
| 104 internalformat, | 104 internalformat, |
| 105 ui::DisplaySnapshot::PrimaryFormat(), | 105 display::DisplaySnapshot::PrimaryFormat(), |
| 106 nullptr, | 106 nullptr, |
| 107 gpu_memory_buffer_manager, | 107 gpu_memory_buffer_manager, |
| 108 kFakeSurfaceHandle) {} | 108 kFakeSurfaceHandle) {} |
| 109 MOCK_METHOD4(CopyBufferDamage, | 109 MOCK_METHOD4(CopyBufferDamage, |
| 110 void(int, int, const gfx::Rect&, const gfx::Rect&)); | 110 void(int, int, const gfx::Rect&, const gfx::Rect&)); |
| 111 }; | 111 }; |
| 112 | 112 |
| 113 class BufferQueueTest : public ::testing::Test { | 113 class BufferQueueTest : public ::testing::Test { |
| 114 public: | 114 public: |
| 115 BufferQueueTest() : doublebuffering_(true), first_frame_(true) {} | 115 BufferQueueTest() : doublebuffering_(true), first_frame_(true) {} |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 scoped_refptr<cc::TestContextProvider> context_provider = | 256 scoped_refptr<cc::TestContextProvider> context_provider = |
| 257 cc::TestContextProvider::Create(std::move(owned_context)); | 257 cc::TestContextProvider::Create(std::move(owned_context)); |
| 258 context_provider->BindToCurrentThread(); | 258 context_provider->BindToCurrentThread(); |
| 259 return context_provider; | 259 return context_provider; |
| 260 } | 260 } |
| 261 | 261 |
| 262 std::unique_ptr<BufferQueue> CreateBufferQueue( | 262 std::unique_ptr<BufferQueue> CreateBufferQueue( |
| 263 unsigned int target, | 263 unsigned int target, |
| 264 gpu::gles2::GLES2Interface* gl, | 264 gpu::gles2::GLES2Interface* gl, |
| 265 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager) { | 265 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager) { |
| 266 std::unique_ptr<BufferQueue> buffer_queue( | 266 std::unique_ptr<BufferQueue> buffer_queue(new BufferQueue( |
| 267 new BufferQueue(gl, target, GL_RGB, ui::DisplaySnapshot::PrimaryFormat(), | 267 gl, target, GL_RGB, display::DisplaySnapshot::PrimaryFormat(), nullptr, |
| 268 nullptr, gpu_memory_buffer_manager, kFakeSurfaceHandle)); | 268 gpu_memory_buffer_manager, kFakeSurfaceHandle)); |
| 269 buffer_queue->Initialize(); | 269 buffer_queue->Initialize(); |
| 270 return buffer_queue; | 270 return buffer_queue; |
| 271 } | 271 } |
| 272 | 272 |
| 273 TEST(BufferQueueStandaloneTest, FboInitialization) { | 273 TEST(BufferQueueStandaloneTest, FboInitialization) { |
| 274 MockedContext* context; | 274 MockedContext* context; |
| 275 scoped_refptr<cc::TestContextProvider> context_provider = | 275 scoped_refptr<cc::TestContextProvider> context_provider = |
| 276 CreateMockedContextProvider(&context); | 276 CreateMockedContextProvider(&context); |
| 277 std::unique_ptr<StubGpuMemoryBufferManager> gpu_memory_buffer_manager( | 277 std::unique_ptr<StubGpuMemoryBufferManager> gpu_memory_buffer_manager( |
| 278 new StubGpuMemoryBufferManager); | 278 new StubGpuMemoryBufferManager); |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 cc::TestContextProvider::Create(); | 325 cc::TestContextProvider::Create(); |
| 326 context_provider->BindToCurrentThread(); | 326 context_provider->BindToCurrentThread(); |
| 327 std::unique_ptr<StubGpuMemoryBufferManager> gpu_memory_buffer_manager; | 327 std::unique_ptr<StubGpuMemoryBufferManager> gpu_memory_buffer_manager; |
| 328 std::unique_ptr<BufferQueue> output_surface; | 328 std::unique_ptr<BufferQueue> output_surface; |
| 329 gpu_memory_buffer_manager.reset(new StubGpuMemoryBufferManager); | 329 gpu_memory_buffer_manager.reset(new StubGpuMemoryBufferManager); |
| 330 | 330 |
| 331 std::unique_ptr<GLHelper> gl_helper; | 331 std::unique_ptr<GLHelper> gl_helper; |
| 332 gl_helper.reset(new GLHelper(context_provider->ContextGL(), | 332 gl_helper.reset(new GLHelper(context_provider->ContextGL(), |
| 333 context_provider->ContextSupport())); | 333 context_provider->ContextSupport())); |
| 334 | 334 |
| 335 output_surface.reset( | 335 output_surface.reset(new BufferQueue( |
| 336 new BufferQueue(context_provider->ContextGL(), GL_TEXTURE_2D, GL_RGB, | 336 context_provider->ContextGL(), GL_TEXTURE_2D, GL_RGB, |
| 337 ui::DisplaySnapshot::PrimaryFormat(), gl_helper.get(), | 337 display::DisplaySnapshot::PrimaryFormat(), gl_helper.get(), |
| 338 gpu_memory_buffer_manager.get(), kFakeSurfaceHandle)); | 338 gpu_memory_buffer_manager.get(), kFakeSurfaceHandle)); |
| 339 output_surface->Initialize(); | 339 output_surface->Initialize(); |
| 340 output_surface->Reshape(screen_size, 1.0f, gfx::ColorSpace()); | 340 output_surface->Reshape(screen_size, 1.0f, gfx::ColorSpace()); |
| 341 // Trigger a sub-buffer copy to exercise all paths. | 341 // Trigger a sub-buffer copy to exercise all paths. |
| 342 output_surface->BindFramebuffer(); | 342 output_surface->BindFramebuffer(); |
| 343 output_surface->SwapBuffers(screen_rect); | 343 output_surface->SwapBuffers(screen_rect); |
| 344 output_surface->PageFlipComplete(); | 344 output_surface->PageFlipComplete(); |
| 345 output_surface->BindFramebuffer(); | 345 output_surface->BindFramebuffer(); |
| 346 output_surface->SwapBuffers(small_damage); | 346 output_surface->SwapBuffers(small_damage); |
| 347 | 347 |
| 348 int current_fbo = 0; | 348 int current_fbo = 0; |
| (...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 671 testing::Mock::VerifyAndClearExpectations(mock_output_surface_); | 671 testing::Mock::VerifyAndClearExpectations(mock_output_surface_); |
| 672 EXPECT_CALL(*mock_output_surface_, | 672 EXPECT_CALL(*mock_output_surface_, |
| 673 CopyBufferDamage(target_texture, source_texture, small_damage, _)) | 673 CopyBufferDamage(target_texture, source_texture, small_damage, _)) |
| 674 .Times(1); | 674 .Times(1); |
| 675 output_surface_->SwapBuffers(small_damage); | 675 output_surface_->SwapBuffers(small_damage); |
| 676 testing::Mock::VerifyAndClearExpectations(mock_output_surface_); | 676 testing::Mock::VerifyAndClearExpectations(mock_output_surface_); |
| 677 } | 677 } |
| 678 | 678 |
| 679 } // namespace | 679 } // namespace |
| 680 } // namespace display_compositor | 680 } // namespace display_compositor |
| OLD | NEW |