Culling API
*** SKP format breaking change ***
Adding a couple of culling primitives: pushCull(SkRect) & popCull().
These are currently only plumbed for SKP playback quickreject.
At record time, we perform a couple of optimizations to trim down the
number of redundant culls:
* collapse empty pushCull/popCull pairs
* skip pushCull/popCull pairs nested within an identical cull rect
Things still missing/to consider:
* use an inlineable, simplified quickreject (Mike's old prototype)
* debugger visualization for cull boxes
* BBH integration: the initial prototype had some minimal BBH support,
but since the optimizations required expensive rewinds and culling
is expected to be a BBH alternative, it got dropped.
R=bsalomon@google.com, reed@google.com, robertphillips@google.com, caryclark@google.com, tomhudson@google.com, iancottrell@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/138013009
git-svn-id: http://skia.googlecode.com/svn/trunk@13611 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/debugger/QT/SkDebuggerGUI.cpp b/debugger/QT/SkDebuggerGUI.cpp
index e5bdf9f..0311948 100644
--- a/debugger/QT/SkDebuggerGUI.cpp
+++ b/debugger/QT/SkDebuggerGUI.cpp
@@ -993,7 +993,8 @@
item->setData(Qt::UserRole + 1, counter++);
if (0 == strcmp("Restore", (*command)[i].c_str()) ||
- 0 == strcmp("EndCommentGroup", (*command)[i].c_str())) {
+ 0 == strcmp("EndCommentGroup", (*command)[i].c_str()) ||
+ 0 == strcmp("PopCull", (*command)[i].c_str())) {
indent -= 10;
}
@@ -1001,7 +1002,8 @@
if (0 == strcmp("Save", (*command)[i].c_str()) ||
0 == strcmp("Save Layer", (*command)[i].c_str()) ||
- 0 == strcmp("BeginCommentGroup", (*command)[i].c_str())) {
+ 0 == strcmp("BeginCommentGroup", (*command)[i].c_str()) ||
+ 0 == strcmp("PushCull", (*command)[i].c_str())) {
indent += 10;
}