Go to file
reed 320a40d773 Always return ImageShader, even from SkShader::MakeBitmapShader
Lessons learned

1. ImageShader (correctly) always compresses (typically via PNG) during serialization. This has the surprise results of
- if the image was marked opaque, but has some non-opaque pixels (i.e. bug in blitter or caller), then compressing may "fix" those pixels, making the deserialized version draw differently. bug filed.
- 565 compressess/decompresses to 8888 (at least on Mac), which draws differently (esp. under some filters). bug filed.

2. BitmapShader did not enforce a copy for mutable bitmaps, but ImageShader does (since it creates an Image). Thus the former would see subsequent changes to the pixels after shader creation, while the latter does not, hence the change to the BlitRow test to avoid this modify-after-create pattern. I sure hope this prev. behavior was a bug/undefined-behavior, since this CL changes that.

BUG=skia:5595
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2195893002

Review-Url: https://codereview.chromium.org/2195893002
2016-08-02 06:12:06 -07:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench SkRasterPipeline: new APIs for fusion 2016-07-29 14:27:41 -07:00
bin Pick the right download tool for windows. 2016-08-01 12:26:51 -07:00
build_overrides GN 2016-06-23 10:29:30 -07:00
cmake Move SkJSONCPP.h to tools. It tool-only. 2016-07-26 12:41:27 -07:00
debugger Remove some ancillary users of SkSurface::MakeRenderTargetDirect 2016-08-01 05:53:23 -07:00
dm Fix various SkColorSpace bugs 2016-07-29 08:58:33 -07:00
example Remove some ancillary users of SkSurface::MakeRenderTargetDirect 2016-08-01 05:53:23 -07:00
experimental Remove some ancillary users of SkSurface::MakeRenderTargetDirect 2016-08-01 05:53:23 -07:00
fuzz Port FuzzPathop from chromium 2016-07-19 16:50:03 -07:00
gm adding new GM to demostrate new shadows 2016-08-01 10:02:31 -07:00
gn GN: only include headers in echo_headers.py 2016-08-01 10:39:10 -07:00
gyp GrFP can express distance vector field req., program builder declares variable for it 2016-08-01 11:01:56 -07:00
include Always return ImageShader, even from SkShader::MakeBitmapShader 2016-08-02 06:12:06 -07:00
infra Roll recipe DEPS 2016-08-02 05:11:16 -07:00
platform_tools Update documents/scripts for SampleApp removal 2016-07-12 09:12:39 -07:00
resources Fix various SkColorSpace bugs 2016-07-29 08:58:33 -07:00
samplecode Always return ImageShader, even from SkShader::MakeBitmapShader 2016-08-02 06:12:06 -07:00
site Docs: ooops, debug is the default in GN. 2016-07-30 07:50:15 -07:00
src Always return ImageShader, even from SkShader::MakeBitmapShader 2016-08-02 06:12:06 -07:00
tests Always return ImageShader, even from SkShader::MakeBitmapShader 2016-08-02 06:12:06 -07:00
third_party GN: add some missing SkCodec defines 2016-08-01 15:50:27 -07:00
tools Always return ImageShader, even from SkShader::MakeBitmapShader 2016-08-02 06:12:06 -07:00
.gitignore Move Skia recipes from build repo 2016-07-26 11:52:17 -07:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS SkPDF: Use type 2/3 shading for gradient shaders 2016-06-17 12:38:54 -07:00
BUILD.gn GN: add some missing SkCodec defines 2016-08-01 15:50:27 -07:00
codereview.settings Automatically add a docs preview link and NOTRY=true when there are only docs changes. 2015-02-26 10:16:13 -08:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS DEPS: sfntly 468cad5 → b18b09b 2016-07-27 12:28:56 -07:00
Doxyfile Documentation: SkCanvas API 2015-05-19 10:21:29 -07:00
gyp_skia Make Win runtime DLLs writeable before overwriting 2016-03-18 08:33:38 -07:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE Include resources directory in google3 sync. 2015-10-20 13:00:48 -07:00
make.bat Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
make.py GYP: remove stale skia_scalar gyp variable 2015-11-10 13:25:12 -05:00
Makefile Add visualbench as valid target to Makefile 2015-12-18 08:05:06 -08:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py Only run recipe simulation tests if infra/ changes. 2016-07-27 04:14:07 -07:00
public.bzl Update public.bzl based on internal cl/128616707. 2016-07-28 15:12:21 -07:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
skia.gyp Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
whitespace.txt Trigger bots and upload images to Gold 2016-07-21 05:38:49 -07:00

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

See full details, and build instructions, at https://skia.org.