| 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 "gpu/command_buffer/service/error_state_mock.h" | 5 #include "gpu/command_buffer/service/error_state_mock.h" |
| 6 #include "gpu/command_buffer/service/framebuffer_manager.h" | 6 #include "gpu/command_buffer/service/framebuffer_manager.h" |
| 7 #include "gpu/command_buffer/service/feature_info.h" | 7 #include "gpu/command_buffer/service/feature_info.h" |
| 8 #include "gpu/command_buffer/service/gpu_service_test.h" | 8 #include "gpu/command_buffer/service/gpu_service_test.h" |
| 9 #include "gpu/command_buffer/service/renderbuffer_manager.h" | 9 #include "gpu/command_buffer/service/renderbuffer_manager.h" |
| 10 #include "gpu/command_buffer/service/test_helper.h" | 10 #include "gpu/command_buffer/service/test_helper.h" |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 const GLint kMaxSamples = 4; | 27 const GLint kMaxSamples = 4; |
| 28 const uint32 kMaxDrawBuffers = 16; | 28 const uint32 kMaxDrawBuffers = 16; |
| 29 const uint32 kMaxColorAttachments = 16; | 29 const uint32 kMaxColorAttachments = 16; |
| 30 const bool kUseDefaultTextures = false; | 30 const bool kUseDefaultTextures = false; |
| 31 | 31 |
| 32 } // namespace | 32 } // namespace |
| 33 | 33 |
| 34 class FramebufferManagerTest : public GpuServiceTest { | 34 class FramebufferManagerTest : public GpuServiceTest { |
| 35 public: | 35 public: |
| 36 FramebufferManagerTest() | 36 FramebufferManagerTest() |
| 37 : manager_(1, 1, ContextGroup::CONTEXT_TYPE_UNDEFINED, NULL), | 37 : manager_(1, 1, CONTEXT_TYPE_OPENGLES2, NULL), |
| 38 feature_info_(new FeatureInfo()) { | 38 feature_info_(new FeatureInfo()) { |
| 39 texture_manager_.reset(new TextureManager(NULL, | 39 texture_manager_.reset(new TextureManager(NULL, |
| 40 feature_info_.get(), | 40 feature_info_.get(), |
| 41 kMaxTextureSize, | 41 kMaxTextureSize, |
| 42 kMaxCubemapSize, | 42 kMaxCubemapSize, |
| 43 kMaxRectangleTextureSize, | 43 kMaxRectangleTextureSize, |
| 44 kMax3DTextureSize, | 44 kMax3DTextureSize, |
| 45 kUseDefaultTextures)); | 45 kUseDefaultTextures)); |
| 46 renderbuffer_manager_.reset(new RenderbufferManager(NULL, | 46 renderbuffer_manager_.reset(new RenderbufferManager(NULL, |
| 47 kMaxRenderbufferSize, | 47 kMaxRenderbufferSize, |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 103 // Check the resources were released. | 103 // Check the resources were released. |
| 104 framebuffer1 = manager_.GetFramebuffer(kClient1Id); | 104 framebuffer1 = manager_.GetFramebuffer(kClient1Id); |
| 105 ASSERT_TRUE(framebuffer1 == NULL); | 105 ASSERT_TRUE(framebuffer1 == NULL); |
| 106 } | 106 } |
| 107 | 107 |
| 108 class FramebufferInfoTestBase : public GpuServiceTest { | 108 class FramebufferInfoTestBase : public GpuServiceTest { |
| 109 public: | 109 public: |
| 110 static const GLuint kClient1Id = 1; | 110 static const GLuint kClient1Id = 1; |
| 111 static const GLuint kService1Id = 11; | 111 static const GLuint kService1Id = 11; |
| 112 | 112 |
| 113 explicit FramebufferInfoTestBase(ContextGroup::ContextType context_type) | 113 explicit FramebufferInfoTestBase(ContextType context_type) |
| 114 : manager_(kMaxDrawBuffers, | 114 : manager_(kMaxDrawBuffers, |
| 115 kMaxColorAttachments, | 115 kMaxColorAttachments, |
| 116 context_type, | 116 context_type, |
| 117 new FramebufferCompletenessCache), | 117 new FramebufferCompletenessCache), |
| 118 feature_info_(new FeatureInfo()) { | 118 feature_info_(new FeatureInfo()) { |
| 119 texture_manager_.reset(new TextureManager(NULL, | 119 texture_manager_.reset(new TextureManager(NULL, |
| 120 feature_info_.get(), | 120 feature_info_.get(), |
| 121 kMaxTextureSize, | 121 kMaxTextureSize, |
| 122 kMaxCubemapSize, | 122 kMaxCubemapSize, |
| 123 kMaxRectangleTextureSize, | 123 kMaxRectangleTextureSize, |
| (...skipping 29 matching lines...) Expand all Loading... |
| 153 FramebufferManager manager_; | 153 FramebufferManager manager_; |
| 154 Framebuffer* framebuffer_; | 154 Framebuffer* framebuffer_; |
| 155 scoped_refptr<FeatureInfo> feature_info_; | 155 scoped_refptr<FeatureInfo> feature_info_; |
| 156 scoped_ptr<TextureManager> texture_manager_; | 156 scoped_ptr<TextureManager> texture_manager_; |
| 157 scoped_ptr<RenderbufferManager> renderbuffer_manager_; | 157 scoped_ptr<RenderbufferManager> renderbuffer_manager_; |
| 158 scoped_ptr<MockErrorState> error_state_; | 158 scoped_ptr<MockErrorState> error_state_; |
| 159 }; | 159 }; |
| 160 | 160 |
| 161 class FramebufferInfoTest : public FramebufferInfoTestBase { | 161 class FramebufferInfoTest : public FramebufferInfoTestBase { |
| 162 public: | 162 public: |
| 163 FramebufferInfoTest() | 163 FramebufferInfoTest() : FramebufferInfoTestBase(CONTEXT_TYPE_OPENGLES2) {} |
| 164 : FramebufferInfoTestBase(ContextGroup::CONTEXT_TYPE_UNDEFINED) { | |
| 165 } | |
| 166 }; | 164 }; |
| 167 | 165 |
| 168 // GCC requires these declarations, but MSVC requires they not be present | 166 // GCC requires these declarations, but MSVC requires they not be present |
| 169 #ifndef COMPILER_MSVC | 167 #ifndef COMPILER_MSVC |
| 170 const GLuint FramebufferInfoTestBase::kClient1Id; | 168 const GLuint FramebufferInfoTestBase::kClient1Id; |
| 171 const GLuint FramebufferInfoTestBase::kService1Id; | 169 const GLuint FramebufferInfoTestBase::kService1Id; |
| 172 #endif | 170 #endif |
| 173 | 171 |
| 174 TEST_F(FramebufferInfoTest, Basic) { | 172 TEST_F(FramebufferInfoTest, Basic) { |
| 175 EXPECT_EQ(kService1Id, framebuffer_->service_id()); | 173 EXPECT_EQ(kService1Id, framebuffer_->service_id()); |
| (...skipping 722 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 898 GL_NO_ERROR); | 896 GL_NO_ERROR); |
| 899 framebuffer_->GetStatus(texture_manager_.get(), GL_READ_FRAMEBUFFER); | 897 framebuffer_->GetStatus(texture_manager_.get(), GL_READ_FRAMEBUFFER); |
| 900 | 898 |
| 901 // Check Unbinding does not call CheckFramebufferStatus | 899 // Check Unbinding does not call CheckFramebufferStatus |
| 902 framebuffer_->UnbindRenderbuffer(GL_RENDERBUFFER, renderbuffer1); | 900 framebuffer_->UnbindRenderbuffer(GL_RENDERBUFFER, renderbuffer1); |
| 903 framebuffer_->GetStatus(texture_manager_.get(), GL_READ_FRAMEBUFFER); | 901 framebuffer_->GetStatus(texture_manager_.get(), GL_READ_FRAMEBUFFER); |
| 904 } | 902 } |
| 905 | 903 |
| 906 class FramebufferInfoES3Test : public FramebufferInfoTestBase { | 904 class FramebufferInfoES3Test : public FramebufferInfoTestBase { |
| 907 public: | 905 public: |
| 908 FramebufferInfoES3Test() | 906 FramebufferInfoES3Test() : FramebufferInfoTestBase(CONTEXT_TYPE_WEBGL2) {} |
| 909 : FramebufferInfoTestBase(ContextGroup::CONTEXT_TYPE_WEBGL2) { | |
| 910 } | |
| 911 }; | 907 }; |
| 912 | 908 |
| 913 TEST_F(FramebufferInfoES3Test, DifferentDimensions) { | 909 TEST_F(FramebufferInfoES3Test, DifferentDimensions) { |
| 914 const GLuint kRenderbufferClient1Id = 33; | 910 const GLuint kRenderbufferClient1Id = 33; |
| 915 const GLuint kRenderbufferService1Id = 333; | 911 const GLuint kRenderbufferService1Id = 333; |
| 916 const GLuint kRenderbufferClient2Id = 34; | 912 const GLuint kRenderbufferClient2Id = 34; |
| 917 const GLuint kRenderbufferService2Id = 334; | 913 const GLuint kRenderbufferService2Id = 334; |
| 918 const GLsizei kWidth1 = 16; | 914 const GLsizei kWidth1 = 16; |
| 919 const GLsizei kHeight1 = 32; | 915 const GLsizei kHeight1 = 32; |
| 920 const GLenum kFormat1 = GL_RGBA4; | 916 const GLenum kFormat1 = GL_RGBA4; |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 971 renderbuffer_manager_->GetRenderbuffer(kRenderbufferClientId); | 967 renderbuffer_manager_->GetRenderbuffer(kRenderbufferClientId); |
| 972 ASSERT_TRUE(renderbuffer != NULL); | 968 ASSERT_TRUE(renderbuffer != NULL); |
| 973 framebuffer_->AttachRenderbuffer(GL_COLOR_ATTACHMENT1, renderbuffer); | 969 framebuffer_->AttachRenderbuffer(GL_COLOR_ATTACHMENT1, renderbuffer); |
| 974 EXPECT_TRUE(framebuffer_->GetReadBufferAttachment()); | 970 EXPECT_TRUE(framebuffer_->GetReadBufferAttachment()); |
| 975 } | 971 } |
| 976 | 972 |
| 977 } // namespace gles2 | 973 } // namespace gles2 |
| 978 } // namespace gpu | 974 } // namespace gpu |
| 979 | 975 |
| 980 | 976 |
| OLD | NEW |