| OLD | NEW |
| 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 | 6 |
| 7 #if USE(ACCELERATED_COMPOSITING) | 7 #if USE(ACCELERATED_COMPOSITING) |
| 8 | 8 |
| 9 #include "CCIOSurfaceLayerImpl.h" | 9 #include "CCIOSurfaceLayerImpl.h" |
| 10 | 10 |
| 11 #include "base/stringprintf.h" |
| 11 #include "CCGraphicsContext.h" | 12 #include "CCGraphicsContext.h" |
| 12 #include "CCIOSurfaceDrawQuad.h" | 13 #include "CCIOSurfaceDrawQuad.h" |
| 13 #include "CCLayerTreeHostImpl.h" | 14 #include "CCLayerTreeHostImpl.h" |
| 14 #include "CCQuadSink.h" | 15 #include "CCQuadSink.h" |
| 15 #include "CCRendererGL.h" // For the GLC() macro. | 16 #include "CCRendererGL.h" // For the GLC() macro. |
| 16 #include "Extensions3D.h" | 17 #include "Extensions3D.h" |
| 17 #include "TextStream.h" | |
| 18 #include <public/WebGraphicsContext3D.h> | 18 #include <public/WebGraphicsContext3D.h> |
| 19 | 19 |
| 20 namespace WebCore { | 20 namespace WebCore { |
| 21 | 21 |
| 22 CCIOSurfaceLayerImpl::CCIOSurfaceLayerImpl(int id) | 22 CCIOSurfaceLayerImpl::CCIOSurfaceLayerImpl(int id) |
| 23 : CCLayerImpl(id) | 23 : CCLayerImpl(id) |
| 24 , m_ioSurfaceId(0) | 24 , m_ioSurfaceId(0) |
| 25 , m_ioSurfaceChanged(false) | 25 , m_ioSurfaceChanged(false) |
| 26 , m_ioSurfaceTextureId(0) | 26 , m_ioSurfaceTextureId(0) |
| 27 { | 27 { |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 | 77 |
| 78 void CCIOSurfaceLayerImpl::appendQuads(CCQuadSink& quadSink, CCAppendQuadsData&
appendQuadsData) | 78 void CCIOSurfaceLayerImpl::appendQuads(CCQuadSink& quadSink, CCAppendQuadsData&
appendQuadsData) |
| 79 { | 79 { |
| 80 CCSharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createShare
dQuadState()); | 80 CCSharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createShare
dQuadState()); |
| 81 appendDebugBorderQuad(quadSink, sharedQuadState, appendQuadsData); | 81 appendDebugBorderQuad(quadSink, sharedQuadState, appendQuadsData); |
| 82 | 82 |
| 83 IntRect quadRect(IntPoint(), contentBounds()); | 83 IntRect quadRect(IntPoint(), contentBounds()); |
| 84 quadSink.append(CCIOSurfaceDrawQuad::create(sharedQuadState, quadRect, m_ioS
urfaceSize, m_ioSurfaceTextureId, CCIOSurfaceDrawQuad::Flipped), appendQuadsData
); | 84 quadSink.append(CCIOSurfaceDrawQuad::create(sharedQuadState, quadRect, m_ioS
urfaceSize, m_ioSurfaceTextureId, CCIOSurfaceDrawQuad::Flipped), appendQuadsData
); |
| 85 } | 85 } |
| 86 | 86 |
| 87 void CCIOSurfaceLayerImpl::dumpLayerProperties(TextStream& ts, int indent) const | 87 void CCIOSurfaceLayerImpl::dumpLayerProperties(std::string* str, int indent) con
st |
| 88 { | 88 { |
| 89 writeIndent(ts, indent); | 89 str->append(indentString(indent)); |
| 90 ts << "iosurface id: " << m_ioSurfaceId << " texture id: " << m_ioSurfaceTex
tureId; | 90 base::StringAppendF(str, "iosurface id: %u texture id: %u\n", m_ioSurfaceId,
m_ioSurfaceTextureId); |
| 91 CCLayerImpl::dumpLayerProperties(ts, indent); | 91 CCLayerImpl::dumpLayerProperties(str, indent); |
| 92 } | 92 } |
| 93 | 93 |
| 94 void CCIOSurfaceLayerImpl::didLoseContext() | 94 void CCIOSurfaceLayerImpl::didLoseContext() |
| 95 { | 95 { |
| 96 // We don't have a valid texture ID in the new context; however, | 96 // We don't have a valid texture ID in the new context; however, |
| 97 // the IOSurface is still valid. | 97 // the IOSurface is still valid. |
| 98 m_ioSurfaceTextureId = 0; | 98 m_ioSurfaceTextureId = 0; |
| 99 m_ioSurfaceChanged = true; | 99 m_ioSurfaceChanged = true; |
| 100 } | 100 } |
| 101 | 101 |
| 102 void CCIOSurfaceLayerImpl::setIOSurfaceProperties(unsigned ioSurfaceId, const In
tSize& size) | 102 void CCIOSurfaceLayerImpl::setIOSurfaceProperties(unsigned ioSurfaceId, const In
tSize& size) |
| 103 { | 103 { |
| 104 if (m_ioSurfaceId != ioSurfaceId) | 104 if (m_ioSurfaceId != ioSurfaceId) |
| 105 m_ioSurfaceChanged = true; | 105 m_ioSurfaceChanged = true; |
| 106 | 106 |
| 107 m_ioSurfaceId = ioSurfaceId; | 107 m_ioSurfaceId = ioSurfaceId; |
| 108 m_ioSurfaceSize = size; | 108 m_ioSurfaceSize = size; |
| 109 } | 109 } |
| 110 } | 110 } |
| 111 | 111 |
| 112 #endif // USE(ACCELERATED_COMPOSITING) | 112 #endif // USE(ACCELERATED_COMPOSITING) |
| OLD | NEW |