| Index: cc/CCIOSurfaceLayerImpl.cpp
|
| diff --git a/cc/CCIOSurfaceLayerImpl.cpp b/cc/CCIOSurfaceLayerImpl.cpp
|
| deleted file mode 100644
|
| index 689a0031cbb816cd4e7516ab0db31dee1c1db649..0000000000000000000000000000000000000000
|
| --- a/cc/CCIOSurfaceLayerImpl.cpp
|
| +++ /dev/null
|
| @@ -1,118 +0,0 @@
|
| -// Copyright 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "config.h"
|
| -
|
| -#if USE(ACCELERATED_COMPOSITING)
|
| -
|
| -#include "CCIOSurfaceLayerImpl.h"
|
| -
|
| -#include "base/stringprintf.h"
|
| -#include "CCGraphicsContext.h"
|
| -#include "CCIOSurfaceDrawQuad.h"
|
| -#include "CCLayerTreeHostImpl.h"
|
| -#include "CCQuadSink.h"
|
| -#include "CCRendererGL.h" // For the GLC() macro.
|
| -#include "Extensions3D.h"
|
| -#include <public/WebGraphicsContext3D.h>
|
| -
|
| -namespace cc {
|
| -
|
| -CCIOSurfaceLayerImpl::CCIOSurfaceLayerImpl(int id)
|
| - : CCLayerImpl(id)
|
| - , m_ioSurfaceId(0)
|
| - , m_ioSurfaceChanged(false)
|
| - , m_ioSurfaceTextureId(0)
|
| -{
|
| -}
|
| -
|
| -CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl()
|
| -{
|
| - if (!m_ioSurfaceTextureId)
|
| - return;
|
| -
|
| - CCGraphicsContext* context = layerTreeHostImpl()->context();
|
| - // FIXME: Implement this path for software compositing.
|
| - WebKit::WebGraphicsContext3D* context3d = context->context3D();
|
| - if (context3d)
|
| - context3d->deleteTexture(m_ioSurfaceTextureId);
|
| -}
|
| -
|
| -void CCIOSurfaceLayerImpl::willDraw(CCResourceProvider* resourceProvider)
|
| -{
|
| - CCLayerImpl::willDraw(resourceProvider);
|
| -
|
| - if (m_ioSurfaceChanged) {
|
| - WebKit::WebGraphicsContext3D* context3d = resourceProvider->graphicsContext3D();
|
| - if (!context3d) {
|
| - // FIXME: Implement this path for software compositing.
|
| - return;
|
| - }
|
| -
|
| - // FIXME: Do this in a way that we can track memory usage.
|
| - if (!m_ioSurfaceTextureId)
|
| - m_ioSurfaceTextureId = context3d->createTexture();
|
| -
|
| - GLC(context3d, context3d->activeTexture(GraphicsContext3D::TEXTURE0));
|
| - GLC(context3d, context3d->bindTexture(Extensions3D::TEXTURE_RECTANGLE_ARB, m_ioSurfaceTextureId));
|
| - GLC(context3d, context3d->texParameteri(Extensions3D::TEXTURE_RECTANGLE_ARB, GraphicsContext3D::TEXTURE_MIN_FILTER, GraphicsContext3D::LINEAR));
|
| - GLC(context3d, context3d->texParameteri(Extensions3D::TEXTURE_RECTANGLE_ARB, GraphicsContext3D::TEXTURE_MAG_FILTER, GraphicsContext3D::LINEAR));
|
| - GLC(context3d, context3d->texParameteri(Extensions3D::TEXTURE_RECTANGLE_ARB, GraphicsContext3D::TEXTURE_WRAP_S, GraphicsContext3D::CLAMP_TO_EDGE));
|
| - GLC(context3d, context3d->texParameteri(Extensions3D::TEXTURE_RECTANGLE_ARB, GraphicsContext3D::TEXTURE_WRAP_T, GraphicsContext3D::CLAMP_TO_EDGE));
|
| - context3d->texImageIOSurface2DCHROMIUM(Extensions3D::TEXTURE_RECTANGLE_ARB,
|
| - m_ioSurfaceSize.width(),
|
| - m_ioSurfaceSize.height(),
|
| - m_ioSurfaceId,
|
| - 0);
|
| - // Do not check for error conditions. texImageIOSurface2DCHROMIUM is supposed to hold on to
|
| - // the last good IOSurface if the new one is already closed. This is only a possibility
|
| - // during live resizing of plugins. However, it seems that this is not sufficient to
|
| - // completely guard against garbage being drawn. If this is found to be a significant issue,
|
| - // it may be necessary to explicitly tell the embedder when to free the surfaces it has
|
| - // allocated.
|
| - m_ioSurfaceChanged = false;
|
| - }
|
| -}
|
| -
|
| -void CCIOSurfaceLayerImpl::appendQuads(CCQuadSink& quadSink, CCAppendQuadsData& appendQuadsData)
|
| -{
|
| - CCSharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createSharedQuadState());
|
| - appendDebugBorderQuad(quadSink, sharedQuadState, appendQuadsData);
|
| -
|
| - IntRect quadRect(IntPoint(), contentBounds());
|
| - quadSink.append(CCIOSurfaceDrawQuad::create(sharedQuadState, quadRect, m_ioSurfaceSize, m_ioSurfaceTextureId, CCIOSurfaceDrawQuad::Flipped).PassAs<CCDrawQuad>(), appendQuadsData);
|
| -}
|
| -
|
| -void CCIOSurfaceLayerImpl::dumpLayerProperties(std::string* str, int indent) const
|
| -{
|
| - str->append(indentString(indent));
|
| - base::StringAppendF(str, "iosurface id: %u texture id: %u\n", m_ioSurfaceId, m_ioSurfaceTextureId);
|
| - CCLayerImpl::dumpLayerProperties(str, indent);
|
| -}
|
| -
|
| -void CCIOSurfaceLayerImpl::didLoseContext()
|
| -{
|
| - // We don't have a valid texture ID in the new context; however,
|
| - // the IOSurface is still valid.
|
| - m_ioSurfaceTextureId = 0;
|
| - m_ioSurfaceChanged = true;
|
| -}
|
| -
|
| -void CCIOSurfaceLayerImpl::setIOSurfaceProperties(unsigned ioSurfaceId, const IntSize& size)
|
| -{
|
| - if (m_ioSurfaceId != ioSurfaceId)
|
| - m_ioSurfaceChanged = true;
|
| -
|
| - m_ioSurfaceId = ioSurfaceId;
|
| - m_ioSurfaceSize = size;
|
| -}
|
| -
|
| -const char* CCIOSurfaceLayerImpl::layerTypeAsString() const
|
| -{
|
| - return "IOSurfaceLayer";
|
| -}
|
| -
|
| -}
|
| -
|
| -#endif // USE(ACCELERATED_COMPOSITING)
|
|
|