Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(313)

Side by Side Diff: gpu/command_buffer/service/framebuffer_manager_unittest.cc

Issue 2814583002: Service/ClientDiscardableManager (Closed)
Patch Set: rebase Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/context_group_unittest.cc ('k') | gpu/command_buffer/service/gles2_cmd_decoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698