| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include "gpu/command_buffer/service/error_state_mock.h" | 8 #include "gpu/command_buffer/service/error_state_mock.h" |
| 9 #include "gpu/command_buffer/service/feature_info.h" | 9 #include "gpu/command_buffer/service/feature_info.h" |
| 10 #include "gpu/command_buffer/service/framebuffer_manager.h" | 10 #include "gpu/command_buffer/service/framebuffer_manager.h" |
| 11 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h" | 11 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h" |
| 12 #include "gpu/command_buffer/service/gpu_service_test.h" | 12 #include "gpu/command_buffer/service/gpu_service_test.h" |
| 13 #include "gpu/command_buffer/service/renderbuffer_manager.h" | 13 #include "gpu/command_buffer/service/renderbuffer_manager.h" |
| 14 #include "gpu/command_buffer/service/service_discardable_manager.h" |
| 14 #include "gpu/command_buffer/service/test_helper.h" | 15 #include "gpu/command_buffer/service/test_helper.h" |
| 15 #include "gpu/command_buffer/service/texture_manager.h" | 16 #include "gpu/command_buffer/service/texture_manager.h" |
| 16 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
| 17 #include "ui/gl/gl_mock.h" | 18 #include "ui/gl/gl_mock.h" |
| 18 | 19 |
| 19 using ::testing::_; | 20 using ::testing::_; |
| 20 using ::testing::Return; | 21 using ::testing::Return; |
| 21 | 22 |
| 22 namespace gpu { | 23 namespace gpu { |
| 23 namespace gles2 { | 24 namespace gles2 { |
| (...skipping 13 matching lines...) Expand all Loading... |
| 37 } // namespace | 38 } // namespace |
| 38 | 39 |
| 39 class FramebufferManagerTest : public GpuServiceTest { | 40 class FramebufferManagerTest : public GpuServiceTest { |
| 40 public: | 41 public: |
| 41 FramebufferManagerTest() | 42 FramebufferManagerTest() |
| 42 : manager_(1, 1, nullptr), | 43 : manager_(1, 1, nullptr), |
| 43 feature_info_(new FeatureInfo()) { | 44 feature_info_(new FeatureInfo()) { |
| 44 texture_manager_.reset(new TextureManager( | 45 texture_manager_.reset(new TextureManager( |
| 45 nullptr, feature_info_.get(), kMaxTextureSize, kMaxCubemapSize, | 46 nullptr, feature_info_.get(), kMaxTextureSize, kMaxCubemapSize, |
| 46 kMaxRectangleTextureSize, kMax3DTextureSize, kMaxArrayTextureLayers, | 47 kMaxRectangleTextureSize, kMax3DTextureSize, kMaxArrayTextureLayers, |
| 47 kUseDefaultTextures, nullptr)); | 48 kUseDefaultTextures, nullptr, &discardable_manager_)); |
| 48 renderbuffer_manager_.reset(new RenderbufferManager(nullptr, | 49 renderbuffer_manager_.reset(new RenderbufferManager(nullptr, |
| 49 kMaxRenderbufferSize, | 50 kMaxRenderbufferSize, |
| 50 kMaxSamples, | 51 kMaxSamples, |
| 51 feature_info_.get())); | 52 feature_info_.get())); |
| 52 } | 53 } |
| 53 ~FramebufferManagerTest() override { | 54 ~FramebufferManagerTest() override { |
| 54 manager_.Destroy(false); | 55 manager_.Destroy(false); |
| 55 texture_manager_->Destroy(false); | 56 texture_manager_->Destroy(false); |
| 56 renderbuffer_manager_->Destroy(false); | 57 renderbuffer_manager_->Destroy(false); |
| 57 } | 58 } |
| 58 | 59 |
| 59 protected: | 60 protected: |
| 60 FramebufferManager manager_; | 61 FramebufferManager manager_; |
| 61 scoped_refptr<FeatureInfo> feature_info_; | 62 scoped_refptr<FeatureInfo> feature_info_; |
| 63 ServiceDiscardableManager discardable_manager_; |
| 62 std::unique_ptr<TextureManager> texture_manager_; | 64 std::unique_ptr<TextureManager> texture_manager_; |
| 63 std::unique_ptr<RenderbufferManager> renderbuffer_manager_; | 65 std::unique_ptr<RenderbufferManager> renderbuffer_manager_; |
| 64 }; | 66 }; |
| 65 | 67 |
| 66 TEST_F(FramebufferManagerTest, Basic) { | 68 TEST_F(FramebufferManagerTest, Basic) { |
| 67 const GLuint kClient1Id = 1; | 69 const GLuint kClient1Id = 1; |
| 68 const GLuint kService1Id = 11; | 70 const GLuint kService1Id = 11; |
| 69 const GLuint kClient2Id = 2; | 71 const GLuint kClient2Id = 2; |
| 70 // Check we can create framebuffer. | 72 // Check we can create framebuffer. |
| 71 manager_.CreateFramebuffer(kClient1Id, kService1Id); | 73 manager_.CreateFramebuffer(kClient1Id, kService1Id); |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 | 116 |
| 115 explicit FramebufferInfoTestBase(ContextType context_type) | 117 explicit FramebufferInfoTestBase(ContextType context_type) |
| 116 : context_type_(context_type), | 118 : context_type_(context_type), |
| 117 manager_(kMaxDrawBuffers, | 119 manager_(kMaxDrawBuffers, |
| 118 kMaxColorAttachments, | 120 kMaxColorAttachments, |
| 119 new FramebufferCompletenessCache), | 121 new FramebufferCompletenessCache), |
| 120 feature_info_(new FeatureInfo()) { | 122 feature_info_(new FeatureInfo()) { |
| 121 texture_manager_.reset(new TextureManager( | 123 texture_manager_.reset(new TextureManager( |
| 122 nullptr, feature_info_.get(), kMaxTextureSize, kMaxCubemapSize, | 124 nullptr, feature_info_.get(), kMaxTextureSize, kMaxCubemapSize, |
| 123 kMaxRectangleTextureSize, kMax3DTextureSize, kMaxArrayTextureLayers, | 125 kMaxRectangleTextureSize, kMax3DTextureSize, kMaxArrayTextureLayers, |
| 124 kUseDefaultTextures, nullptr)); | 126 kUseDefaultTextures, nullptr, &discardable_manager_)); |
| 125 renderbuffer_manager_.reset(new RenderbufferManager(nullptr, | 127 renderbuffer_manager_.reset(new RenderbufferManager(nullptr, |
| 126 kMaxRenderbufferSize, | 128 kMaxRenderbufferSize, |
| 127 kMaxSamples, | 129 kMaxSamples, |
| 128 feature_info_.get())); | 130 feature_info_.get())); |
| 129 } | 131 } |
| 130 ~FramebufferInfoTestBase() override { | 132 ~FramebufferInfoTestBase() override { |
| 131 manager_.Destroy(false); | 133 manager_.Destroy(false); |
| 132 texture_manager_->Destroy(false); | 134 texture_manager_->Destroy(false); |
| 133 renderbuffer_manager_->Destroy(false); | 135 renderbuffer_manager_->Destroy(false); |
| 134 } | 136 } |
| (...skipping 16 matching lines...) Expand all Loading... |
| 151 manager_.CreateFramebuffer(kClient1Id, kService1Id); | 153 manager_.CreateFramebuffer(kClient1Id, kService1Id); |
| 152 error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>()); | 154 error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>()); |
| 153 framebuffer_ = manager_.GetFramebuffer(kClient1Id); | 155 framebuffer_ = manager_.GetFramebuffer(kClient1Id); |
| 154 ASSERT_TRUE(framebuffer_ != nullptr); | 156 ASSERT_TRUE(framebuffer_ != nullptr); |
| 155 } | 157 } |
| 156 | 158 |
| 157 ContextType context_type_; | 159 ContextType context_type_; |
| 158 FramebufferManager manager_; | 160 FramebufferManager manager_; |
| 159 Framebuffer* framebuffer_; | 161 Framebuffer* framebuffer_; |
| 160 scoped_refptr<FeatureInfo> feature_info_; | 162 scoped_refptr<FeatureInfo> feature_info_; |
| 163 ServiceDiscardableManager discardable_manager_; |
| 161 std::unique_ptr<TextureManager> texture_manager_; | 164 std::unique_ptr<TextureManager> texture_manager_; |
| 162 std::unique_ptr<RenderbufferManager> renderbuffer_manager_; | 165 std::unique_ptr<RenderbufferManager> renderbuffer_manager_; |
| 163 std::unique_ptr<MockErrorState> error_state_; | 166 std::unique_ptr<MockErrorState> error_state_; |
| 164 std::unique_ptr<MockGLES2Decoder> decoder_; | 167 std::unique_ptr<MockGLES2Decoder> decoder_; |
| 165 }; | 168 }; |
| 166 | 169 |
| 167 class FramebufferInfoTest : public FramebufferInfoTestBase { | 170 class FramebufferInfoTest : public FramebufferInfoTestBase { |
| 168 public: | 171 public: |
| 169 FramebufferInfoTest() : FramebufferInfoTestBase(CONTEXT_TYPE_OPENGLES2) {} | 172 FramebufferInfoTest() : FramebufferInfoTestBase(CONTEXT_TYPE_OPENGLES2) {} |
| 170 }; | 173 }; |
| (...skipping 1472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1643 renderbuffer_manager_->GetRenderbuffer(kRenderbufferClientId); | 1646 renderbuffer_manager_->GetRenderbuffer(kRenderbufferClientId); |
| 1644 ASSERT_TRUE(renderbuffer != nullptr); | 1647 ASSERT_TRUE(renderbuffer != nullptr); |
| 1645 framebuffer_->AttachRenderbuffer(GL_COLOR_ATTACHMENT1, renderbuffer); | 1648 framebuffer_->AttachRenderbuffer(GL_COLOR_ATTACHMENT1, renderbuffer); |
| 1646 EXPECT_TRUE(framebuffer_->GetReadBufferAttachment()); | 1649 EXPECT_TRUE(framebuffer_->GetReadBufferAttachment()); |
| 1647 } | 1650 } |
| 1648 | 1651 |
| 1649 } // namespace gles2 | 1652 } // namespace gles2 |
| 1650 } // namespace gpu | 1653 } // namespace gpu |
| 1651 | 1654 |
| 1652 | 1655 |
| OLD | NEW |