94fd66cc25
my tests run ~14% faster. - Split out gradient shaders from image shaders. new compilation unit: SkPDFGradientShader - Common functions InverseTransformBBox and PopulateTilingPatternDict moved to SkPDFUtils - Split SkPDFShader::State into image and gradient structures. - SkPDFCanon is now a simpler structure, with no logic of its own. I am considering just moving all of its fields into SkPDFDocument - SkPDFShader::State (the image/fallback shader) now is POD, making the use of a hashmap for canonicalization straightforward. Formerly, we used a linear search. - Do not bother trying to canonicalize the falback image shader. - SkPDFGradientShader::Key is not POD; comparison of two objects requires looking at the contents of two variable-sized arrays. We now pre-calculate the hash of the arrays using SkOpts::hash and store a hash for the object in the fHash field. Using that hash, we can now canonicalize using a hashmap instead of a linar search! - several static functions renamed to follow style guidelines - stop using codeFunction function pointer; I find that less clear than it could be. - operator==() for SkPDFShader::State and SkPDFGradientShader::Key is now much simpler and can now be inlined. - SkArrayEqual template in SkPDFUtils.h No change to PDF output. BUG=skia:3585 Change-Id: I354ad1b600be6d6749abccb58d13db257370bc0b Reviewed-on: https://skia-review.googlesource.com/21376 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com> |
||
---|---|---|
.. | ||
toolchain | ||
__init__.py | ||
android_framework_defines.gni | ||
ar.py | ||
bench.gni | ||
BUILD.gn | ||
BUILDCONFIG.gn | ||
compile_processors.py | ||
core.gni | ||
cp.py | ||
effects.gni | ||
find_headers.py | ||
find_ios_sysroot.py | ||
gm.gni | ||
gn_helpers.py | ||
gn_meta_sln.py | ||
gn_to_bp.py | ||
gn_to_cmake.py | ||
gpu.gni | ||
gypi_to_gn.py | ||
is_clang.py | ||
opts.gni | ||
package_ios.py | ||
pdf.gni | ||
push_to_android.py | ||
samples.gni | ||
shared_sources.gni | ||
sksl.gni | ||
tests.gni | ||
utils.gni | ||
xps.gni |