OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 "cc/trees/layer_tree_host_impl.h" | 5 #include "cc/trees/layer_tree_host_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <cmath> | 10 #include <cmath> |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 CreateHostImpl(DefaultSettings(), CreateCompositorFrameSink()); | 126 CreateHostImpl(DefaultSettings(), CreateCompositorFrameSink()); |
127 } | 127 } |
128 | 128 |
129 void TearDown() override { | 129 void TearDown() override { |
130 if (host_impl_) | 130 if (host_impl_) |
131 host_impl_->ReleaseCompositorFrameSink(); | 131 host_impl_->ReleaseCompositorFrameSink(); |
132 } | 132 } |
133 | 133 |
134 void DidLoseCompositorFrameSinkOnImplThread() override {} | 134 void DidLoseCompositorFrameSinkOnImplThread() override {} |
135 void SetBeginFrameSource(BeginFrameSource* source) override {} | 135 void SetBeginFrameSource(BeginFrameSource* source) override {} |
136 void DidSwapBuffersCompleteOnImplThread() override {} | 136 void DidReceiveCompositorFrameAckOnImplThread() override {} |
137 void OnCanDrawStateChanged(bool can_draw) override { | 137 void OnCanDrawStateChanged(bool can_draw) override { |
138 on_can_draw_state_changed_called_ = true; | 138 on_can_draw_state_changed_called_ = true; |
139 } | 139 } |
140 void NotifyReadyToActivate() override { | 140 void NotifyReadyToActivate() override { |
141 did_notify_ready_to_activate_ = true; | 141 did_notify_ready_to_activate_ = true; |
142 host_impl_->ActivateSyncTree(); | 142 host_impl_->ActivateSyncTree(); |
143 } | 143 } |
144 void NotifyReadyToDraw() override {} | 144 void NotifyReadyToDraw() override {} |
145 void SetNeedsRedrawOnImplThread() override { did_request_redraw_ = true; } | 145 void SetNeedsRedrawOnImplThread() override { did_request_redraw_ = true; } |
146 void SetNeedsOneBeginImplFrameOnImplThread() override { | 146 void SetNeedsOneBeginImplFrameOnImplThread() override { |
(...skipping 7764 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7911 GLRendererWithSetupQuadForAntialiasing::ShouldAntialiasQuad( | 7911 GLRendererWithSetupQuadForAntialiasing::ShouldAntialiasQuad( |
7912 device_layer_quad, clipped, force_aa); | 7912 device_layer_quad, clipped, force_aa); |
7913 EXPECT_FALSE(antialiased); | 7913 EXPECT_FALSE(antialiased); |
7914 | 7914 |
7915 host_impl_->DrawLayers(&frame); | 7915 host_impl_->DrawLayers(&frame); |
7916 host_impl_->DidDrawAllLayers(frame); | 7916 host_impl_->DidDrawAllLayers(frame); |
7917 } | 7917 } |
7918 | 7918 |
7919 class CompositorFrameMetadataTest : public LayerTreeHostImplTest { | 7919 class CompositorFrameMetadataTest : public LayerTreeHostImplTest { |
7920 public: | 7920 public: |
7921 CompositorFrameMetadataTest() | 7921 CompositorFrameMetadataTest() = default; |
7922 : swap_buffers_complete_(0) {} | |
7923 | 7922 |
7924 void DidSwapBuffersCompleteOnImplThread() override { | 7923 void DidReceiveCompositorFrameAckOnImplThread() override { acks_received_++; } |
7925 swap_buffers_complete_++; | |
7926 } | |
7927 | 7924 |
7928 int swap_buffers_complete_; | 7925 int acks_received_ = 0; |
7929 }; | 7926 }; |
7930 | 7927 |
7931 TEST_F(CompositorFrameMetadataTest, CompositorFrameAckCountsAsSwapComplete) { | 7928 TEST_F(CompositorFrameMetadataTest, CompositorFrameAckCountsAsSwapComplete) { |
7932 SetupRootLayerImpl(FakeLayerWithQuads::Create(host_impl_->active_tree(), 1)); | 7929 SetupRootLayerImpl(FakeLayerWithQuads::Create(host_impl_->active_tree(), 1)); |
7933 host_impl_->active_tree()->BuildPropertyTreesForTesting(); | 7930 host_impl_->active_tree()->BuildPropertyTreesForTesting(); |
7934 { | 7931 { |
7935 LayerTreeHostImpl::FrameData frame; | 7932 LayerTreeHostImpl::FrameData frame; |
7936 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 7933 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
7937 host_impl_->DrawLayers(&frame); | 7934 host_impl_->DrawLayers(&frame); |
7938 host_impl_->DidDrawAllLayers(frame); | 7935 host_impl_->DidDrawAllLayers(frame); |
7939 } | 7936 } |
7940 host_impl_->ReclaimResources(ReturnedResourceArray()); | 7937 host_impl_->ReclaimResources(ReturnedResourceArray()); |
7941 host_impl_->DidSwapBuffersComplete(); | 7938 host_impl_->DidReceiveCompositorFrameAck(); |
7942 EXPECT_EQ(swap_buffers_complete_, 1); | 7939 EXPECT_EQ(acks_received_, 1); |
7943 } | 7940 } |
7944 | 7941 |
7945 class CountingSoftwareDevice : public SoftwareOutputDevice { | 7942 class CountingSoftwareDevice : public SoftwareOutputDevice { |
7946 public: | 7943 public: |
7947 CountingSoftwareDevice() : frames_began_(0), frames_ended_(0) {} | 7944 CountingSoftwareDevice() : frames_began_(0), frames_ended_(0) {} |
7948 | 7945 |
7949 SkCanvas* BeginPaint(const gfx::Rect& damage_rect) override { | 7946 SkCanvas* BeginPaint(const gfx::Rect& damage_rect) override { |
7950 ++frames_began_; | 7947 ++frames_began_; |
7951 return SoftwareOutputDevice::BeginPaint(damage_rect); | 7948 return SoftwareOutputDevice::BeginPaint(damage_rect); |
7952 } | 7949 } |
(...skipping 3453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11406 EXPECT_TRUE(host_impl_->use_gpu_rasterization()); | 11403 EXPECT_TRUE(host_impl_->use_gpu_rasterization()); |
11407 | 11404 |
11408 // Re-initialize with a software output surface. | 11405 // Re-initialize with a software output surface. |
11409 compositor_frame_sink_ = FakeCompositorFrameSink::CreateSoftware(); | 11406 compositor_frame_sink_ = FakeCompositorFrameSink::CreateSoftware(); |
11410 host_impl_->InitializeRenderer(compositor_frame_sink_.get()); | 11407 host_impl_->InitializeRenderer(compositor_frame_sink_.get()); |
11411 EXPECT_FALSE(host_impl_->use_gpu_rasterization()); | 11408 EXPECT_FALSE(host_impl_->use_gpu_rasterization()); |
11412 } | 11409 } |
11413 | 11410 |
11414 } // namespace | 11411 } // namespace |
11415 } // namespace cc | 11412 } // namespace cc |
OLD | NEW |