Index: cc/scheduler_state_machine.h |
diff --git a/cc/scheduler_state_machine.h b/cc/scheduler_state_machine.h |
index eda537fde068a84d5893fbe758714f6d1084abdf..f7ed4eecbb15bfd5545f20d0c99ddf836dc90972 100644 |
--- a/cc/scheduler_state_machine.h |
+++ b/cc/scheduler_state_machine.h |
@@ -63,6 +63,7 @@ public: |
ACTION_ACTIVATE_PENDING_TREE_IF_NEEDED, |
ACTION_DRAW_IF_POSSIBLE, |
ACTION_DRAW_FORCED, |
+ ACTION_CHECK_FOR_NEW_VISIBLE_TEXTURES, |
ACTION_BEGIN_OUTPUT_SURFACE_RECREATION, |
ACTION_ACQUIRE_LAYER_TEXTURES_FOR_MAIN_THREAD, |
}; |
@@ -85,6 +86,10 @@ public: |
// or the screen being damaged and simply needing redisplay. |
void setNeedsRedraw(); |
+ // Indicates that a redraw is required because we are currently rendererd |
+ // with a low resolution or checkerboarded tile. |
+ void setNeedsRedrawOnVisibleTextureUpload(); |
+ |
// As setNeedsRedraw(), but ensures the draw will definitely happen even if |
// we are not visible. |
void setNeedsForcedRedraw(); |
@@ -148,8 +153,10 @@ protected: |
bool shouldDraw() const; |
bool shouldAttemptTreeActivation() const; |
bool shouldAcquireLayerTexturesForMainThread() const; |
+ bool shouldAttemptRedrawOnVisibleTextureUpload() const; |
bool hasDrawnThisFrame() const; |
bool hasAttemptedTreeActivationThisFrame() const; |
+ bool hasAttemptedRedrawOnVisibleTextureUploadThisFrame() const; |
const LayerTreeSettings& m_layerTreeSettings; |
@@ -158,9 +165,11 @@ protected: |
int m_currentFrameNumber; |
int m_lastFrameNumberWhereDrawWasCalled; |
int m_lastFrameNumberWhereTreeActivationAttempted; |
+ int m_lastFrameNumberWhereRedrawOnVisibleTextureUploadAttempted; |
int m_consecutiveFailedDraws; |
int m_maximumNumberOfFailedDrawsBeforeDrawIsForced; |
bool m_needsRedraw; |
+ bool m_needsRedrawOnVisibleTextureUpload; |
bool m_needsForcedRedraw; |
bool m_needsForcedRedrawAfterNextCommit; |
bool m_needsCommit; |