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

Side by Side Diff: cc/CCRendererGLTest.cpp

Issue 11048044: cc: Switch to Chromium DCHECKs and LOGs (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 2 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 "config.h" 5 #include "config.h"
6 #include "CCRendererGL.h" 6 #include "CCRendererGL.h"
7 7
8 #include "CCDrawQuad.h" 8 #include "CCDrawQuad.h"
9 #include "CCPrioritizedTextureManager.h" 9 #include "CCPrioritizedTextureManager.h"
10 #include "CCResourceProvider.h" 10 #include "CCResourceProvider.h"
(...skipping 25 matching lines...) Expand all
36 { 36 {
37 if (name == GraphicsContext3D::EXTENSIONS) 37 if (name == GraphicsContext3D::EXTENSIONS)
38 return WebString("GL_CHROMIUM_set_visibility GL_CHROMIUM_gpu_memory_ manager GL_CHROMIUM_discard_framebuffer"); 38 return WebString("GL_CHROMIUM_set_visibility GL_CHROMIUM_gpu_memory_ manager GL_CHROMIUM_discard_framebuffer");
39 return WebString(); 39 return WebString();
40 } 40 }
41 41
42 // Methods added for test. 42 // Methods added for test.
43 int frameCount() { return m_frame; } 43 int frameCount() { return m_frame; }
44 void setMemoryAllocation(WebGraphicsMemoryAllocation allocation) 44 void setMemoryAllocation(WebGraphicsMemoryAllocation allocation)
45 { 45 {
46 ASSERT(CCProxy::isImplThread()); 46 DCHECK(CCProxy::isImplThread());
47 // In single threaded mode we expect this callback on main thread. 47 // In single threaded mode we expect this callback on main thread.
48 DebugScopedSetMainThread main; 48 DebugScopedSetMainThread main;
49 m_memoryAllocationChangedCallback->onMemoryAllocationChanged(allocation) ; 49 m_memoryAllocationChangedCallback->onMemoryAllocationChanged(allocation) ;
50 } 50 }
51 51
52 private: 52 private:
53 int m_frame; 53 int m_frame;
54 WebGraphicsMemoryAllocationChangedCallbackCHROMIUM* m_memoryAllocationChange dCallback; 54 WebGraphicsMemoryAllocationChangedCallbackCHROMIUM* m_memoryAllocationChange dCallback;
55 }; 55 };
56 56
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 { 244 {
245 if (pname == GraphicsContext3D::MAX_TEXTURE_SIZE) 245 if (pname == GraphicsContext3D::MAX_TEXTURE_SIZE)
246 *value = 1024; // MAX_TEXTURE_SIZE is cached client side, so it's OK to query. 246 *value = 1024; // MAX_TEXTURE_SIZE is cached client side, so it's OK to query.
247 else 247 else
248 ADD_FAILURE(); 248 ADD_FAILURE();
249 } 249 }
250 250
251 // We allow querying the shader compilation and program link status in debug mode, but not release. 251 // We allow querying the shader compilation and program link status in debug mode, but not release.
252 virtual void getProgramiv(WebGLId program, WGC3Denum pname, WGC3Dint* value) 252 virtual void getProgramiv(WebGLId program, WGC3Denum pname, WGC3Dint* value)
253 { 253 {
254 #ifndef NDEBUG 254 if (DCHECK_IS_ON())
255 *value = 1; 255 *value = 1;
256 #else 256 else
257 ADD_FAILURE(); 257 ADD_FAILURE();
258 #endif
259 } 258 }
260 259
261 virtual void getShaderiv(WebGLId shader, WGC3Denum pname, WGC3Dint* value) 260 virtual void getShaderiv(WebGLId shader, WGC3Denum pname, WGC3Dint* value)
262 { 261 {
263 #ifndef NDEBUG 262 if (DCHECK_IS_ON())
264 *value = 1; 263 *value = 1;
265 #else 264 else
266 ADD_FAILURE(); 265 ADD_FAILURE();
267 #endif
268 } 266 }
269 267
270 virtual WebString getString(WGC3Denum name) 268 virtual WebString getString(WGC3Denum name)
271 { 269 {
272 // We allow querying the extension string. 270 // We allow querying the extension string.
273 // FIXME: It'd be better to check that we only do this before starting a ny other expensive work (like starting a compilation) 271 // FIXME: It'd be better to check that we only do this before starting a ny other expensive work (like starting a compilation)
274 if (name != GraphicsContext3D::EXTENSIONS) 272 if (name != GraphicsContext3D::EXTENSIONS)
275 ADD_FAILURE(); 273 ADD_FAILURE();
276 return WebString(); 274 return WebString();
277 } 275 }
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 FakeCCRendererGL renderer(&mockClient, resourceProvider.get()); 394 FakeCCRendererGL renderer(&mockClient, resourceProvider.get());
397 395
398 mockClient.rootRenderPass()->setHasTransparentBackground(false); 396 mockClient.rootRenderPass()->setHasTransparentBackground(false);
399 397
400 EXPECT_TRUE(renderer.initialize()); 398 EXPECT_TRUE(renderer.initialize());
401 399
402 renderer.drawFrame(mockClient.renderPassesInDrawOrder(), mockClient.renderPa sses()); 400 renderer.drawFrame(mockClient.renderPassesInDrawOrder(), mockClient.renderPa sses());
403 401
404 // On DEBUG builds, render passes with opaque background clear to blue to 402 // On DEBUG builds, render passes with opaque background clear to blue to
405 // easily see regions that were not drawn on the screen. 403 // easily see regions that were not drawn on the screen.
406 #if defined(NDEBUG) 404 if (!DCHECK_IS_ON())
407 EXPECT_EQ(0, context->clearCount()); 405 EXPECT_EQ(0, context->clearCount());
408 #else 406 else
409 EXPECT_EQ(1, context->clearCount()); 407 EXPECT_EQ(1, context->clearCount());
410 #endif
411 } 408 }
412 409
413 TEST(CCRendererGLTest2, transparentBackground) 410 TEST(CCRendererGLTest2, transparentBackground)
414 { 411 {
415 FakeCCRendererClient mockClient; 412 FakeCCRendererClient mockClient;
416 scoped_ptr<CCGraphicsContext> ccContext(FakeWebCompositorOutputSurface::crea te(adoptPtr(new ClearCountingContext))); 413 scoped_ptr<CCGraphicsContext> ccContext(FakeWebCompositorOutputSurface::crea te(adoptPtr(new ClearCountingContext)));
417 ClearCountingContext* context = static_cast<ClearCountingContext*>(ccContext ->context3D()); 414 ClearCountingContext* context = static_cast<ClearCountingContext*>(ccContext ->context3D());
418 OwnPtr<CCResourceProvider> resourceProvider(CCResourceProvider::create(ccCon text.get())); 415 OwnPtr<CCResourceProvider> resourceProvider(CCResourceProvider::create(ccCon text.get()));
419 FakeCCRendererGL renderer(&mockClient, resourceProvider.get()); 416 FakeCCRendererGL renderer(&mockClient, resourceProvider.get());
420 417
421 mockClient.rootRenderPass()->setHasTransparentBackground(true); 418 mockClient.rootRenderPass()->setHasTransparentBackground(true);
422 419
423 EXPECT_TRUE(renderer.initialize()); 420 EXPECT_TRUE(renderer.initialize());
424 421
425 renderer.drawFrame(mockClient.renderPassesInDrawOrder(), mockClient.renderPa sses()); 422 renderer.drawFrame(mockClient.renderPassesInDrawOrder(), mockClient.renderPa sses());
426 423
427 EXPECT_EQ(1, context->clearCount()); 424 EXPECT_EQ(1, context->clearCount());
428 } 425 }
OLDNEW
« cc/CCCompletionEvent.h ('K') | « cc/CCRendererGL.cpp ('k') | cc/CCRendererSoftware.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698