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

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

Issue 1325433003: command_buffer: Add support for creating non-WebGL ES 3 contexts (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: missing hunk Created 5 years, 3 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 "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
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
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
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
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
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
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/framebuffer_manager.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