| 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" |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 const GLint kMaxSamples = 4; | 32 const GLint kMaxSamples = 4; |
| 33 const uint32_t kMaxDrawBuffers = 16; | 33 const uint32_t kMaxDrawBuffers = 16; |
| 34 const uint32_t kMaxColorAttachments = 16; | 34 const uint32_t kMaxColorAttachments = 16; |
| 35 const bool kUseDefaultTextures = false; | 35 const bool kUseDefaultTextures = false; |
| 36 | 36 |
| 37 } // namespace | 37 } // namespace |
| 38 | 38 |
| 39 class FramebufferManagerTest : public GpuServiceTest { | 39 class FramebufferManagerTest : public GpuServiceTest { |
| 40 public: | 40 public: |
| 41 FramebufferManagerTest() | 41 FramebufferManagerTest() |
| 42 : manager_(1, 1, CONTEXT_TYPE_OPENGLES2, nullptr), | 42 : manager_(1, 1, nullptr), |
| 43 feature_info_(new FeatureInfo()) { | 43 feature_info_(new FeatureInfo()) { |
| 44 texture_manager_.reset(new TextureManager(nullptr, | 44 texture_manager_.reset(new TextureManager(nullptr, |
| 45 feature_info_.get(), | 45 feature_info_.get(), |
| 46 kMaxTextureSize, | 46 kMaxTextureSize, |
| 47 kMaxCubemapSize, | 47 kMaxCubemapSize, |
| 48 kMaxRectangleTextureSize, | 48 kMaxRectangleTextureSize, |
| 49 kMax3DTextureSize, | 49 kMax3DTextureSize, |
| 50 kMaxArrayTextureLayers, | 50 kMaxArrayTextureLayers, |
| 51 kUseDefaultTextures)); | 51 kUseDefaultTextures)); |
| 52 renderbuffer_manager_.reset(new RenderbufferManager(nullptr, | 52 renderbuffer_manager_.reset(new RenderbufferManager(nullptr, |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 framebuffer1 = manager_.GetFramebuffer(kClient1Id); | 110 framebuffer1 = manager_.GetFramebuffer(kClient1Id); |
| 111 ASSERT_TRUE(framebuffer1 == nullptr); | 111 ASSERT_TRUE(framebuffer1 == nullptr); |
| 112 } | 112 } |
| 113 | 113 |
| 114 class FramebufferInfoTestBase : public GpuServiceTest { | 114 class FramebufferInfoTestBase : public GpuServiceTest { |
| 115 public: | 115 public: |
| 116 static const GLuint kClient1Id = 1; | 116 static const GLuint kClient1Id = 1; |
| 117 static const GLuint kService1Id = 11; | 117 static const GLuint kService1Id = 11; |
| 118 | 118 |
| 119 explicit FramebufferInfoTestBase(ContextType context_type) | 119 explicit FramebufferInfoTestBase(ContextType context_type) |
| 120 : manager_(kMaxDrawBuffers, | 120 : context_type_(context_type), |
| 121 manager_(kMaxDrawBuffers, |
| 121 kMaxColorAttachments, | 122 kMaxColorAttachments, |
| 122 context_type, | |
| 123 new FramebufferCompletenessCache), | 123 new FramebufferCompletenessCache), |
| 124 feature_info_(new FeatureInfo()) { | 124 feature_info_(new FeatureInfo()) { |
| 125 texture_manager_.reset(new TextureManager(nullptr, | 125 texture_manager_.reset(new TextureManager(nullptr, |
| 126 feature_info_.get(), | 126 feature_info_.get(), |
| 127 kMaxTextureSize, | 127 kMaxTextureSize, |
| 128 kMaxCubemapSize, | 128 kMaxCubemapSize, |
| 129 kMaxRectangleTextureSize, | 129 kMaxRectangleTextureSize, |
| 130 kMax3DTextureSize, | 130 kMax3DTextureSize, |
| 131 kMaxArrayTextureLayers, | 131 kMaxArrayTextureLayers, |
| 132 kUseDefaultTextures)); | 132 kUseDefaultTextures)); |
| 133 renderbuffer_manager_.reset(new RenderbufferManager(nullptr, | 133 renderbuffer_manager_.reset(new RenderbufferManager(nullptr, |
| 134 kMaxRenderbufferSize, | 134 kMaxRenderbufferSize, |
| 135 kMaxSamples, | 135 kMaxSamples, |
| 136 feature_info_.get())); | 136 feature_info_.get())); |
| 137 } | 137 } |
| 138 ~FramebufferInfoTestBase() override { | 138 ~FramebufferInfoTestBase() override { |
| 139 manager_.Destroy(false); | 139 manager_.Destroy(false); |
| 140 texture_manager_->Destroy(false); | 140 texture_manager_->Destroy(false); |
| 141 renderbuffer_manager_->Destroy(false); | 141 renderbuffer_manager_->Destroy(false); |
| 142 } | 142 } |
| 143 | 143 |
| 144 protected: | 144 protected: |
| 145 void SetUp() override { | 145 void SetUp() override { |
| 146 InitializeContext("2.0", "GL_EXT_framebuffer_object"); | 146 InitializeContext("2.0", "GL_EXT_framebuffer_object"); |
| 147 } | 147 } |
| 148 | 148 |
| 149 void InitializeContext(const char* gl_version, const char* extensions) { | 149 void InitializeContext(const char* gl_version, const char* extensions) { |
| 150 GpuServiceTest::SetUpWithGLVersion(gl_version, extensions); | 150 GpuServiceTest::SetUpWithGLVersion(gl_version, extensions); |
| 151 TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion(gl_.get(), | 151 TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion(gl_.get(), |
| 152 extensions, "", gl_version, manager_.context_type()); | 152 extensions, "", gl_version, context_type_); |
| 153 feature_info_->InitializeForTesting(); | 153 feature_info_->InitializeForTesting(); |
| 154 decoder_.reset(new MockGLES2Decoder()); | 154 decoder_.reset(new MockGLES2Decoder()); |
| 155 manager_.CreateFramebuffer(kClient1Id, kService1Id); | 155 manager_.CreateFramebuffer(kClient1Id, kService1Id); |
| 156 error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>()); | 156 error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>()); |
| 157 framebuffer_ = manager_.GetFramebuffer(kClient1Id); | 157 framebuffer_ = manager_.GetFramebuffer(kClient1Id); |
| 158 ASSERT_TRUE(framebuffer_ != nullptr); | 158 ASSERT_TRUE(framebuffer_ != nullptr); |
| 159 } | 159 } |
| 160 | 160 |
| 161 ContextType context_type_; |
| 161 FramebufferManager manager_; | 162 FramebufferManager manager_; |
| 162 Framebuffer* framebuffer_; | 163 Framebuffer* framebuffer_; |
| 163 scoped_refptr<FeatureInfo> feature_info_; | 164 scoped_refptr<FeatureInfo> feature_info_; |
| 164 std::unique_ptr<TextureManager> texture_manager_; | 165 std::unique_ptr<TextureManager> texture_manager_; |
| 165 std::unique_ptr<RenderbufferManager> renderbuffer_manager_; | 166 std::unique_ptr<RenderbufferManager> renderbuffer_manager_; |
| 166 std::unique_ptr<MockErrorState> error_state_; | 167 std::unique_ptr<MockErrorState> error_state_; |
| 167 std::unique_ptr<MockGLES2Decoder> decoder_; | 168 std::unique_ptr<MockGLES2Decoder> decoder_; |
| 168 }; | 169 }; |
| 169 | 170 |
| 170 class FramebufferInfoTest : public FramebufferInfoTestBase { | 171 class FramebufferInfoTest : public FramebufferInfoTestBase { |
| 171 public: | 172 public: |
| 172 FramebufferInfoTest() : FramebufferInfoTestBase(CONTEXT_TYPE_OPENGLES2) {} | 173 FramebufferInfoTest() : FramebufferInfoTestBase(CONTEXT_TYPE_OPENGLES2) {} |
| 173 }; | 174 }; |
| 174 | 175 |
| 175 // GCC requires these declarations, but MSVC requires they not be present | 176 // GCC requires these declarations, but MSVC requires they not be present |
| 176 #ifndef COMPILER_MSVC | 177 #ifndef COMPILER_MSVC |
| 177 const GLuint FramebufferInfoTestBase::kClient1Id; | 178 const GLuint FramebufferInfoTestBase::kClient1Id; |
| 178 const GLuint FramebufferInfoTestBase::kService1Id; | 179 const GLuint FramebufferInfoTestBase::kService1Id; |
| 179 #endif | 180 #endif |
| 180 | 181 |
| 181 TEST_F(FramebufferInfoTest, Basic) { | 182 TEST_F(FramebufferInfoTest, Basic) { |
| 182 EXPECT_EQ(kService1Id, framebuffer_->service_id()); | 183 EXPECT_EQ(kService1Id, framebuffer_->service_id()); |
| 183 EXPECT_FALSE(framebuffer_->IsDeleted()); | 184 EXPECT_FALSE(framebuffer_->IsDeleted()); |
| 184 EXPECT_TRUE(nullptr == framebuffer_->GetAttachment(GL_COLOR_ATTACHMENT0)); | 185 EXPECT_TRUE(nullptr == framebuffer_->GetAttachment(GL_COLOR_ATTACHMENT0)); |
| 185 EXPECT_TRUE(nullptr == framebuffer_->GetAttachment(GL_DEPTH_ATTACHMENT)); | 186 EXPECT_TRUE(nullptr == framebuffer_->GetAttachment(GL_DEPTH_ATTACHMENT)); |
| 186 EXPECT_TRUE(nullptr == framebuffer_->GetAttachment(GL_STENCIL_ATTACHMENT)); | 187 EXPECT_TRUE(nullptr == framebuffer_->GetAttachment(GL_STENCIL_ATTACHMENT)); |
| 187 EXPECT_TRUE( | |
| 188 nullptr == framebuffer_->GetAttachment(GL_DEPTH_STENCIL_ATTACHMENT)); | |
| 189 EXPECT_FALSE(framebuffer_->HasDepthAttachment()); | 188 EXPECT_FALSE(framebuffer_->HasDepthAttachment()); |
| 190 EXPECT_FALSE(framebuffer_->HasStencilAttachment()); | 189 EXPECT_FALSE(framebuffer_->HasStencilAttachment()); |
| 191 EXPECT_EQ(static_cast<GLenum>(GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT), | 190 EXPECT_EQ(static_cast<GLenum>(GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT), |
| 192 framebuffer_->IsPossiblyComplete(feature_info_.get())); | 191 framebuffer_->IsPossiblyComplete(feature_info_.get())); |
| 193 EXPECT_TRUE(framebuffer_->IsCleared()); | 192 EXPECT_TRUE(framebuffer_->IsCleared()); |
| 194 EXPECT_EQ(static_cast<GLenum>(0), | 193 EXPECT_EQ(static_cast<GLenum>(0), |
| 195 framebuffer_->GetReadBufferInternalFormat()); | 194 framebuffer_->GetReadBufferInternalFormat()); |
| 196 EXPECT_FALSE(manager_.IsComplete(framebuffer_)); | 195 EXPECT_FALSE(manager_.IsComplete(framebuffer_)); |
| 197 } | 196 } |
| 198 | 197 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 226 const GLsizei kSamples4 = 0; | 225 const GLsizei kSamples4 = 0; |
| 227 const GLsizei kWidth5 = 16; | 226 const GLsizei kWidth5 = 16; |
| 228 const GLsizei kHeight5 = 32; | 227 const GLsizei kHeight5 = 32; |
| 229 const GLenum kFormat5 = GL_DEPTH24_STENCIL8; | 228 const GLenum kFormat5 = GL_DEPTH24_STENCIL8; |
| 230 const GLsizei kSamples5 = 0; | 229 const GLsizei kSamples5 = 0; |
| 231 const GLsizei kDifferentSamples5 = 1; | 230 const GLsizei kDifferentSamples5 = 1; |
| 232 | 231 |
| 233 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_COLOR_ATTACHMENT0)); | 232 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_COLOR_ATTACHMENT0)); |
| 234 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_DEPTH_ATTACHMENT)); | 233 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_DEPTH_ATTACHMENT)); |
| 235 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_STENCIL_ATTACHMENT)); | 234 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_STENCIL_ATTACHMENT)); |
| 236 EXPECT_FALSE( | |
| 237 framebuffer_->HasUnclearedAttachment(GL_DEPTH_STENCIL_ATTACHMENT)); | |
| 238 | 235 |
| 239 renderbuffer_manager_->CreateRenderbuffer( | 236 renderbuffer_manager_->CreateRenderbuffer( |
| 240 kRenderbufferClient1Id, kRenderbufferService1Id); | 237 kRenderbufferClient1Id, kRenderbufferService1Id); |
| 241 Renderbuffer* renderbuffer1 = | 238 Renderbuffer* renderbuffer1 = |
| 242 renderbuffer_manager_->GetRenderbuffer(kRenderbufferClient1Id); | 239 renderbuffer_manager_->GetRenderbuffer(kRenderbufferClient1Id); |
| 243 ASSERT_TRUE(renderbuffer1 != nullptr); | 240 ASSERT_TRUE(renderbuffer1 != nullptr); |
| 244 | 241 |
| 245 // Check adding one attachment. | 242 // Check adding one attachment. |
| 246 framebuffer_->AttachRenderbuffer(GL_COLOR_ATTACHMENT0, renderbuffer1); | 243 framebuffer_->AttachRenderbuffer(GL_COLOR_ATTACHMENT0, renderbuffer1); |
| 247 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_COLOR_ATTACHMENT0)); | 244 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_COLOR_ATTACHMENT0)); |
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 499 const GLenum kTarget2 = GL_TEXTURE_2D; | 496 const GLenum kTarget2 = GL_TEXTURE_2D; |
| 500 const GLsizei kSamples2 = 0; | 497 const GLsizei kSamples2 = 0; |
| 501 const GLsizei kWidth3 = 75; | 498 const GLsizei kWidth3 = 75; |
| 502 const GLsizei kHeight3 = 123; | 499 const GLsizei kHeight3 = 123; |
| 503 const GLint kLevel3 = 0; | 500 const GLint kLevel3 = 0; |
| 504 const GLenum kFormat3 = GL_RGB565; | 501 const GLenum kFormat3 = GL_RGB565; |
| 505 const GLsizei kSamples3 = 0; | 502 const GLsizei kSamples3 = 0; |
| 506 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_COLOR_ATTACHMENT0)); | 503 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_COLOR_ATTACHMENT0)); |
| 507 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_DEPTH_ATTACHMENT)); | 504 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_DEPTH_ATTACHMENT)); |
| 508 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_STENCIL_ATTACHMENT)); | 505 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_STENCIL_ATTACHMENT)); |
| 509 EXPECT_FALSE( | |
| 510 framebuffer_->HasUnclearedAttachment(GL_DEPTH_STENCIL_ATTACHMENT)); | |
| 511 EXPECT_EQ(static_cast<GLenum>(GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT), | 506 EXPECT_EQ(static_cast<GLenum>(GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT), |
| 512 framebuffer_->IsPossiblyComplete(feature_info_.get())); | 507 framebuffer_->IsPossiblyComplete(feature_info_.get())); |
| 513 | 508 |
| 514 texture_manager_->CreateTexture(kTextureClient1Id, kTextureService1Id); | 509 texture_manager_->CreateTexture(kTextureClient1Id, kTextureService1Id); |
| 515 scoped_refptr<TextureRef> texture1( | 510 scoped_refptr<TextureRef> texture1( |
| 516 texture_manager_->GetTexture(kTextureClient1Id)); | 511 texture_manager_->GetTexture(kTextureClient1Id)); |
| 517 ASSERT_TRUE(texture1.get() != nullptr); | 512 ASSERT_TRUE(texture1.get() != nullptr); |
| 518 | 513 |
| 519 // check adding one attachment | 514 // check adding one attachment |
| 520 framebuffer_->AttachTexture( | 515 framebuffer_->AttachTexture( |
| (...skipping 1036 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1557 FramebufferInfoES3Test() : FramebufferInfoTestBase(CONTEXT_TYPE_WEBGL2) {} | 1552 FramebufferInfoES3Test() : FramebufferInfoTestBase(CONTEXT_TYPE_WEBGL2) {} |
| 1558 | 1553 |
| 1559 protected: | 1554 protected: |
| 1560 void SetUp() override { | 1555 void SetUp() override { |
| 1561 InitializeContext("OpenGL ES 3.0", ""); | 1556 InitializeContext("OpenGL ES 3.0", ""); |
| 1562 } | 1557 } |
| 1563 | 1558 |
| 1564 void InitializeContext(const char* gl_version, const char* extensions) { | 1559 void InitializeContext(const char* gl_version, const char* extensions) { |
| 1565 GpuServiceTest::SetUpWithGLVersion(gl_version, extensions); | 1560 GpuServiceTest::SetUpWithGLVersion(gl_version, extensions); |
| 1566 TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion(gl_.get(), | 1561 TestHelper::SetupFeatureInfoInitExpectationsWithGLVersion(gl_.get(), |
| 1567 extensions, "", gl_version, manager_.context_type()); | 1562 extensions, "", gl_version, context_type_); |
| 1568 feature_info_->InitializeForTesting(CONTEXT_TYPE_OPENGLES3); | 1563 feature_info_->InitializeForTesting(CONTEXT_TYPE_OPENGLES3); |
| 1569 decoder_.reset(new MockGLES2Decoder()); | 1564 decoder_.reset(new MockGLES2Decoder()); |
| 1570 manager_.CreateFramebuffer(kClient1Id, kService1Id); | 1565 manager_.CreateFramebuffer(kClient1Id, kService1Id); |
| 1571 error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>()); | 1566 error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>()); |
| 1572 framebuffer_ = manager_.GetFramebuffer(kClient1Id); | 1567 framebuffer_ = manager_.GetFramebuffer(kClient1Id); |
| 1573 ASSERT_TRUE(framebuffer_ != nullptr); | 1568 ASSERT_TRUE(framebuffer_ != nullptr); |
| 1574 } | 1569 } |
| 1575 }; | 1570 }; |
| 1576 | 1571 |
| 1577 TEST_F(FramebufferInfoES3Test, DifferentDimensions) { | 1572 TEST_F(FramebufferInfoES3Test, DifferentDimensions) { |
| 1578 const GLuint kRenderbufferClient1Id = 33; | 1573 const GLuint kRenderbufferClient1Id = 33; |
| 1579 const GLuint kRenderbufferService1Id = 333; | 1574 const GLuint kRenderbufferService1Id = 333; |
| 1580 const GLuint kRenderbufferClient2Id = 34; | 1575 const GLuint kRenderbufferClient2Id = 34; |
| 1581 const GLuint kRenderbufferService2Id = 334; | 1576 const GLuint kRenderbufferService2Id = 334; |
| 1582 const GLsizei kWidth1 = 16; | 1577 const GLsizei kWidth1 = 16; |
| 1583 const GLsizei kHeight1 = 32; | 1578 const GLsizei kHeight1 = 32; |
| 1584 const GLenum kFormat1 = GL_RGBA4; | 1579 const GLenum kFormat1 = GL_RGBA4; |
| 1585 const GLsizei kSamples1 = 0; | 1580 const GLsizei kSamples1 = 0; |
| 1586 const GLsizei kWidth2 = 32; // Different from kWidth1 | 1581 const GLsizei kWidth2 = 32; // Different from kWidth1 |
| 1587 const GLsizei kHeight2 = 32; | 1582 const GLsizei kHeight2 = 32; |
| 1588 const GLenum kFormat2 = GL_DEPTH_COMPONENT16; | 1583 const GLenum kFormat2 = GL_DEPTH_COMPONENT16; |
| 1589 const GLsizei kSamples2 = 0; | 1584 const GLsizei kSamples2 = 0; |
| 1590 | 1585 |
| 1591 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_COLOR_ATTACHMENT0)); | 1586 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_COLOR_ATTACHMENT0)); |
| 1592 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_DEPTH_ATTACHMENT)); | 1587 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_DEPTH_ATTACHMENT)); |
| 1593 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_STENCIL_ATTACHMENT)); | 1588 EXPECT_FALSE(framebuffer_->HasUnclearedAttachment(GL_STENCIL_ATTACHMENT)); |
| 1594 EXPECT_FALSE( | |
| 1595 framebuffer_->HasUnclearedAttachment(GL_DEPTH_STENCIL_ATTACHMENT)); | |
| 1596 | 1589 |
| 1597 renderbuffer_manager_->CreateRenderbuffer( | 1590 renderbuffer_manager_->CreateRenderbuffer( |
| 1598 kRenderbufferClient1Id, kRenderbufferService1Id); | 1591 kRenderbufferClient1Id, kRenderbufferService1Id); |
| 1599 Renderbuffer* renderbuffer1 = | 1592 Renderbuffer* renderbuffer1 = |
| 1600 renderbuffer_manager_->GetRenderbuffer(kRenderbufferClient1Id); | 1593 renderbuffer_manager_->GetRenderbuffer(kRenderbufferClient1Id); |
| 1601 ASSERT_TRUE(renderbuffer1 != nullptr); | 1594 ASSERT_TRUE(renderbuffer1 != nullptr); |
| 1602 renderbuffer_manager_->SetInfo( | 1595 renderbuffer_manager_->SetInfo( |
| 1603 renderbuffer1, kSamples1, kFormat1, kWidth1, kHeight1); | 1596 renderbuffer1, kSamples1, kFormat1, kWidth1, kHeight1); |
| 1604 framebuffer_->AttachRenderbuffer(GL_COLOR_ATTACHMENT0, renderbuffer1); | 1597 framebuffer_->AttachRenderbuffer(GL_COLOR_ATTACHMENT0, renderbuffer1); |
| 1605 | 1598 |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1667 renderbuffer_manager_->GetRenderbuffer(kRenderbufferClientId); | 1660 renderbuffer_manager_->GetRenderbuffer(kRenderbufferClientId); |
| 1668 ASSERT_TRUE(renderbuffer != nullptr); | 1661 ASSERT_TRUE(renderbuffer != nullptr); |
| 1669 framebuffer_->AttachRenderbuffer(GL_COLOR_ATTACHMENT1, renderbuffer); | 1662 framebuffer_->AttachRenderbuffer(GL_COLOR_ATTACHMENT1, renderbuffer); |
| 1670 EXPECT_TRUE(framebuffer_->GetReadBufferAttachment()); | 1663 EXPECT_TRUE(framebuffer_->GetReadBufferAttachment()); |
| 1671 } | 1664 } |
| 1672 | 1665 |
| 1673 } // namespace gles2 | 1666 } // namespace gles2 |
| 1674 } // namespace gpu | 1667 } // namespace gpu |
| 1675 | 1668 |
| 1676 | 1669 |
| OLD | NEW |