updateLayerPositions(visibleRect);
// For now, we render layers only if the rendering mode
// is kAllTextures or kClippedTextures
- if (m_state->layersRenderingMode() < GLWebViewState::kScrollableAndFixedLayers
- && compositedRoot->drawGL()) {
+ if (compositedRoot->drawGL()) {
if (TilesManager::instance()->layerTexturesRemain()) {
// only try redrawing for layers if layer textures remain,
// otherwise we'll repaint without getting anything done
if (nbTexturesNeeded.full < maxTextures)
m_layersRenderingMode = kAllTextures;
+ if (!maxTextures && !nbTexturesNeeded.full)
+ m_layersRenderingMode = kAllTextures;
+
if (m_layersRenderingMode < layersRenderingMode
&& m_layersRenderingMode != kAllTextures)
invalBase = true;
bool askScreenUpdate = false;
- if (m_texture)
- askScreenUpdate |= m_texture->draw();
+ if (m_state->layersRenderingMode() < GLWebViewState::kScrollableAndFixedLayers) {
+ if (m_texture)
+ askScreenUpdate |= m_texture->draw();
- if (m_imageTexture)
- m_imageTexture->drawGL(this);
+ if (m_imageTexture)
+ m_imageTexture->drawGL(this);
+ }
// When the layer is dirty, the UI thread should be notified to redraw.
askScreenUpdate |= drawChildrenGL();