diff options
author | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-02-27 17:40:13 +0000 |
---|---|---|
committer | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-02-27 17:40:13 +0000 |
commit | 210ae2a42613b9048e8e8c4096c5bf4fe2ddf838 (patch) | |
tree | c0310de0eed40822a606c9ebcfc0e9ff0b0b0dd3 /debugger | |
parent | 6f954b956fc5c36ebbcac404d93ba9349fb0355f (diff) |
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
Diffstat (limited to 'debugger')
-rw-r--r-- | debugger/QT/SkDebuggerGUI.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/debugger/QT/SkDebuggerGUI.cpp b/debugger/QT/SkDebuggerGUI.cpp index e5bdf9f28e..0311948ea5 100644 --- a/debugger/QT/SkDebuggerGUI.cpp +++ b/debugger/QT/SkDebuggerGUI.cpp @@ -993,7 +993,8 @@ void SkDebuggerGUI::setupListWidget(SkTArray<SkString>* command) { 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 @@ void SkDebuggerGUI::setupListWidget(SkTArray<SkString>* command) { 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; } |