bool CCQuadCuller::append(PassOwnPtr<CCDrawQuad> passDrawQuad) { ASSERT(passDrawQuad->sharedQuadState() == m_currentSharedQuadState); ASSERT(passDrawQuad->sharedQuadStateId() == m_currentSharedQuadState->id); ASSERT(!m_sharedQuadStateList.isEmpty()); ASSERT(m_sharedQuadStateList.last().get() == m_currentSharedQuadState); IntRect culledRect; bool hasOcclusionFromOutsideTargetSurface; if (m_forSurface) culledRect = m_occlusionTracker->unoccludedContributingSurfaceContentRect(m_layer, false, passDrawQuad->quadRect(), &hasOcclusionFromOutsideTargetSurface); else culledRect = m_occlusionTracker->unoccludedContentRect(m_layer, passDrawQuad->quadRect(), &hasOcclusionFromOutsideTargetSurface); m_hasOcclusionFromOutsideTargetSurface |= hasOcclusionFromOutsideTargetSurface; return appendQuadInternal(passDrawQuad, culledRect, m_quadList, *m_occlusionTracker, m_showCullingWithDebugBorderQuads); }
bool CCQuadCuller::appendSurface(PassOwnPtr<CCDrawQuad> passDrawQuad) { IntRect culledRect = m_occlusionTracker->unoccludedContributingSurfaceContentRect(m_layer->renderSurface(), false, passDrawQuad->quadRect()); return appendQuadInternal(passDrawQuad, culledRect, m_quadList, *m_occlusionTracker, m_showCullingWithDebugBorderQuads); }