Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(193)

Issue 139093003: Collapse matrix & clip stack in PictureRecord (Closed)

Created:
6 years, 11 months ago by robertphillips
Modified:
6 years, 8 months ago
Reviewers:
bsalomon, reed1
CC:
skia-review_googlegroups.com
Visibility:
Public.

Description

This patch is not ready to be committed but I would like feedback before I push further. This patch starts the ball rolling for: 1) collect clips in a form that the gpu can use to precompute alpha masks earlier. This patch re-emits the entire clip stack whenever it is needed, replacing the first operation with a replace. Ultimately we will want to output some other aggregate clip operation. 2) collapse the matrix and clip state to simplify the state hierarchy This patch collapses all matrix calls to a setMatrix and all clips to big blocks of clips. We will need some other entry point besides setMatrix and currently we still need to fall back to SkCanvas due to the semantics of the clip calls (i.e., they return if the clip isn't empty). 3) Reformulate the clips in a way suitable for Shape Ops processing Probably want some aggregate clip object that will be easier to handle. 4) Don't fold the matrix into the clip geometry too soon This is a request from the nVidia guys. When we fold the matrix into the geometry we prevent them from just passing it on as is to the NVPR extension. Moving forward we will probably have to: Alter the canvas clip* call contracts so we don't have to return the clip's status. This would also be a big step towards moving the clip region computation out of SkCanvas. Make SkCanvas::getSaveCount virtual so we don't need to call the base class' methods.

Patch Set 1 #

Patch Set 2 : update to ToT #

Unified diffs Side-by-side diffs Delta from patch set Stats (+766 lines, -60 lines) Patch
M gyp/tests.gyp View 1 2 chunks +8 lines, -0 lines 0 comments Download
M src/core/SkPictureRecord.h View 1 7 chunks +310 lines, -3 lines 0 comments Download
M src/core/SkPictureRecord.cpp View 1 32 chunks +448 lines, -57 lines 0 comments Download

Messages

Total messages: 1 (0 generated)
robertphillips
6 years, 11 months ago (2014-01-21 19:47:18 UTC) #1

          

Powered by Google App Engine
This is Rietveld 408576698