Matthew Leibowitz [Sat, 3 Sep 2016 15:23:52 +0000 (17:23 +0200)]
Merge pull request #22 from google/chrome/m54
SkPDF: Glyph validation change
halcanary [Fri, 2 Sep 2016 14:28:17 +0000 (07:28 -0700)]
SkPDF: Glyph validation change
[cherry-pick https://skia.googlesource.com/skia.git/+/4871f22 to m54]
Instead of mapping invaid glyphIDs to zero or maxGlyphID,
don't draw them at all.
Validate glyphs when glyph is written, not ahead of time.
Don't allocate array to copy user-provided glyphs.
Easy early exit from SkPDFDevice::internalDrawText()
GlyphPositioner::flush() called ~GlyphPositioner()
SkScopeExit class now exists.
Assume SkTypeface* pointers are now never null in more
places.
precalculate alignmentFactor to clean up code.
SkPDFDevice::updateFont must be called with validated
glyphID. Skip bad glyphs to make this true.
SkPDFDevice::updateFont always succeeds.
SkPDFFont::GetFontResource always succeeds (preconditions are
asserted). If GetMetrics fails, don't call GetFontResource.
SkPDFFont::glyphsToPDFFontEncodingCount() becomes
SkPDFFont::countStretch() and is inlined.
SkPDFFont::glyphsToPDFFontEncoding now works one Glyph at a
time and is inlined.
SkPDFFont::noteGlyphUsage() operates one glyph at a time.
Add SkScopeExit.h; also a unit test for it.
SkPostConfig: Fix SK_UNUSED for Win32.
No public API changes.
TBR=reed@google.com
BUG=625995
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2278703002
Review-Url: https://codereview.chromium.org/
2278703002
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true
Review-Url: https://codereview.chromium.org/
2302353002
Matthew Leibowitz [Fri, 2 Sep 2016 03:00:16 +0000 (05:00 +0200)]
Merge pull request #21 from mono/merge-m54
Merge m54
Matthew Leibowitz [Fri, 2 Sep 2016 02:40:54 +0000 (04:40 +0200)]
Enum members were removed as they are not used
Matthew Leibowitz [Fri, 2 Sep 2016 02:07:03 +0000 (04:07 +0200)]
Merge pull request #20 from mono/gpu-support
GPU Support for v54
Matthew Leibowitz [Fri, 2 Sep 2016 02:05:21 +0000 (04:05 +0200)]
Merge pull request #19 from mono/revert-18-gpu-support
Revert "GPU Support"
Matthew Leibowitz [Fri, 2 Sep 2016 02:04:54 +0000 (04:04 +0200)]
Revert "GPU Support"
Matthew Leibowitz [Fri, 2 Sep 2016 01:56:32 +0000 (03:56 +0200)]
Merge pull request #18 from mono/gpu-support
GPU Support
Matthew Leibowitz [Thu, 1 Sep 2016 23:26:01 +0000 (01:26 +0200)]
Added more members to sk_point_t
- .contains
- .getLastPoint
Matthew Leibowitz [Wed, 31 Aug 2016 05:45:10 +0000 (07:45 +0200)]
UWP ARM seems to have an issue with Sk4f being uninitialized: error C4700
Matthew Leibowitz [Wed, 31 Aug 2016 02:56:46 +0000 (04:56 +0200)]
Added the SkCanvas.drawBitmapLattice and SkCanvas.drawImageLattice
Matthew Leibowitz [Tue, 30 Aug 2016 22:27:07 +0000 (00:27 +0200)]
Using the blur image filter from the new core location
Matthew Leibowitz [Tue, 30 Aug 2016 22:26:36 +0000 (00:26 +0200)]
Added the new color filter: Gama
Matthew Leibowitz [Tue, 30 Aug 2016 18:03:18 +0000 (20:03 +0200)]
Unused SkCodec member removed and updated SkData New/Make members
Matthew Leibowitz [Tue, 30 Aug 2016 15:52:51 +0000 (17:52 +0200)]
Merge branch 'chrome/m54' into merge-m54
Changes:
- include/core/SkPreConfig.h: they added (_WIN32) like I did
- gyp/common_conditions.gypi: they modified a line which I had edited to make DLL
- used theirs for the rest
# Conflicts:
# gyp/common_conditions.gypi
# include/core/SkPreConfig.h
# infra/bots/assets/skimage/VERSION
# infra/bots/assets/skp/VERSION
# infra/bots/assets/skp/create.py
# infra/bots/assets/win_vulkan_sdk/VERSION
# infra/bots/perf_skia.isolate
# infra/bots/test_skia.isolate
# src/pdf/SkPDFMetadata.cpp
# src/utils/SkRTConf.cpp
# tests/DFPathRendererTest.cpp
# tests/PathTest.cpp
Matthew Leibowitz [Tue, 30 Aug 2016 15:35:08 +0000 (17:35 +0200)]
Merge pull request #17 from google/chrome/m53
Merge From Upstream (m53)
caryclark [Tue, 30 Aug 2016 12:24:14 +0000 (05:24 -0700)]
merge per request
R=awhalley@google.com
TBR=reed@google.com
BUG=638223
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2284303004
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true
Review-Url: https://codereview.chromium.org/
2284303004
fmalita [Thu, 25 Aug 2016 01:23:24 +0000 (18:23 -0700)]
Experimental parsing expression grammar (PEG) template library
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2271743002
Review-Url: https://codereview.chromium.org/
2271743002
bsalomon [Thu, 25 Aug 2016 00:47:40 +0000 (17:47 -0700)]
Update GrShape test to allow more flexible shape creation.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2277483002
Review-Url: https://codereview.chromium.org/
2277483002
mtklein [Thu, 25 Aug 2016 00:32:30 +0000 (17:32 -0700)]
GN: misc
- Use options' template pattern for opts too.
- Simplify opt's and options' configs... they should all be the same.
- When building a static-library component in our GN environment (i.e. libskia.a),
make it a complete static lib, fully containing its transitive deps.
- It has not proved useful to override ar.
TBR=jcgregorio@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2278673002
Review-Url: https://codereview.chromium.org/
2278673002
mtklein [Wed, 24 Aug 2016 21:46:35 +0000 (14:46 -0700)]
We can't infer the right type for voidp for old png_jmpbuf()
In libpng 1.2 it's just a macro that's ->jmpbuf,
so there's nothing forcing the conversion to png_structp.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2268953005
Review-Url: https://codereview.chromium.org/
2268953005
halcanary [Wed, 24 Aug 2016 21:42:08 +0000 (14:42 -0700)]
SkPDF: set SK_SFNTLY_SUBSETTER uniformly
When Skia is built into the Android framework,
SK_SFNTLY_SUBSETTER="sample/chromium/font_subsetter.h".
This #includes the same value for GOOGLE3.
Once Chrome is also using this value, we can do away with
the `#ifdef GOOGLE3` line.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2272103002
Review-Url: https://codereview.chromium.org/
2272103002
caryclark [Wed, 24 Aug 2016 20:00:42 +0000 (13:00 -0700)]
mark fuzz test flaky since it may fail on some platforms
NOTRY=true
TBR=bungeman@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2277893004
Review-Url: https://codereview.chromium.org/
2277893004
halcanary [Wed, 24 Aug 2016 19:28:38 +0000 (12:28 -0700)]
gyp/sfntly: set SK_SFNTLY_SUBSETTER uniformly
When Skia is built into the Android framework,
SK_SFNTLY_SUBSETTER="sample/chromium/font_subsetter.h".
This sets the same value for Skia's test framework
I will eventually move away from the
#include PREPROCESSOR_DEFINE
trick, which does not work everywhere.
No public API changes.
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/
2274223002
mtklein [Wed, 24 Aug 2016 19:23:52 +0000 (12:23 -0700)]
GN: guard tools (except fiddle) by skia_enable_tools.
Our tools use third-party libraries pretty freely, some of which may not
be available in other GN environments (e.g. Fuchsia). Most can also not
function when Skia is built as a shared library.
fiddle stands alone as the exception to both those points: it depends on
only Skia, and works fine with both a shared or static library.
So guard everything but fiddle with this flag skia_enable_tools, disabled
when we're building for Fuchsia or when we're build a shared library.
This CL has a couple of little tweaks to Fiddle to keep it working:
- divorce it from :tool_utils, instead just building SkForceLinking.cpp itself;
- fix up a buggy rebase_path() that was accidentally working when we depended
on :tool_utils;
- drop test_only: it now only requires production-code dependencies.
The SkImageEncoder Create* methods need to be SK_API if we want SkForceLinking
to work across .so's. Without this, SkForceLinking needs to be part of Skia; it
can't be part of the application using Skia.
The rest is mostly just a re-indent under if (skia_enable_tools),
courtesy of gn format.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2273823003
No public API changes.
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/
2273823003
mtklein [Wed, 24 Aug 2016 19:22:32 +0000 (12:22 -0700)]
SkPngCodec: voidp instead of forward-declares for png.h types.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2277903002
Review-Url: https://codereview.chromium.org/
2277903002
ajuma [Wed, 24 Aug 2016 19:09:12 +0000 (12:09 -0700)]
Fix leak in GrTextureStripAtlasTest
This is a followup to https://codereview.chromium.org/
2262233002/,
adding a missing call to GrTextureStripAtlas::unlockRow.
BUG=chromium:637678
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2272953003
Review-Url: https://codereview.chromium.org/
2272953003
bungeman [Wed, 24 Aug 2016 19:01:31 +0000 (12:01 -0700)]
s/invertable/invertible
English orthography is often made difficult by poor phonology.
TBR=oxford-english-dictionary,mtklein
Review-Url: https://codereview.chromium.org/
2272083002
caryclark [Wed, 24 Aug 2016 18:59:30 +0000 (11:59 -0700)]
tiny line breaks gl render
This pie cut draws correctly
on raster but extends to the
right on Ganesh.
The path is not convex, and
has a tiny line that contributes
to the error.
TBR=robertphillips@google.com
BUG=640176
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2276083002
Review-Url: https://codereview.chromium.org/
2276083002
fmalita [Wed, 24 Aug 2016 18:03:24 +0000 (11:03 -0700)]
Fix SkTLazy(const T*) initialization
Splitting the fix from https://codereview.chromium.org/
2271743002/.
R=bungeman@google.com,mtklein@google.com
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2278633002
Review-Url: https://codereview.chromium.org/
2278633002
mtklein [Wed, 24 Aug 2016 17:27:13 +0000 (10:27 -0700)]
GN: Fuchsia probably cannot link without this.
We removed this _none variant globally, thinking we'd put back platform
specific versions as we added support for those platforms.
We don't have anything for Fuchsia.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2271273002
Review-Url: https://codereview.chromium.org/
2271273002
halcanary [Wed, 24 Aug 2016 17:08:13 +0000 (10:08 -0700)]
SkPDF: vector canvases can't hint!
BUG=637571
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2273073002
Review-Url: https://codereview.chromium.org/
2273073002
mtklein [Wed, 24 Aug 2016 16:55:56 +0000 (09:55 -0700)]
GN: more optional components: jpeg, pdf, png, xml
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2267343004
Review-Url: https://codereview.chromium.org/
2267343004
caryclark [Wed, 24 Aug 2016 16:24:18 +0000 (09:24 -0700)]
remove point aliases
This removes the notion of keeping track of every different t value
that resolves to the same or a similar point. Other fixes make
this concept unnecessary, and removing it simplifies the code.
This removes an allocation, and speeds up paths with many
overlapping curves.
As a bonus, four fuzzer tests that failed before now succeed.
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2275703003
Review-Url: https://codereview.chromium.org/
2275703003
halcanary [Wed, 24 Aug 2016 16:20:57 +0000 (09:20 -0700)]
SkPDF: vertical writing: draw nothing
BUG=skia:5665
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2274153002
Review-Url: https://codereview.chromium.org/
2274153002
bungeman [Wed, 24 Aug 2016 15:29:50 +0000 (08:29 -0700)]
Add simple font fallback on Mac.
Implement SkFontMgr_Mac::onMatchFamilyStyleCharacter. This is a simple
implementation which provides basic fallback.
This also renames and refactors several static functions to reduce code
duplication.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2268663002
Review-Url: https://codereview.chromium.org/
2268663002
ajuma [Wed, 24 Aug 2016 15:19:02 +0000 (08:19 -0700)]
Make GrTextureStripAtlas flush pending IO on newly acquired texture
GrTextureStripAtlas uses its own lock counts to protect against
overwriting its own earlier writes, but that doesn't protect against
IO that was pending when a texture was first acquired.
BUG=chromium:637678
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2262233002
Review-Url: https://codereview.chromium.org/
2262233002
msarett [Wed, 24 Aug 2016 14:36:06 +0000 (07:36 -0700)]
Parse ICC profiles from webps
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2269333002
Review-Url: https://codereview.chromium.org/
2269333002
egdaniel [Wed, 24 Aug 2016 14:22:19 +0000 (07:22 -0700)]
Add addtional resolve calls to vulkan backend
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2215363003
Review-Url: https://codereview.chromium.org/
2215363003
msarett [Wed, 24 Aug 2016 13:22:41 +0000 (06:22 -0700)]
Warn on bad rendering intents (instead of valid ones)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2274843002
Review-Url: https://codereview.chromium.org/
2274843002
brianosman [Wed, 24 Aug 2016 12:11:20 +0000 (05:11 -0700)]
New helper for creating a color space from another, with linear gamma
Going to need this in many places once we expliclty require F16 surfaces
to have linear gamma color spaces.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2270103002
Review-Url: https://codereview.chromium.org/
2270103002
rmistry [Wed, 24 Aug 2016 12:07:06 +0000 (05:07 -0700)]
Apply gerrit ref if it is a Gerrit patch.
Also:
* Pass through a new property 'patch_storage' to DM/Nanobench/Coverage. This will be used by the different frameworks to figure out if it is Rietveld or Gerrit issue.
* Calculate issue and patchset for Gerrit patches similar to Rietveld.
BUG=skia:5627
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2263323002
Review-Url: https://codereview.chromium.org/
2263323002
reed [Wed, 24 Aug 2016 11:22:08 +0000 (04:22 -0700)]
combine setRectFan and mapRect
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2276603002
Review-Url: https://codereview.chromium.org/
2276603002
msarett [Wed, 24 Aug 2016 00:53:06 +0000 (17:53 -0700)]
Fix generic color space xform, ColorSpaceXformTest
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2275563002
Review-Url: https://codereview.chromium.org/
2275563002
msarett [Tue, 23 Aug 2016 21:36:20 +0000 (14:36 -0700)]
Make singleton SkColorSpaces thread safe
SkColorSpaces may be once-ptrs, so we can reuse common color spaces.
This means that they must be thread safe. SkMatrix44 is not
thread safe because it maintains a mutable type mask.
This CL ensures that we precompute the type mask so we
can use const SkMatrix44's safely.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2277463002
Review-Url: https://codereview.chromium.org/
2277463002
bsalomon [Tue, 23 Aug 2016 21:02:54 +0000 (14:02 -0700)]
Remove SkPixelRef::getTexture()
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2264293003
Review-Url: https://codereview.chromium.org/
2264293003
mtklein [Tue, 23 Aug 2016 20:56:37 +0000 (13:56 -0700)]
GN: extract optional() as a template and use for giflib-dependent code
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2270833003
Review-Url: https://codereview.chromium.org/
2270833003
mtklein [Tue, 23 Aug 2016 20:35:28 +0000 (13:35 -0700)]
GN: Fix up Ganesh native interface hooks.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2269213002
Review-Url: https://codereview.chromium.org/
2269213002
csmartdalton [Tue, 23 Aug 2016 20:26:40 +0000 (13:26 -0700)]
Skip non-AA intersect rects in GrReducedClip
Skips non-AA rects whose op is intersect or replace, and who do not
precede elements that grow the clip, by tightening fIBounds.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2271493002
Review-Url: https://codereview.chromium.org/
2271493002
bungeman [Tue, 23 Aug 2016 20:19:01 +0000 (13:19 -0700)]
SkScalerContextRec::computeMatrices to return status.
When computing the matricies for a scaler context, there is a special
case when the matrix is determined to be singular. No port properly
handles zero sized text, so we detect this case and return a 'normal'
text size and a zero matrix for all computed transformations. This
CL causes computeMatricies to return 'false' in this case.
This is used in the constructor of SkScalerContext_Mac in order to
avoid calling CGAffineTransformInvert on non-invertible transformations.
CGAffineTransformInvert documents that if the transform is
non-invertible it will return the passed transform unchanged. It does
so, but then also prints a message to stdout. Since the information is
already available to avoid this chatty behavior, use it to keep things
quiet.
BUG=skia:3231,chromium:630169
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2276583003
Review-Url: https://codereview.chromium.org/
2276583003
mtklein [Tue, 23 Aug 2016 18:49:29 +0000 (11:49 -0700)]
Assume all TURBO_HAS_* are true.
Should be everyone's on libjpeg-turbo >= 1.5.0.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2274643002
Review-Url: https://codereview.chromium.org/
2274643002
vjiaoblack [Tue, 23 Aug 2016 18:13:14 +0000 (11:13 -0700)]
Moving SkBlurImageFilter into core
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2255803003
Committed: https://skia.googlesource.com/skia/+/
dd3259eb95c3b47e11eefa3b176365a112a32b48
Committed: https://skia.googlesource.com/skia/+/
e426babe7552b1cb4e27cdf4e90826feabb9e3b0
Committed: https://skia.googlesource.com/skia/+/
4d760175686df8f61a11b66946eb307d89dd2c75
Committed: https://skia.googlesource.com/skia/+/
a97a1ab5719d5c355f7900b7f17dec1e467cf57e
Review-Url: https://codereview.chromium.org/
2255803003
mtklein [Tue, 23 Aug 2016 18:01:33 +0000 (11:01 -0700)]
CMake: require libjpeg-turbo, not libjpeg
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2273753002
CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot
Review-Url: https://codereview.chromium.org/
2273753002
halcanary [Tue, 23 Aug 2016 17:32:53 +0000 (10:32 -0700)]
experimental/tools/mskp_parser.py
TBR=
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2268403003
Review-Url: https://codereview.chromium.org/
2268403003
bungeman [Tue, 23 Aug 2016 17:04:53 +0000 (10:04 -0700)]
Revert of Moving SkBlurImageFilter into core (patchset #9 id:160001 of https://codereview.chromium.org/
2255803003/ )
Reason for revert:
Breaking internal roll. Still needs 'Create'.
Original issue's description:
> Moving SkBlurImageFilter into core
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2255803003
>
> Committed: https://skia.googlesource.com/skia/+/
dd3259eb95c3b47e11eefa3b176365a112a32b48
> Committed: https://skia.googlesource.com/skia/+/
e426babe7552b1cb4e27cdf4e90826feabb9e3b0
> Committed: https://skia.googlesource.com/skia/+/
4d760175686df8f61a11b66946eb307d89dd2c75
> Committed: https://skia.googlesource.com/skia/+/
a97a1ab5719d5c355f7900b7f17dec1e467cf57e
TBR=reed@google.com,fmalita@chromium.org,vjiaoblack@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/
2274603003
caryclark [Tue, 23 Aug 2016 16:41:00 +0000 (09:41 -0700)]
fix conic path fuzz
The test conic has a very large weight, so it reduces to a pair
of lines. Detect this case rather than subdividing the conic
so much that the answers are meaningless.
R=herb@google.com, reed@google.com
BUG=638223
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2268073004
Review-Url: https://codereview.chromium.org/
2268073004
halcanary [Tue, 23 Aug 2016 16:15:04 +0000 (09:15 -0700)]
SkMultiSKP: version 2
Measurable size improvement.
BUG=skia:5370
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2255333003
Review-Url: https://codereview.chromium.org/
2255333003
halcanary [Tue, 23 Aug 2016 16:02:12 +0000 (09:02 -0700)]
SkPDF: PDFDevice cleanup.
Remove unused fContentSize.
Combine SkPDFDevice::writeContent and SkPDFDevice::content.
Remove unused SkPDFDevice::initialTransform().
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2264113003
Review-Url: https://codereview.chromium.org/
2264113003
mtklein [Tue, 23 Aug 2016 15:58:12 +0000 (08:58 -0700)]
f16<->f32 ftz is an optional thing for speed.
The ARMv8 asm path actually does it right... that should be okay.
My Nexus 5x fails `dm -m _finite_ftz` before this and passes after it.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2276533002
TBR=msarett@google.com
Review-Url: https://codereview.chromium.org/
2276533002
vjiaoblack [Tue, 23 Aug 2016 14:50:52 +0000 (07:50 -0700)]
Moving SkBlurImageFilter into core
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2255803003
Committed: https://skia.googlesource.com/skia/+/
dd3259eb95c3b47e11eefa3b176365a112a32b48
Committed: https://skia.googlesource.com/skia/+/
e426babe7552b1cb4e27cdf4e90826feabb9e3b0
Committed: https://skia.googlesource.com/skia/+/
4d760175686df8f61a11b66946eb307d89dd2c75
Review-Url: https://codereview.chromium.org/
2255803003
caryclark [Tue, 23 Aug 2016 14:38:48 +0000 (07:38 -0700)]
fix pathops fuzz
Extreme cubics may split so that one half is a point.
Discard this rather than generating a degenerate line.
TBR=reed@google.com
BUG=640025
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2276503002
Review-Url: https://codereview.chromium.org/
2276503002
mtklein [Tue, 23 Aug 2016 14:38:09 +0000 (07:38 -0700)]
GN: make libwebp an optional dependency
This will be handy for folks who don't have libwebp, like Fuchsia.
I convinced myself that this is done right by:
- building in all three modes (default and explicitly set both ways);
- looking at verbose Ninja logs to see the presence/lack of SK_HAS_WEBP_LIBRARY;
- running dm -m Codec, which passes with libwebp and segfault without it.
If this is viable, I intend to make all third-party dependencies optional
and follow this pattern. :skia should link and degrade gracefully without
any of //third_party. It's okay for tools to have hard third-party
dependencies; we just need them to get past the `gn gen` stage without them.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2270693004
Review-Url: https://codereview.chromium.org/
2270693004
csmartdalton [Tue, 23 Aug 2016 13:51:00 +0000 (06:51 -0700)]
Reduce window rectangles cap to 8
Lowers the cap to 8 and adds a warning message if this value is ever
exceeded. The largest (only) implementation currently supports 8, so
there isn't yet reason to go higher.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2254013002
Committed: https://skia.googlesource.com/skia/+/
52d721580ee22525c285e2d13cf3975a7a1b2843
Review-Url: https://codereview.chromium.org/
2254013002
robertphillips [Tue, 23 Aug 2016 13:39:35 +0000 (06:39 -0700)]
Cleanup use of legacy SkSurface creation methods a bit
This CL cleans up some remaining uses of the old API
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2223023002
Committed: https://skia.googlesource.com/skia/+/
f21cd16228c20927fa4e9b937d6951471cfaa37a
Review-Url: https://codereview.chromium.org/
2223023002
robertphillips [Tue, 23 Aug 2016 13:19:15 +0000 (06:19 -0700)]
Fix valgrind issue in CircleBatch__Test
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2271653002
Review-Url: https://codereview.chromium.org/
2271653002
martina.kollarova [Tue, 23 Aug 2016 07:17:42 +0000 (00:17 -0700)]
Remove file samplecode/SampleDraw.cpp
The file is not used in any build target and seems dead, i.e. failed to compile when I added it to
the SampleApp target.
BUG=None
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2269583002
Review-Url: https://codereview.chromium.org/
2269583002
robertphillips [Mon, 22 Aug 2016 23:13:48 +0000 (16:13 -0700)]
Fix Ganesh analytic blurred rect draws
This CL does two things:
It fixes the SkBlurMaskFilterImpl::directFilterRRectMaskGPU draw path to explicitly handle rects
It fixes the SkGpuDevice::drawTextureProducerImpl draw path to provide the correct (src & device space) inputs to directFilterRRectMaskGPU.
How this was working before was that GrRRectBlurEffect::Make would reject rect-rrects and the code would fallback to
GrBlurUtils::drawPathWithMaskFilter which mapped the rect-rrect into device space correctly (of course,
the rect-ness of the path was removed at that point so it was going through the slow path).
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2268583002
Review-Url: https://codereview.chromium.org/
2268583002
bsalomon [Mon, 22 Aug 2016 22:17:48 +0000 (15:17 -0700)]
Fix GLSL int to float error in arc code in GrOvalRenderer.
BUG=skia:
TBR=robertphillips@google.com
NOTRY=true
NOTREECHECKS=true
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2263213004
Review-Url: https://codereview.chromium.org/
2263213004
msarett [Mon, 22 Aug 2016 21:58:56 +0000 (14:58 -0700)]
More robust check for sRGB gamma tables
This is in response to a UMA showing that 5% dst gammas are
unidentified tables. We want to see if some of these tables
should be marked as sRGB.
https://uma.googleplex.com/p/chrome/histograms?endDate=latest&dayCount=1&histograms=Blink.ColorSpace.Destination&fixupData=true&showMax=true&filters=isofficial%2Ceq%2CTrue&implicitFilters=isofficial
This check is not fast. If we find that it doesn't help
us recognize sRGB curves, we should delete it.
BUG=skia:5656
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2263233003
Review-Url: https://codereview.chromium.org/
2263233003
bsalomon [Mon, 22 Aug 2016 21:48:36 +0000 (14:48 -0700)]
Remove virtual from overrides in SkGpuDevice.h
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2265323002
Review-Url: https://codereview.chromium.org/
2265323002
bsalomon [Mon, 22 Aug 2016 21:24:24 +0000 (14:24 -0700)]
Fix CircleBatch::TestCreate to always use a legal matrix
TBR=robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2267953002
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/
2267953002
bsalomon [Mon, 22 Aug 2016 20:42:17 +0000 (13:42 -0700)]
Mark temporary paths created by SkCanvas for clipping as volatile
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2268723002
Review-Url: https://codereview.chromium.org/
2268723002
liyuqian [Mon, 22 Aug 2016 20:36:57 +0000 (13:36 -0700)]
Remove vulkan from most build variants
Since many devices don't support vulkan, we have to remove it for most
build variants and only turn it on manually by selecting arm64vulkan
build variant.
BUG=skia:5516
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2255973003
Review-Url: https://codereview.chromium.org/
2255973003
mtklein [Mon, 22 Aug 2016 20:20:18 +0000 (13:20 -0700)]
Flush denorm half floats to zero.
I think we convinced ourselves that denorms, while a good chunk of half floats,
cover a rather small fraction of the representable range, which is always
close enough to zero to flush.
This makes both paths of the conversion to or from float considerably simpler.
These functions now work for zero-or-normal half floats (excluding infinite, NaN).
I'm not aware of a term for this class so I've called them "ordinary".
A handful of GMs and SKPs draw differently in --config f16, but all imperceptibly.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2256023002
Review-Url: https://codereview.chromium.org/
2256023002
bsalomon [Mon, 22 Aug 2016 20:14:26 +0000 (13:14 -0700)]
GPU implementation of drawArc.
This adds analytic shaders for filled arcs and butt-cap stroked arcs where the center point is not used.
BUG=skia:5227
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2259323003
Review-Url: https://codereview.chromium.org/
2259323003
bsalomon [Mon, 22 Aug 2016 20:10:46 +0000 (13:10 -0700)]
Add cap type variations to circular arcs GMs
BUG=skia:5227
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2269723002
Review-Url: https://codereview.chromium.org/
2269723002
reed [Mon, 22 Aug 2016 20:03:47 +0000 (13:03 -0700)]
check for wide-open inside quickContains
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2263373002
Review-Url: https://codereview.chromium.org/
2263373002
msarett [Mon, 22 Aug 2016 20:00:05 +0000 (13:00 -0700)]
Fix MSAN - mark temporary memory as kNo_ZeroInitialized
TBR=mtklein@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2261173004
Review-Url: https://codereview.chromium.org/
2261173004
rmistry [Mon, 22 Aug 2016 19:54:54 +0000 (12:54 -0700)]
Add trooper documentation for CT bots and for iOS "the service is invalid"
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2263103003
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
2263103003
Review-Url: https://codereview.chromium.org/
2263103003
msarett [Mon, 22 Aug 2016 19:29:31 +0000 (12:29 -0700)]
Fix Equals and serialization for rare pngs
PNGs may contain a gAMA chunk that specifies gamma
values as floats. If so, we will use these floats
to create an SkColorSpace.
This CL fixes Equals(), serialize(), and
Deserialize() to correctly handle SkColorSpaces
with strange gammas, where we are unable to fall
back on the profile data.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2221983002
Review-Url: https://codereview.chromium.org/
2221983002
vjiaoblack [Mon, 22 Aug 2016 19:04:41 +0000 (12:04 -0700)]
Revert of Moving SkBlurImageFilter into core (patchset #8 id:140001 of https://codereview.chromium.org/
2255803003/ )
Reason for revert:
Misnamed function.
Original issue's description:
> Moving SkBlurImageFilter into core
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2255803003
>
> Committed: https://skia.googlesource.com/skia/+/
dd3259eb95c3b47e11eefa3b176365a112a32b48
> Committed: https://skia.googlesource.com/skia/+/
e426babe7552b1cb4e27cdf4e90826feabb9e3b0
> Committed: https://skia.googlesource.com/skia/+/
4d760175686df8f61a11b66946eb307d89dd2c75
TBR=reed@google.com,fmalita@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/
2265263002
vjiaoblack [Mon, 22 Aug 2016 19:00:25 +0000 (12:00 -0700)]
Moving SkBlurImageFilter into core
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2255803003
Committed: https://skia.googlesource.com/skia/+/
dd3259eb95c3b47e11eefa3b176365a112a32b48
Committed: https://skia.googlesource.com/skia/+/
e426babe7552b1cb4e27cdf4e90826feabb9e3b0
Review-Url: https://codereview.chromium.org/
2255803003
robertphillips [Mon, 22 Aug 2016 18:48:44 +0000 (11:48 -0700)]
Remove quantization of device-space dest rect for Ganesh analytic rrect blurs
At least on Windows, this fixes a lot of the horrible banded blurs. AFAICT there is no good reason to quantize the device space rect passed to the GrRectBlurEffect.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2262263002
Review-Url: https://codereview.chromium.org/
2262263002
bsalomon [Mon, 22 Aug 2016 18:46:35 +0000 (11:46 -0700)]
Mark temp paths in SkBaseDevice::drawArc and ::drawDRRect as volatile
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2261123004
Review-Url: https://codereview.chromium.org/
2261123004
liyuqian [Mon, 22 Aug 2016 18:31:09 +0000 (11:31 -0700)]
Fix touch event parameter order
The issue is so obvious... However, all newer Android devices (e.g.,
Nexus 6P, 5X, 9) are immune to this bug. So I didn't notice this until I
tested Viewer app on Nexus 7 yesterday...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2254223002
Review-Url: https://codereview.chromium.org/
2254223002
vjiaoblack [Mon, 22 Aug 2016 18:30:39 +0000 (11:30 -0700)]
Revert of Moving SkBlurImageFilter into core (patchset #8 id:140001 of https://codereview.chromium.org/
2255803003/ )
Reason for revert:
Fixed it wrong, needs to revert to re-discuss and re-land.
Original issue's description:
> Moving SkBlurImageFilter into core
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2255803003
>
> Committed: https://skia.googlesource.com/skia/+/
dd3259eb95c3b47e11eefa3b176365a112a32b48
> Committed: https://skia.googlesource.com/skia/+/
e426babe7552b1cb4e27cdf4e90826feabb9e3b0
TBR=reed@google.com,fmalita@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/
2266063002
vjiaoblack [Mon, 22 Aug 2016 17:51:27 +0000 (10:51 -0700)]
Moving SkBlurImageFilter into core
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2255803003
Committed: https://skia.googlesource.com/skia/+/
dd3259eb95c3b47e11eefa3b176365a112a32b48
Review-Url: https://codereview.chromium.org/
2255803003
bsalomon [Mon, 22 Aug 2016 17:00:14 +0000 (10:00 -0700)]
Add stroke-and-fill circular arc test, test near 180deg arc in all circular_arc_tests
BUG=skia:5227
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2261233002
Review-Url: https://codereview.chromium.org/
2261233002
msarett [Mon, 22 Aug 2016 16:44:35 +0000 (09:44 -0700)]
Detect all named gammas
Our DstColorSpace UMA is showing some named gammas that are
not appropriately detected and placed in named categories.
https://uma.googleplex.com/p/chrome/histograms?endDate=latest&dayCount=1&histograms=Blink.ColorSpace.Destination&fixupData=true&showMax=true&filters=isofficial%2Ceq%2CTrue&implicitFilters=isofficial
This CL should fix that.
I'm not sure (yet) how I feel about this landing permanently.
Seems a little messy.
But it will be interesting to see how this affects the UMA.
My best guess is that we are hitting this case when all
three gammas are "invalid" in different ways. I'm expecting
to see some profiles end up in the "invalid" category now.
It's also possible that we'll see these cases being absorbed
into sRGB or somewhere else.
BUG=skia:5656
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2261213002
Review-Url: https://codereview.chromium.org/
2261213002
mtklein [Mon, 22 Aug 2016 16:30:53 +0000 (09:30 -0700)]
compress_r11eac_blocks() required more alignment than dst has.
This shouldn't change any behavior except that the stores to dst
will no longer require 8-byte alignment.
Empirically it seems like we can use 4-byte alignment here,
but u8 (i.e. 1-byte alignment) is always safe.
BUG=skia:5637
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2264103002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Review-Url: https://codereview.chromium.org/
2264103002
mtklein [Mon, 22 Aug 2016 16:25:59 +0000 (09:25 -0700)]
Revert of Moving SkBlurImageFilter into core (patchset #6 id:100001 of https://codereview.chromium.org/
2255803003/ )
Reason for revert:
It looks like this breaks our roll into Google3:
https://test.corp.google.com/ui#id=OCL:
130943857:BASE:
130944046:
1471881622765:61dbdd3
Original issue's description:
> Moving SkBlurImageFilter into core
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2255803003
>
> Committed: https://skia.googlesource.com/skia/+/
dd3259eb95c3b47e11eefa3b176365a112a32b48
TBR=reed@google.com,fmalita@chromium.org,vjiaoblack@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/
2263283002
mtklein [Mon, 22 Aug 2016 15:53:45 +0000 (08:53 -0700)]
Use ARMv8 CRC32 instructions for SkOpts::hash().
For large inputs, this runs ~11x faster than Murmur3.
My bench drops from 1µs to 88ns.
Like x86-64, this runs fastest if we work in 24 byte chunks. 16 byte chunks
run at about 0.75x this speed, 8 byte chunks at about 0.4x (which would still
be about 5x faster than Murmur3).
This'll require plumbing support for opts_crc32 into Chrome first before it can roll.
perf.skia.org charts we want to watch: https://perf.skia.org/#5490
Seach for compute_hash in these logs to see the difference:
baseline: https://luci-milo.appspot.com/swarming/task/
30ba22f3dfe30e10/steps/nanobench/0/stdout
trybot: https://luci-milo.appspot.com/swarming/task/
30bbc406cbf62d10/steps/nanobench/0/stdout
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2260823002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Review-Url: https://codereview.chromium.org/
2260823002
vjiaoblack [Mon, 22 Aug 2016 15:50:20 +0000 (08:50 -0700)]
Moving SkBlurImageFilter into core
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2255803003
Review-Url: https://codereview.chromium.org/
2255803003
msarett [Mon, 22 Aug 2016 15:48:40 +0000 (08:48 -0700)]
Support color xforms for kIndex8 pngs
This change started as: "Always use color xforms to
premultiply". We need to be in a linear space to
premultiply correctly.
It became clear that we also need to support kIndex8
color xforms in order to make this change.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2246143002
Review-Url: https://codereview.chromium.org/
2246143002
reed [Mon, 22 Aug 2016 15:45:15 +0000 (08:45 -0700)]
'g' key toggles showgrid for PerlinPatch
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2269673002
TBR=
Review-Url: https://codereview.chromium.org/
2269673002
brianosman [Mon, 22 Aug 2016 15:23:09 +0000 (08:23 -0700)]
Supply a color space in sRGB/F16 mode of SampleApp
Ganesh now uses this to decide if it should perform gamma-correct
rendering, so the color space is necessary to get correct results in
S32/F16.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2266763004
Review-Url: https://codereview.chromium.org/
2266763004
rmistry [Mon, 22 Aug 2016 15:01:28 +0000 (08:01 -0700)]
Roll recipe DEPS
BUG=skia:5627
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2266933002
Review-Url: https://codereview.chromium.org/
2266933002
reed [Mon, 22 Aug 2016 14:41:46 +0000 (07:41 -0700)]
'F' will toggle filtering for the --picture sample
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2263203002
TBR=
Review-Url: https://codereview.chromium.org/
2263203002
msarett [Mon, 22 Aug 2016 14:41:28 +0000 (07:41 -0700)]
Fix color xform width bug when scaling/subsetting
This was not caught by the bots because we don't test
color correct modes with our many image decoding tests
(takes too long).
Adding a unit test.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2247743002
Review-Url: https://codereview.chromium.org/
2247743002
borenet [Mon, 22 Aug 2016 14:31:43 +0000 (07:31 -0700)]
Build command buffer with is_component_build=false
BUG=skia:5630
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2265913002
Review-Url: https://codereview.chromium.org/
2265913002