Go to file
robertphillips 478dd72336 Fix layer hoisting image filter corner cases
This CL fixes 5 bugs related to hoisting image filters:

For image filters the src layer (the one prior to filtering) often needs to be
smaller then the final layer. This requires the saveLayer's optional bounds
to be stored (in SkLayerInfo.h and SkRecordDraw.cpp) and then used in
compute_source_rect and carried around in GrCachedLayer.

The image filters can add an extra offset to the final draw operation.
This is now computed in GrLayerHoister::FilterLayer and  carried around in
GrCachedLayer.

Filtered layers must use exact matches. This is now done in GrLayerCache::lock.

The filter cache requires a valid matrix so it can compute the correct offset.
This is now done in GrLayerHoister::FilterLayer.

Filtered layers need to be drawn with drawSprite while unfiltered (and therefore
hopefully atlased) layers can be drawn with drawBitmap. This is now done in
draw_replacement_bitmap.

Committed: https://skia.googlesource.com/skia/+/702eb9622102599d94ab6798e6227cf29f48c2d3

Review URL: https://codereview.chromium.org/803183003
2014-12-16 08:25:55 -08:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench fix last warnings on w64 and turn on w.a.e. 2014-12-15 09:13:35 -08:00
bin Don't count a leading 1 as a signficant digit in the ratio. 2014-11-24 17:44:23 -05:00
debugger Cull pushCull and popCull from Skia. 2014-12-12 08:46:25 -08:00
dm Add more filetypes to DM's image tests. 2014-12-15 08:53:35 -08:00
docs Remove references to out/Debug/tests executable. 2014-10-09 08:56:55 -07:00
expectations rebase gms and update ignore 2014-12-15 17:42:43 -08:00
experimental Delete old bench expectation code. 2014-12-15 13:17:01 -08:00
forth Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
gm Fix layer hoisting image filter corner cases 2014-12-16 08:25:55 -08:00
gyp Rename GrGpuGL_program.cpp to GrGLGpuProgramCache.cpp 2014-12-16 08:13:53 -08:00
include add sample for arcTo 2014-12-16 08:07:43 -08:00
platform_tools Pass gyp_source_dir to generate_tool. 2014-12-12 09:01:56 -08:00
resources Remove PDF JPEG shortcut, since it fails on grayscale JPEGs. 2014-12-02 06:37:21 -08:00
samplecode add sample for arcTo 2014-12-16 08:07:43 -08:00
src Fix layer hoisting image filter corner cases 2014-12-16 08:25:55 -08:00
tests Fix layer hoisting image filter corner cases 2014-12-16 08:25:55 -08:00
third_party DM warning-free on win64 2014-12-12 16:41:46 -08:00
tools skimage, die die die 2014-12-15 12:47:52 -08:00
trybots_to_run/chrome Deleting the hardcoded list of compile bots in trybots_to_run. 2013-04-09 11:59:42 +00:00
.gitignore Cleanup: Remove bug_chomper entry from .gitignore. 2014-11-24 17:53:55 -08:00
AUTHORS Revert of Revert of Add gpu support for Apple specific 'Vertex Arrays' functions (patchset #1 id:1 of https://codereview.chromium.org/750973003/) 2014-11-24 11:22:37 -08:00
codereview.settings Add Project to skia 2014-06-20 09:39:15 -07:00
CONTRIBUTING Add CONTRIBUTING file 2014-01-13 15:06:26 +00:00
CQ_COMMITTERS Add Herb as a Skia committer 2014-12-12 12:37:28 -08:00
DEPS Revert of Roll libwebp to v0.4.2 (latest stable) to fix annoying build warning. (patchset #1 id:1 of https://codereview.chromium.org/807553002/) 2014-12-15 12:23:00 -08:00
Doxyfile Fix links to skia-buildbot code in preparation for deletion 2014-10-14 04:44:44 -07:00
gyp_skia allow caller to override the default output directory for gyp 2014-09-29 11:42:25 -07:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE Manually update copyright notices in files that defied the automated process 2011-07-28 14:24:55 +00:00
make.bat Link to skiadocs site, since that is the canonical location for documentation. 2014-10-13 17:56:30 -03:00
make.py Fix reference to non-existant 'tests' target. 2014-10-13 17:51:57 -03:00
Makefile Update LSAN suppressions. 2014-08-29 07:55:35 -07:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py PRESUBMIT should only check owners for the top level include directory 2014-08-26 14:00:55 -07:00
README Point to skiadocs in our README. 2014-05-09 04:30:09 +00:00
README.chromium add root files from chrome 2013-08-13 19:11:15 +00:00
skia.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
SKP_VERSION Update SKP version 2014-12-15 11:09:05 -08:00
whitespace.txt Whitespace change to see how the Android bots behave 2014-10-30 05:52:17 -07:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://sites.google.com/site/skiadocs/home