Index: src/gpu/GrReorderCommandBuilder.cpp |
diff --git a/src/gpu/GrReorderCommandBuilder.cpp b/src/gpu/GrReorderCommandBuilder.cpp |
index 4dc2201325852ef2f415d7958caea161356ce4f1..151b516deed64aa2f8eaf58f232a0f1f031ed762 100644 |
--- a/src/gpu/GrReorderCommandBuilder.cpp |
+++ b/src/gpu/GrReorderCommandBuilder.cpp |
@@ -47,6 +47,11 @@ GrTargetCommands::Cmd* GrReorderCommandBuilder::recordDrawBatch(State* state, Gr |
} else if (Cmd::kClear_CmdType == reverseIter->type()) { |
Clear* previous = static_cast<Clear*>(reverseIter.get()); |
+ // We cannot continue to search backwards if the render target changes |
+ if (previous->renderTarget() != rt) { |
+ break; |
+ } |
+ |
// We set the color to illegal if we are doing a discard. |
// If we can ignore the rect, then we do a full clear |
if (previous->fColor == GrColor_ILLEGAL || |