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

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

Issue 18492005: Add GL_EXT_multisampled_render_to_texture support to command buffer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: moved ahead to TOT Created 7 years, 5 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/texture_manager.h" 5 #include "gpu/command_buffer/service/texture_manager.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
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 2215 matching lines...) Expand 10 before | Expand all | Expand 10 after
2226 FramebufferManager framebuffer_manager1(1, 1); 2226 FramebufferManager framebuffer_manager1(1, 1);
2227 texture_manager1_->set_framebuffer_manager(&framebuffer_manager1); 2227 texture_manager1_->set_framebuffer_manager(&framebuffer_manager1);
2228 FramebufferManager framebuffer_manager2(1, 1); 2228 FramebufferManager framebuffer_manager2(1, 1);
2229 texture_manager2_->set_framebuffer_manager(&framebuffer_manager2); 2229 texture_manager2_->set_framebuffer_manager(&framebuffer_manager2);
2230 2230
2231 scoped_refptr<TextureRef> ref1 = texture_manager1_->CreateTexture(10, 10); 2231 scoped_refptr<TextureRef> ref1 = texture_manager1_->CreateTexture(10, 10);
2232 framebuffer_manager1.CreateFramebuffer(10, 10); 2232 framebuffer_manager1.CreateFramebuffer(10, 10);
2233 scoped_refptr<Framebuffer> framebuffer1 = 2233 scoped_refptr<Framebuffer> framebuffer1 =
2234 framebuffer_manager1.GetFramebuffer(10); 2234 framebuffer_manager1.GetFramebuffer(10);
2235 framebuffer1->AttachTexture( 2235 framebuffer1->AttachTexture(
2236 GL_COLOR_ATTACHMENT0, ref1.get(), GL_TEXTURE_2D, 0); 2236 GL_COLOR_ATTACHMENT0, ref1.get(), GL_TEXTURE_2D, 0, 0);
2237 EXPECT_FALSE(framebuffer_manager1.IsComplete(framebuffer1.get())); 2237 EXPECT_FALSE(framebuffer_manager1.IsComplete(framebuffer1.get()));
2238 EXPECT_NE(kCompleteValue, framebuffer1->IsPossiblyComplete()); 2238 EXPECT_NE(kCompleteValue, framebuffer1->IsPossiblyComplete());
2239 2239
2240 // Make FBO complete in manager 1. 2240 // Make FBO complete in manager 1.
2241 texture_manager1_->SetTarget(ref1.get(), GL_TEXTURE_2D); 2241 texture_manager1_->SetTarget(ref1.get(), GL_TEXTURE_2D);
2242 texture_manager1_->SetLevelInfo(ref1.get(), 2242 texture_manager1_->SetLevelInfo(ref1.get(),
2243 GL_TEXTURE_2D, 2243 GL_TEXTURE_2D,
2244 0, 2244 0,
2245 GL_RGBA, 2245 GL_RGBA,
2246 1, 2246 1,
2247 1, 2247 1,
2248 1, 2248 1,
2249 0, 2249 0,
2250 GL_RGBA, 2250 GL_RGBA,
2251 GL_UNSIGNED_BYTE, 2251 GL_UNSIGNED_BYTE,
2252 true); 2252 true);
2253 EXPECT_EQ(kCompleteValue, framebuffer1->IsPossiblyComplete()); 2253 EXPECT_EQ(kCompleteValue, framebuffer1->IsPossiblyComplete());
2254 framebuffer_manager1.MarkAsComplete(framebuffer1.get()); 2254 framebuffer_manager1.MarkAsComplete(framebuffer1.get());
2255 EXPECT_TRUE(framebuffer_manager1.IsComplete(framebuffer1.get())); 2255 EXPECT_TRUE(framebuffer_manager1.IsComplete(framebuffer1.get()));
2256 2256
2257 // Share texture with manager 2. 2257 // Share texture with manager 2.
2258 scoped_refptr<TextureRef> ref2 = 2258 scoped_refptr<TextureRef> ref2 =
2259 texture_manager2_->Consume(20, ref1->texture()); 2259 texture_manager2_->Consume(20, ref1->texture());
2260 framebuffer_manager2.CreateFramebuffer(20, 20); 2260 framebuffer_manager2.CreateFramebuffer(20, 20);
2261 scoped_refptr<Framebuffer> framebuffer2 = 2261 scoped_refptr<Framebuffer> framebuffer2 =
2262 framebuffer_manager2.GetFramebuffer(20); 2262 framebuffer_manager2.GetFramebuffer(20);
2263 framebuffer2->AttachTexture( 2263 framebuffer2->AttachTexture(
2264 GL_COLOR_ATTACHMENT0, ref2.get(), GL_TEXTURE_2D, 0); 2264 GL_COLOR_ATTACHMENT0, ref2.get(), GL_TEXTURE_2D, 0, 0);
2265 EXPECT_FALSE(framebuffer_manager2.IsComplete(framebuffer2.get())); 2265 EXPECT_FALSE(framebuffer_manager2.IsComplete(framebuffer2.get()));
2266 EXPECT_EQ(kCompleteValue, framebuffer2->IsPossiblyComplete()); 2266 EXPECT_EQ(kCompleteValue, framebuffer2->IsPossiblyComplete());
2267 framebuffer_manager2.MarkAsComplete(framebuffer2.get()); 2267 framebuffer_manager2.MarkAsComplete(framebuffer2.get());
2268 EXPECT_TRUE(framebuffer_manager2.IsComplete(framebuffer2.get())); 2268 EXPECT_TRUE(framebuffer_manager2.IsComplete(framebuffer2.get()));
2269 2269
2270 // Change level for texture, both FBOs should be marked incomplete 2270 // Change level for texture, both FBOs should be marked incomplete
2271 texture_manager1_->SetLevelInfo(ref1.get(), 2271 texture_manager1_->SetLevelInfo(ref1.get(),
2272 GL_TEXTURE_2D, 2272 GL_TEXTURE_2D,
2273 0, 2273 0,
2274 GL_RGBA, 2274 GL_RGBA,
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
2344 .Times(1) 2344 .Times(1)
2345 .RetiresOnSaturation(); 2345 .RetiresOnSaturation();
2346 ref2 = NULL; 2346 ref2 = NULL;
2347 texture_manager2_->RemoveTexture(20); 2347 texture_manager2_->RemoveTexture(20);
2348 EXPECT_EQ(initial_memory2, 2348 EXPECT_EQ(initial_memory2,
2349 memory_tracker2_->GetSize(MemoryTracker::kUnmanaged)); 2349 memory_tracker2_->GetSize(MemoryTracker::kUnmanaged));
2350 } 2350 }
2351 2351
2352 } // namespace gles2 2352 } // namespace gles2
2353 } // namespace gpu 2353 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h ('k') | ui/gl/generate_bindings.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698