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

Unified Diff: Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp

Issue 7631029: Merge 91736 - Source/WebCore: Removed support for the GL_latch_CHROMIUM extension which Chromium ... (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/835/
Patch Set: Created 9 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h ('k') | Source/WebKit/chromium/ChangeLog » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
===================================================================
--- Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp (revision 93242)
+++ Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp (working copy)
@@ -147,14 +147,12 @@
, m_offscreenFramebufferId(0)
, m_compositeOffscreen(false)
, m_context(context)
- , m_contextSupportsLatch(false)
, m_contextSupportsTextureFormatBGRA(false)
, m_contextSupportsReadFormatBGRA(false)
, m_animating(false)
, m_defaultRenderSurface(0)
{
WebCore::Extensions3D* extensions = m_context->getExtensions();
- m_contextSupportsLatch = extensions->supports("GL_CHROMIUM_latch");
m_contextSupportsMapSub = extensions->supports("GL_CHROMIUM_map_sub");
if (m_contextSupportsMapSub)
extensions->ensureEnabled("GL_CHROMIUM_map_sub");
@@ -300,24 +298,15 @@
ASSERT(m_hardwareCompositing);
ASSERT(m_computedRenderSurfaceLayerList);
// Before drawLayers:
- if (hardwareCompositing() && m_contextSupportsLatch) {
+ if (hardwareCompositing()) {
// FIXME: The multithreaded compositor case will not work as long as
// copyTexImage2D resolves to the parent texture, because the main
// thread can execute WebGL calls on the child context at any time,
// potentially clobbering the parent texture that is being renderered
// by the compositor thread.
- Extensions3DChromium* parentExt = static_cast<Extensions3DChromium*>(m_context->getExtensions());
- // For each child context:
- // glWaitLatch(Offscreen->Compositor);
ChildContextMap::iterator i = m_childContexts.begin();
for (; i != m_childContexts.end(); ++i) {
- Extensions3DChromium* childExt = static_cast<Extensions3DChromium*>(i->first->getExtensions());
- if (childExt->getGraphicsResetStatusARB() == GraphicsContext3D::NO_ERROR) {
- GC3Duint childToParentLatchId;
- childExt->getChildToParentLatchCHROMIUM(&childToParentLatchId);
- childExt->setLatchCHROMIUM(childToParentLatchId);
- parentExt->waitLatchCHROMIUM(childToParentLatchId);
- }
+ i->first->flush();
}
}
@@ -332,23 +321,6 @@
else
m_renderSurfaceTextureManager->reduceMemoryToLimit(0);
- // After drawLayers:
- if (hardwareCompositing() && m_contextSupportsLatch) {
- Extensions3DChromium* parentExt = static_cast<Extensions3DChromium*>(m_context->getExtensions());
- // For each child context:
- // glSetLatch(Compositor->Offscreen);
- ChildContextMap::iterator i = m_childContexts.begin();
- for (; i != m_childContexts.end(); ++i) {
- Extensions3DChromium* childExt = static_cast<Extensions3DChromium*>(i->first->getExtensions());
- if (childExt->getGraphicsResetStatusARB() == GraphicsContext3D::NO_ERROR) {
- GC3Duint parentToChildLatchId;
- childExt->getParentToChildLatchCHROMIUM(&parentToChildLatchId);
- parentExt->setLatchCHROMIUM(parentToChildLatchId);
- childExt->waitLatchCHROMIUM(parentToChildLatchId);
- }
- }
- }
-
if (isCompositingOffscreen())
copyOffscreenTextureToDisplay();
}
@@ -1369,9 +1341,6 @@
void LayerRendererChromium::addChildContext(GraphicsContext3D* ctx)
{
- if (!ctx->getExtensions()->supports("GL_CHROMIUM_latch"))
- return;
-
// This is a ref-counting map, because some contexts are shared by multiple
// layers (specifically, Canvas2DLayerChromium).
@@ -1394,9 +1363,6 @@
void LayerRendererChromium::removeChildContext(GraphicsContext3D* ctx)
{
- if (!ctx->getExtensions()->supports("GL_CHROMIUM_latch"))
- return;
-
ChildContextMap::iterator i = m_childContexts.find(ctx);
if (i != m_childContexts.end()) {
if (--i->second <= 0) {
« no previous file with comments | « Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h ('k') | Source/WebKit/chromium/ChangeLog » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698