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

Side by Side Diff: Source/platform/graphics/Canvas2DLayerBridge.cpp

Issue 481433002: gpu: Remove WebGraphicsContext3D::makeContextCurrent() in Blink (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase to ToT Created 6 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 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 { 217 {
218 ASSERT(!m_destructionInProgress); 218 ASSERT(!m_destructionInProgress);
219 ASSERT(m_layer); 219 ASSERT(m_layer);
220 if (!checkSurfaceValid()) { 220 if (!checkSurfaceValid()) {
221 if (m_canvas) { 221 if (m_canvas) {
222 // drop pending commands because there is no surface to draw to 222 // drop pending commands because there is no surface to draw to
223 m_canvas->silentFlush(); 223 m_canvas->silentFlush();
224 } 224 }
225 return; 225 return;
226 } 226 }
227 context()->makeContextCurrent();
228 } 227 }
229 228
230 void Canvas2DLayerBridge::storageAllocatedForRecordingChanged(size_t bytesAlloca ted) 229 void Canvas2DLayerBridge::storageAllocatedForRecordingChanged(size_t bytesAlloca ted)
231 { 230 {
232 ASSERT(!m_destructionInProgress); 231 ASSERT(!m_destructionInProgress);
233 intptr_t delta = (intptr_t)bytesAllocated - (intptr_t)m_bytesAllocated; 232 intptr_t delta = (intptr_t)bytesAllocated - (intptr_t)m_bytesAllocated;
234 m_bytesAllocated = bytesAllocated; 233 m_bytesAllocated = bytesAllocated;
235 Canvas2DLayerManager::get().layerTransientResourceAllocationChanged(this, de lta); 234 Canvas2DLayerManager::get().layerTransientResourceAllocationChanged(this, de lta);
236 } 235 }
237 236
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 return false; 402 return false;
404 } 403 }
405 if (!checkSurfaceValid()) 404 if (!checkSurfaceValid())
406 return false; 405 return false;
407 406
408 WebGraphicsContext3D* webContext = context(); 407 WebGraphicsContext3D* webContext = context();
409 408
410 // Release to skia textures that were previouosly released by the 409 // Release to skia textures that were previouosly released by the
411 // compositor. We do this before acquiring the next snapshot in 410 // compositor. We do this before acquiring the next snapshot in
412 // order to cap maximum gpu memory consumption. 411 // order to cap maximum gpu memory consumption.
413 webContext->makeContextCurrent();
414 flush(); 412 flush();
415 413
416 RefPtr<SkImage> image = adoptRef(m_canvas->newImageSnapshot()); 414 RefPtr<SkImage> image = adoptRef(m_canvas->newImageSnapshot());
417 415
418 // Early exit if canvas was not drawn to since last prepareMailbox 416 // Early exit if canvas was not drawn to since last prepareMailbox
419 if (image->uniqueID() == m_lastImageId) 417 if (image->uniqueID() == m_lastImageId)
420 return false; 418 return false;
421 m_lastImageId = image->uniqueID(); 419 m_lastImageId = image->uniqueID();
422 420
423 MailboxInfo* mailboxInfo = createMailboxInfo(); 421 MailboxInfo* mailboxInfo = createMailboxInfo();
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
570 Canvas2DLayerBridge::MailboxInfo::MailboxInfo(const MailboxInfo& other) { 568 Canvas2DLayerBridge::MailboxInfo::MailboxInfo(const MailboxInfo& other) {
571 // This copy constructor should only be used for Vector reallocation 569 // This copy constructor should only be used for Vector reallocation
572 // Assuming 'other' is to be destroyed, we transfer m_image ownership 570 // Assuming 'other' is to be destroyed, we transfer m_image ownership
573 // rather than do a refcount dance. 571 // rather than do a refcount dance.
574 memcpy(&m_mailbox, &other.m_mailbox, sizeof(m_mailbox)); 572 memcpy(&m_mailbox, &other.m_mailbox, sizeof(m_mailbox));
575 m_image = const_cast<MailboxInfo*>(&other)->m_image.release(); 573 m_image = const_cast<MailboxInfo*>(&other)->m_image.release();
576 m_status = other.m_status; 574 m_status = other.m_status;
577 } 575 }
578 576
579 } // namespace blink 577 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/html/canvas/WebGLRenderingContextBase.cpp ('k') | Source/platform/graphics/ImageBuffer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698