| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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.h" | 5 #include "cc/trees/layer_tree_host.h" |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "cc/layers/delegated_frame_provider.h" | 8 #include "cc/layers/delegated_frame_provider.h" |
| 9 #include "cc/layers/delegated_frame_resource_collection.h" | 9 #include "cc/layers/delegated_frame_resource_collection.h" |
| 10 #include "cc/layers/heads_up_display_layer.h" | 10 #include "cc/layers/heads_up_display_layer.h" |
| (...skipping 892 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 903 LayerTreeHostContextTestDontUseLostResources() : lost_context_(false) { | 903 LayerTreeHostContextTestDontUseLostResources() : lost_context_(false) { |
| 904 context_should_support_io_surface_ = true; | 904 context_should_support_io_surface_ = true; |
| 905 | 905 |
| 906 child_output_surface_ = FakeOutputSurface::Create3d(); | 906 child_output_surface_ = FakeOutputSurface::Create3d(); |
| 907 child_output_surface_->BindToClient(&output_surface_client_); | 907 child_output_surface_->BindToClient(&output_surface_client_); |
| 908 shared_bitmap_manager_.reset(new TestSharedBitmapManager()); | 908 shared_bitmap_manager_.reset(new TestSharedBitmapManager()); |
| 909 child_resource_provider_ = FakeResourceProvider::Create( | 909 child_resource_provider_ = FakeResourceProvider::Create( |
| 910 child_output_surface_.get(), shared_bitmap_manager_.get()); | 910 child_output_surface_.get(), shared_bitmap_manager_.get()); |
| 911 } | 911 } |
| 912 | 912 |
| 913 static void EmptyReleaseCallback(unsigned sync_point, bool lost) {} | 913 static void EmptyReleaseCallback(const gpu::SyncToken& sync_token, |
| 914 bool lost) {} |
| 914 | 915 |
| 915 void SetupTree() override { | 916 void SetupTree() override { |
| 916 gpu::gles2::GLES2Interface* gl = | 917 gpu::gles2::GLES2Interface* gl = |
| 917 child_output_surface_->context_provider()->ContextGL(); | 918 child_output_surface_->context_provider()->ContextGL(); |
| 918 | 919 |
| 919 scoped_ptr<DelegatedFrameData> frame_data(new DelegatedFrameData); | 920 scoped_ptr<DelegatedFrameData> frame_data(new DelegatedFrameData); |
| 920 | 921 |
| 921 scoped_ptr<RenderPass> pass_for_quad = RenderPass::Create(); | 922 scoped_ptr<RenderPass> pass_for_quad = RenderPass::Create(); |
| 922 pass_for_quad->SetNew( | 923 pass_for_quad->SetNew( |
| 923 // AppendOneOfEveryQuadType() makes a RenderPass quad with this id. | 924 // AppendOneOfEveryQuadType() makes a RenderPass quad with this id. |
| (...skipping 18 matching lines...) Expand all Loading... |
| 942 delegated_frame_provider_ = new DelegatedFrameProvider( | 943 delegated_frame_provider_ = new DelegatedFrameProvider( |
| 943 delegated_resource_collection_.get(), frame_data.Pass()); | 944 delegated_resource_collection_.get(), frame_data.Pass()); |
| 944 | 945 |
| 945 ResourceId resource = child_resource_provider_->CreateResource( | 946 ResourceId resource = child_resource_provider_->CreateResource( |
| 946 gfx::Size(4, 4), ResourceProvider::TEXTURE_HINT_IMMUTABLE, RGBA_8888); | 947 gfx::Size(4, 4), ResourceProvider::TEXTURE_HINT_IMMUTABLE, RGBA_8888); |
| 947 ResourceProvider::ScopedWriteLockGL lock(child_resource_provider_.get(), | 948 ResourceProvider::ScopedWriteLockGL lock(child_resource_provider_.get(), |
| 948 resource); | 949 resource); |
| 949 | 950 |
| 950 gpu::Mailbox mailbox; | 951 gpu::Mailbox mailbox; |
| 951 gl->GenMailboxCHROMIUM(mailbox.name); | 952 gl->GenMailboxCHROMIUM(mailbox.name); |
| 952 GLuint sync_point = gl->InsertSyncPointCHROMIUM(); | 953 gpu::SyncToken sync_token(gl->InsertSyncPointCHROMIUM()); |
| 953 | 954 |
| 954 scoped_refptr<Layer> root = Layer::Create(layer_settings()); | 955 scoped_refptr<Layer> root = Layer::Create(layer_settings()); |
| 955 root->SetBounds(gfx::Size(10, 10)); | 956 root->SetBounds(gfx::Size(10, 10)); |
| 956 root->SetIsDrawable(true); | 957 root->SetIsDrawable(true); |
| 957 | 958 |
| 958 scoped_refptr<FakeDelegatedRendererLayer> delegated = | 959 scoped_refptr<FakeDelegatedRendererLayer> delegated = |
| 959 FakeDelegatedRendererLayer::Create(layer_settings(), | 960 FakeDelegatedRendererLayer::Create(layer_settings(), |
| 960 delegated_frame_provider_.get()); | 961 delegated_frame_provider_.get()); |
| 961 delegated->SetBounds(gfx::Size(10, 10)); | 962 delegated->SetBounds(gfx::Size(10, 10)); |
| 962 delegated->SetIsDrawable(true); | 963 delegated->SetIsDrawable(true); |
| 963 root->AddChild(delegated); | 964 root->AddChild(delegated); |
| 964 | 965 |
| 965 scoped_refptr<PictureLayer> layer = | 966 scoped_refptr<PictureLayer> layer = |
| 966 PictureLayer::Create(layer_settings(), &client_); | 967 PictureLayer::Create(layer_settings(), &client_); |
| 967 layer->SetBounds(gfx::Size(10, 10)); | 968 layer->SetBounds(gfx::Size(10, 10)); |
| 968 layer->SetIsDrawable(true); | 969 layer->SetIsDrawable(true); |
| 969 root->AddChild(layer); | 970 root->AddChild(layer); |
| 970 | 971 |
| 971 scoped_refptr<TextureLayer> texture = | 972 scoped_refptr<TextureLayer> texture = |
| 972 TextureLayer::CreateForMailbox(layer_settings_, NULL); | 973 TextureLayer::CreateForMailbox(layer_settings_, NULL); |
| 973 texture->SetBounds(gfx::Size(10, 10)); | 974 texture->SetBounds(gfx::Size(10, 10)); |
| 974 texture->SetIsDrawable(true); | 975 texture->SetIsDrawable(true); |
| 975 texture->SetTextureMailbox( | 976 texture->SetTextureMailbox( |
| 976 TextureMailbox(mailbox, GL_TEXTURE_2D, sync_point), | 977 TextureMailbox(mailbox, sync_token, GL_TEXTURE_2D), |
| 977 SingleReleaseCallback::Create( | 978 SingleReleaseCallback::Create( |
| 978 base::Bind(&LayerTreeHostContextTestDontUseLostResources:: | 979 base::Bind(&LayerTreeHostContextTestDontUseLostResources:: |
| 979 EmptyReleaseCallback))); | 980 EmptyReleaseCallback))); |
| 980 root->AddChild(texture); | 981 root->AddChild(texture); |
| 981 | 982 |
| 982 scoped_refptr<PictureLayer> mask = | 983 scoped_refptr<PictureLayer> mask = |
| 983 PictureLayer::Create(layer_settings_, &client_); | 984 PictureLayer::Create(layer_settings_, &client_); |
| 984 mask->SetBounds(gfx::Size(10, 10)); | 985 mask->SetBounds(gfx::Size(10, 10)); |
| 985 | 986 |
| 986 scoped_refptr<PictureLayer> layer_with_mask = | 987 scoped_refptr<PictureLayer> layer_with_mask = |
| 987 PictureLayer::Create(layer_settings_, &client_); | 988 PictureLayer::Create(layer_settings_, &client_); |
| 988 layer_with_mask->SetBounds(gfx::Size(10, 10)); | 989 layer_with_mask->SetBounds(gfx::Size(10, 10)); |
| 989 layer_with_mask->SetIsDrawable(true); | 990 layer_with_mask->SetIsDrawable(true); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 1005 scoped_refptr<VideoLayer> video_scaled_hw = VideoLayer::Create( | 1006 scoped_refptr<VideoLayer> video_scaled_hw = VideoLayer::Create( |
| 1006 layer_settings_, &scaled_hw_frame_provider_, media::VIDEO_ROTATION_0); | 1007 layer_settings_, &scaled_hw_frame_provider_, media::VIDEO_ROTATION_0); |
| 1007 video_scaled_hw->SetBounds(gfx::Size(10, 10)); | 1008 video_scaled_hw->SetBounds(gfx::Size(10, 10)); |
| 1008 video_scaled_hw->SetIsDrawable(true); | 1009 video_scaled_hw->SetIsDrawable(true); |
| 1009 root->AddChild(video_scaled_hw); | 1010 root->AddChild(video_scaled_hw); |
| 1010 | 1011 |
| 1011 color_video_frame_ = VideoFrame::CreateColorFrame( | 1012 color_video_frame_ = VideoFrame::CreateColorFrame( |
| 1012 gfx::Size(4, 4), 0x80, 0x80, 0x80, base::TimeDelta()); | 1013 gfx::Size(4, 4), 0x80, 0x80, 0x80, base::TimeDelta()); |
| 1013 hw_video_frame_ = VideoFrame::WrapNativeTexture( | 1014 hw_video_frame_ = VideoFrame::WrapNativeTexture( |
| 1014 media::PIXEL_FORMAT_ARGB, | 1015 media::PIXEL_FORMAT_ARGB, |
| 1015 gpu::MailboxHolder(mailbox, GL_TEXTURE_2D, sync_point), | 1016 gpu::MailboxHolder(mailbox, sync_token, GL_TEXTURE_2D), |
| 1016 media::VideoFrame::ReleaseMailboxCB(), gfx::Size(4, 4), | 1017 media::VideoFrame::ReleaseMailboxCB(), gfx::Size(4, 4), |
| 1017 gfx::Rect(0, 0, 4, 4), gfx::Size(4, 4), base::TimeDelta()); | 1018 gfx::Rect(0, 0, 4, 4), gfx::Size(4, 4), base::TimeDelta()); |
| 1018 scaled_hw_video_frame_ = VideoFrame::WrapNativeTexture( | 1019 scaled_hw_video_frame_ = VideoFrame::WrapNativeTexture( |
| 1019 media::PIXEL_FORMAT_ARGB, | 1020 media::PIXEL_FORMAT_ARGB, |
| 1020 gpu::MailboxHolder(mailbox, GL_TEXTURE_2D, sync_point), | 1021 gpu::MailboxHolder(mailbox, sync_token, GL_TEXTURE_2D), |
| 1021 media::VideoFrame::ReleaseMailboxCB(), gfx::Size(4, 4), | 1022 media::VideoFrame::ReleaseMailboxCB(), gfx::Size(4, 4), |
| 1022 gfx::Rect(0, 0, 3, 2), gfx::Size(4, 4), base::TimeDelta()); | 1023 gfx::Rect(0, 0, 3, 2), gfx::Size(4, 4), base::TimeDelta()); |
| 1023 | 1024 |
| 1024 color_frame_provider_.set_frame(color_video_frame_); | 1025 color_frame_provider_.set_frame(color_video_frame_); |
| 1025 hw_frame_provider_.set_frame(hw_video_frame_); | 1026 hw_frame_provider_.set_frame(hw_video_frame_); |
| 1026 scaled_hw_frame_provider_.set_frame(scaled_hw_video_frame_); | 1027 scaled_hw_frame_provider_.set_frame(scaled_hw_video_frame_); |
| 1027 | 1028 |
| 1028 scoped_refptr<IOSurfaceLayer> io_surface = | 1029 scoped_refptr<IOSurfaceLayer> io_surface = |
| 1029 IOSurfaceLayer::Create(layer_settings_); | 1030 IOSurfaceLayer::Create(layer_settings_); |
| 1030 io_surface->SetBounds(gfx::Size(10, 10)); | 1031 io_surface->SetBounds(gfx::Size(10, 10)); |
| (...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1622 void AfterTest() override {} | 1623 void AfterTest() override {} |
| 1623 | 1624 |
| 1624 bool deferred_; | 1625 bool deferred_; |
| 1625 }; | 1626 }; |
| 1626 | 1627 |
| 1627 SINGLE_AND_MULTI_THREAD_TEST_F( | 1628 SINGLE_AND_MULTI_THREAD_TEST_F( |
| 1628 LayerTreeHostContextTestLoseAfterSendingBeginMainFrame); | 1629 LayerTreeHostContextTestLoseAfterSendingBeginMainFrame); |
| 1629 | 1630 |
| 1630 } // namespace | 1631 } // namespace |
| 1631 } // namespace cc | 1632 } // namespace cc |
| OLD | NEW |