Brian Osman [Tue, 27 Dec 2016 17:50:37 +0000 (12:50 -0500)]
Add color space fallback for matrix convolution filter
GrMatrixConvolutionFilter is used in two places right now.
The GaussianBlur code ensures that we blur in the space of
the source image, so no conversion is needed. This changes
SkMatrixConvolutionImageFilter to give the same guarantee.
BUG=skia:
Change-Id: I1a6199d4893f2e579dc6fa809c59cd195bd62f90
Reviewed-on: https://skia-review.googlesource.com/6467
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Brian Osman [Tue, 27 Dec 2016 16:04:12 +0000 (11:04 -0500)]
Modify matrix convolution GM for sRGB testing
Tag bitmap as sRGB, and adjust gain/bias in color-managed configs to
produce results that are less blown out.
Also added a colorized version of the GM, to validate that gamut
conversion is working.
BUG=skia:
Change-Id: I333988dcdaa1272121e8aa731b4188c942fe19d8
Reviewed-on: https://skia-review.googlesource.com/6466
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
UpdateSKPs [Sun, 25 Dec 2016 07:01:19 +0000 (07:01 +0000)]
Update SKP version
Automatic commit by the RecreateSKPs bot.
TBR=update-skps@skia.org
NO_MERGE_BUILDS
Change-Id: Ia0a857e5e1c7daa5c12fd9befd15014f1ba40d02
Reviewed-on: https://skia-review.googlesource.com/6421
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>
Matt Sarett [Thu, 22 Dec 2016 21:21:18 +0000 (16:21 -0500)]
Remove legacy matrix defines
BUG=skia:
Change-Id: Iaa9e402d687df6f24d94fc58d7edcf9fe47d913d
Reviewed-on: https://skia-review.googlesource.com/6460
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Brian Salomon [Thu, 22 Dec 2016 20:42:51 +0000 (15:42 -0500)]
Remove render target unique ID virtual from GrOp.
GrRenderTargetOpList now stores the IDs along side each op.
This should put us closer to using proxy IDs and not forcing early render target instantiation as many comments point towards.
Change-Id: I1ee82b01a0818a80d2bcac39fdf3a4ee7dccecc9
Reviewed-on: https://skia-review.googlesource.com/6403
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Matt Sarett [Thu, 22 Dec 2016 18:14:30 +0000 (13:14 -0500)]
Fix iOS build
BUG=skia:
Change-Id: I914cd75c84bbe57401ab65352d4e8b3dc413dce1
Reviewed-on: https://skia-review.googlesource.com/6418
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Matt Sarett [Thu, 22 Dec 2016 15:52:25 +0000 (10:52 -0500)]
Improve color space support in SkImage::readPixels()
Correct handling of kGray, k565, k4444 etc. is still a TODO.
SkImage_Generator and SkImage_Gpu are still TODOs.
BUG=skia:6021
Change-Id: Ib53d97d3a866b2b4934fd85c10100855743a8fab
Reviewed-on: https://skia-review.googlesource.com/6396
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Brian Osman [Thu, 22 Dec 2016 16:12:16 +0000 (11:12 -0500)]
Change GPU read/write pixels API to support color space conversion
GrContext still doesn't convert, but it has the source and destination
color spaces, and call sites are supplying appropriate values where it
makes sense.
BUG=skia:
Change-Id: Ia88733125b8090776cfc9b0dc8030cce365b0b8b
Reviewed-on: https://skia-review.googlesource.com/6400
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Ben Wagner [Thu, 22 Dec 2016 13:40:14 +0000 (08:40 -0500)]
Bot upgrades.
Upgrading most Windows bots in the Skolo to version 1607 (build number 14393).
Adding IntelIris540 and GTX1070 bot.
BUG=skia:
Change-Id: Ide7a09a4061d1e387e1d2a22be31b14b13f2fa96
Reviewed-on: https://skia-review.googlesource.com/6357
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Leon Scroggins III [Thu, 22 Dec 2016 14:53:21 +0000 (09:53 -0500)]
Do not support index8 for generateScaledPixels
Since the in/out parameter is a const SkPixmap without the proper
color table, there is no way to tell the client about it without
modifying the const SkPixmap. Rather than cheating, just return
false.
Change-Id: I63fdf57febc59e1ee9af13aa6eb9b253d19bcb17
Reviewed-on: https://skia-review.googlesource.com/6414
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Mike Reed [Tue, 20 Dec 2016 21:01:03 +0000 (16:01 -0500)]
remove SK_SUPPORT_LEGACY_PREROLL code
BUG=skia:
Change-Id: I608a3250882708cefc37747b462d5fa08b1e28be
Reviewed-on: https://skia-review.googlesource.com/6349
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Ravi Mistry [Thu, 22 Dec 2016 01:47:55 +0000 (20:47 -0500)]
Test CL
NOTRY=true
BUG=skia:
Change-Id: Ifc020282cfce791db66d90b0173294158b3e16ab
Reviewed-on: https://skia-review.googlesource.com/6410
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Ravi Mistry [Wed, 21 Dec 2016 22:41:03 +0000 (22:41 +0000)]
Revert "Revert "Fix issue in SkDebugCanvas where filter canvas prevents GrOp bounds from drawing""
This reverts commit
9bcda719e87140dcb541356fdb3f589e145c9b8e.
Reason for revert: No idea why the bots failed with the original CL. Putting it back in.
Original change's description:
> Revert "Fix issue in SkDebugCanvas where filter canvas prevents GrOp bounds from drawing"
>
> This reverts commit
4bf98e7e802edf43effec93bea22fecb031f65f1.
>
> Reason for revert: Seems to have caused some compile bots to break-
> https://chromium-swarm.appspot.com/task?id=
333c47cadb764f10&refresh=10
>
> Original change's description:
> > Fix issue in SkDebugCanvas where filter canvas prevents GrOp bounds from drawing
> >
> > Change-Id: I3446bfc42c4cf521916a03aa0f367cd38b4fd370
> > Reviewed-on: https://skia-review.googlesource.com/6401
> > Reviewed-by: Ben Wagner <bungeman@google.com>
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> >
>
> TBR=bsalomon@google.com,bungeman@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I0a73fe8c13967233dec950c317693d13d738722a
> Reviewed-on: https://skia-review.googlesource.com/6408
> Commit-Queue: Ravi Mistry <rmistry@google.com>
> Reviewed-by: Ravi Mistry <rmistry@google.com>
>
TBR=bsalomon@google.com,bungeman@google.com,rmistry@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Iad544f883804d13f04640498b4b63f735d33840e
Reviewed-on: https://skia-review.googlesource.com/6409
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Ravi Mistry [Wed, 21 Dec 2016 22:32:21 +0000 (22:32 +0000)]
Revert "Fix issue in SkDebugCanvas where filter canvas prevents GrOp bounds from drawing"
This reverts commit
4bf98e7e802edf43effec93bea22fecb031f65f1.
Reason for revert: Seems to have caused some compile bots to break-
https://chromium-swarm.appspot.com/task?id=
333c47cadb764f10&refresh=10
Original change's description:
> Fix issue in SkDebugCanvas where filter canvas prevents GrOp bounds from drawing
>
> Change-Id: I3446bfc42c4cf521916a03aa0f367cd38b4fd370
> Reviewed-on: https://skia-review.googlesource.com/6401
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
>
TBR=bsalomon@google.com,bungeman@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I0a73fe8c13967233dec950c317693d13d738722a
Reviewed-on: https://skia-review.googlesource.com/6408
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Herb Derby [Wed, 21 Dec 2016 22:00:06 +0000 (17:00 -0500)]
Protect glyph sub-pixel placement against NaN and Inf.
BUG=chromium:675106
Change-Id: I3f8f2575ca3d1b02615be00d66cf7a123407c5a3
Reviewed-on: https://skia-review.googlesource.com/6404
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Brian Salomon [Wed, 21 Dec 2016 21:13:14 +0000 (16:13 -0500)]
Fix issue in SkDebugCanvas where filter canvas prevents GrOp bounds from drawing
Change-Id: I3446bfc42c4cf521916a03aa0f367cd38b4fd370
Reviewed-on: https://skia-review.googlesource.com/6401
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Brian Osman [Wed, 21 Dec 2016 20:26:37 +0000 (15:26 -0500)]
Cleanup GrBicubicEffect
- The base class already stores a color space xform, so just forward our
factory argument and use that one.
- We had factories that took arbitrary coefficients, but they were only
used in the unit test. Make the assumption of Mitchell's coefficients
really hard-coded, which lets us skip transposing, storing, comparing,
etc...
BUG=skia:
Change-Id: Ia1d4f72d32c201cba1da24d61b90250f383336d1
Reviewed-on: https://skia-review.googlesource.com/6394
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Brian Osman [Wed, 21 Dec 2016 18:36:02 +0000 (13:36 -0500)]
Add color space xform fallback to GrMorphologyEffect
99% of the time (or maybe 100%?) morphology will trigger pad_image,
so the input texture will already be in the destimation color space.
If that doesn't happen, then just force the source to be converted,
which keeps the morphology effect and driver code simple.
BUG=skia:
Change-Id: I98876af4f9e9a5da031973213ed76349752ce68f
Reviewed-on: https://skia-review.googlesource.com/6388
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Leon Scroggins III [Mon, 19 Dec 2016 20:04:06 +0000 (15:04 -0500)]
Implement scaling in SkCodecImageGenerator
Plumb calls down to SkCodec.
Add a gm
Change-Id: I16da24eb739295ab72f487df02f19968151443f3
Reviewed-on: https://skia-review.googlesource.com/6287
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
bungeman [Tue, 20 Dec 2016 17:04:29 +0000 (12:04 -0500)]
Clean up SkFontHost_Mac ownership.
This clarifies ownership rules throughout SkFontHost_Mac.cpp, as well as
tidying up various bits of code. Clarifying ownership means replacing
AutoCFRelease with UniqueCFRef which is based on std::unique_ptr. Most of
the cleanup is removing now dead code and properly indenting.
Change-Id: I6d3a225d62b5d0f2f48a9e70c1a24317faa06747
Reviewed-on: https://skia-review.googlesource.com/6297
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Mike Reed [Wed, 21 Dec 2016 17:01:12 +0000 (12:01 -0500)]
helper to convert CGImage -> SkImage
BUG=skia:
Change-Id: I07e0b8fe510d34ab541de7572cb6775478527624
Reviewed-on: https://skia-review.googlesource.com/6386
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Brian Salomon [Wed, 21 Dec 2016 16:37:49 +0000 (11:37 -0500)]
Rename GrOp::draw to GrOp::execute
Change-Id: I36b8532c57d0b6004a5fd283e30a506df89a4fa6
Reviewed-on: https://skia-review.googlesource.com/6387
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Brian Salomon [Wed, 21 Dec 2016 16:38:53 +0000 (11:38 -0500)]
Misc batch->op cleanup Part 2 of 2
Change-Id: Iedfe5bd019ca1171ab09de569f74c57975aa54c9
Reviewed-on: https://skia-review.googlesource.com/6384
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Brian Salomon [Wed, 21 Dec 2016 16:14:46 +0000 (11:14 -0500)]
Misc batch->op cleanup Part 1 of 2
Change-Id: I80f951976558a284e55386e0a368f08bd835d8ca
Reviewed-on: https://skia-review.googlesource.com/6359
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Chris Blume [Wed, 21 Dec 2016 02:59:39 +0000 (18:59 -0800)]
Make SkGIFLZWBlock modifiable so it is assignable
std::vector needs to be able to assign objects contained inside it. With
const member variables, this isn't possible. Remove the consts so
SkGIFLZWBlock can be assigned.
BUG=skia:6072
Change-Id: I990dc80fb1c49fbd584712c6d0c1154c2da36e85
Reviewed-on: https://skia-review.googlesource.com/6362
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Brian Osman [Tue, 20 Dec 2016 16:18:03 +0000 (11:18 -0500)]
Remove sk_ref_sp's misleading preprocessor define and comment
This function will always be useful. Don't make it look/feel like a
temporary hack.
BUG=skia:
Change-Id: I6506d7d51dc3b25a7dbcea4ac273f51cf05f3a89
Reviewed-on: https://skia-review.googlesource.com/6330
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Brian Salomon [Wed, 21 Dec 2016 14:20:25 +0000 (09:20 -0500)]
This renames methods and classes that relate to static analysis of combinations of GrDrawOps and GrPipelines.
Change-Id: I737b901a19d3c67d2ff7f95802fb4df35656beb2
Reviewed-on: https://skia-review.googlesource.com/6199
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Hal Canary [Wed, 21 Dec 2016 13:18:51 +0000 (08:18 -0500)]
utils/win/SkTScopedComPtr: reset(T*)
Change-Id: I59a687569e2c7b69cdf65ebc9656c7fbffcc32e0
Motivation: to be used by SkXPS.
Reviewed-on: https://skia-review.googlesource.com/6355
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Cary Clark [Wed, 21 Dec 2016 13:25:00 +0000 (08:25 -0500)]
one more empty contour
Add one more empty contour check.
R=kjlubick@google.com
BUG=skia:6073
Change-Id: Ie971875d37388f6bd86a0bdaeaf9230d64aca38d
Reviewed-on: https://skia-review.googlesource.com/6356
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
rmistry [Wed, 21 Dec 2016 12:25:18 +0000 (04:25 -0800)]
Revert of Generate Signed Distance Field directly from vector path (patchset #23 id:440001 of https://codereview.chromium.org/
1643143002/ )
Reason for revert:
Caused test failures again but this time in Win8 and Win10 bots:
* https://chromium-swarm.appspot.com/task?id=
33384540bf6f3710&refresh=10
* https://chromium-swarm.appspot.com/task?id=
3338a3ea9f6fe510&refresh=10
Original issue's description:
> Generate Signed Distance Field directly from vector path
>
> Add SkGenerateDistanceFieldFromPath API to generate signed distance field directly from SkPath.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=
1643143002
>
> Committed: https://skia.googlesource.com/skia/+/
4de97a64e8829323a7070b623411d9f9ddb0cd0f
> Committed: https://skia.googlesource.com/skia/+/
e8f0a7b986f1e5583c9bc162efcdd92fd6430549
> Committed: https://skia.googlesource.com/skia/+/
67c7c81a82b6351e9fbbf235084d7120162d9268
> Review-Url: https://codereview.chromium.org/
1643143002
> Committed: https://skia.googlesource.com/skia/+/
64b70b096ac20833d9737758a4bd5f2a51078bc4
> Review-Url: https://codereview.chromium.org/
1643143002
> Committed: https://skia.googlesource.com/skia/+/
6d2f73c364d0d823f14d1ddebc88e0bcbc8f0634
TBR=bsalomon@google.com,jvanverth@google.com,mtklein@google.com,wasim.abbas@arm.com,caryclark@google.com,reed@google.com,egdaniel@google.com,joel.liang@arm.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/
2597473003
Mike Klein [Tue, 20 Dec 2016 22:34:29 +0000 (17:34 -0500)]
remove MIPS DSP optimizations
There are only a couple of these, primarily focused on index8 srcs and 565 dsts. The burden's starting to outweigh the benefit. No one on the team knows MIPS assembly.
If we're going to try this again, I'd rather we try some sort of SkNx / compiler-intrinsic based approach, probably targeting MIPS SIMD (MSA), not this older instruction set.
We already ignore these files for 64-bit MIPS. This just closes the loop on 32-bit MIPS.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD,Build-Ubuntu-Clang-mips64el-Debug-Android,Build-Ubuntu-Clang-mips64el-Release-Android,Build-Ubuntu-Clang-mipsel-Debug-Android,Build-Ubuntu-Clang-mipsel-Release-Android
BUG=skia:6065
Change-Id: Iecac15b56f59625b2e743ea36e7791b90bb0b422
Reviewed-on: https://skia-review.googlesource.com/6353
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
joel.liang [Wed, 21 Dec 2016 02:58:53 +0000 (18:58 -0800)]
Generate Signed Distance Field directly from vector path
Add SkGenerateDistanceFieldFromPath API to generate signed distance field directly from SkPath.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=
1643143002
Committed: https://skia.googlesource.com/skia/+/
4de97a64e8829323a7070b623411d9f9ddb0cd0f
Committed: https://skia.googlesource.com/skia/+/
e8f0a7b986f1e5583c9bc162efcdd92fd6430549
Committed: https://skia.googlesource.com/skia/+/
67c7c81a82b6351e9fbbf235084d7120162d9268
Review-Url: https://codereview.chromium.org/
1643143002
Committed: https://skia.googlesource.com/skia/+/
64b70b096ac20833d9737758a4bd5f2a51078bc4
Review-Url: https://codereview.chromium.org/
1643143002
Robert Phillips [Wed, 21 Dec 2016 00:05:09 +0000 (19:05 -0500)]
Handle failed surface creation in AlphaThresholdImageFilter GM
Change-Id: Ibc27d26a9afc1f88d5ca7de2216e09afa10ce846
Reviewed-on: https://skia-review.googlesource.com/6354
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Brian Salomon [Tue, 20 Dec 2016 21:48:59 +0000 (16:48 -0500)]
Rename batch->op in skiaserve
Change-Id: Ib831b9a6bcf4f37c0f077b26f68b1cefef81bb73
Reviewed-on: https://skia-review.googlesource.com/6351
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Robert Phillips [Tue, 20 Dec 2016 20:49:18 +0000 (15:49 -0500)]
Remove getDevice_just_for_deprecated_compatibility_testing (take 2)
Change-Id: I516ba4ff1c30bb91563a50c6f2b50f6c01c96f5b
Reviewed-on: https://skia-review.googlesource.com/6346
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Hal Canary [Tue, 20 Dec 2016 21:15:56 +0000 (16:15 -0500)]
xps.gni
Motivation: Since I am activly refactoring SkXPS, I will be needing to
add and subtract sources. This is the only way to keep chrome and skia
in sync.
TODO(halcanry): follow up in Chrome build files.
BUG=skia:3495
Change-Id: I2bfcbfce7628c34f9a623c6fa806374a10cdbb75
Reviewed-on: https://skia-review.googlesource.com/6350
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Brian Salomon [Tue, 20 Dec 2016 21:14:45 +0000 (16:14 -0500)]
Rename batch->op in GrAuditTrail.
Change-Id: I68670e5ceb06716e9928ee58485d63e157c7aca7
Reviewed-on: https://skia-review.googlesource.com/6345
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Brian Osman [Tue, 20 Dec 2016 20:54:11 +0000 (15:54 -0500)]
Add color space xform to GrMagnifierEffect
Tag helper image as sRGB in magnifier image filter GM, so we can see
this working.
BUG=skia:
Change-Id: I8057dc332d09e1d508ad8462aaf0749b307f480f
Reviewed-on: https://skia-review.googlesource.com/6347
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Brian Salomon [Tue, 20 Dec 2016 20:34:05 +0000 (15:34 -0500)]
Rename files, macros, types, and functions related to GrDrawOp testing.
Make the test factories use sk_sp.
Change-Id: Idba630b84deb2848f2203a80fd72e1efa5fc6acf
Reviewed-on: https://skia-review.googlesource.com/6342
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Brian Salomon [Tue, 20 Dec 2016 19:43:36 +0000 (14:43 -0500)]
Remove the last "batch tracker" from AAStrokeRectOp.
Most of the fields weren't really needed.
BUG=skia:
Change-Id: If0dbcb707b3a45d044656cbadbe118aa5583be2e
Reviewed-on: https://skia-review.googlesource.com/6338
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Brian Osman [Tue, 20 Dec 2016 20:00:09 +0000 (15:00 -0500)]
Add color space xform support to GrDisplacementEffect
BUG=skia:
Change-Id: I7508f27d4da6cec7acb801aa389f70c30cb5bfb5
Reviewed-on: https://skia-review.googlesource.com/6340
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Brian Osman [Tue, 20 Dec 2016 20:06:18 +0000 (15:06 -0500)]
Add color space xform bits to key for texture domain effect
Overlooked this in a recent CL
BUG=skia:
Change-Id: I050f8843cc2a8caadc2a46f1ea833b74b47f76b7
Reviewed-on: https://skia-review.googlesource.com/6341
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Robert Phillips [Tue, 20 Dec 2016 17:44:41 +0000 (12:44 -0500)]
Fix more Skia filter fuzzer bugs
This CL fixes 3 fuzzer bugs:
the rowBytes computation is really unfortunate in ReadRawPixels when width or height is negative
In two instances uints were being read through the underlying SkReader32 rather than going through the readUInt virtual
In skip SkAlign4 can wrap around and return an answer of 0 for large size_ts!!
Change-Id: I657e3afdb4804627604b59abc8008ccdfe47eab2
Reviewed-on: https://skia-review.googlesource.com/6332
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Cary Clark [Tue, 20 Dec 2016 17:52:34 +0000 (12:52 -0500)]
check for empty contours in sortable top
TBR=reed@google.com
BUG=675132
Change-Id: I022ce0c59574b450e47e22a3dac0929034439b1b
Reviewed-on: https://skia-review.googlesource.com/6334
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
Brian Salomon [Tue, 20 Dec 2016 16:41:43 +0000 (11:41 -0500)]
GPU: Fix for fuzzer issue for sw-rendered paths with large bounds.
BUG=675315
Change-Id: Ida43ef878f89d0f327ef11d1c3e0df429d5760dd
Reviewed-on: https://skia-review.googlesource.com/6331
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Robert Phillips [Mon, 19 Dec 2016 21:51:53 +0000 (16:51 -0500)]
Fix mapping from src to dst image space in SkAlphaThresholdFilter
This CL does 3 things:
It updates the imagealphathreshold GMs so they would've caught this bug
It updates SkAlphaImageThresholdFilter to fix the bug
It updates the imagealphathreshold_surface GM to match the imagealphathreshold_crop GM (which it was, presumably, originally written to do)
The bug in question is that the prior mapping from src to dst space was correct as long as the imageOffset was (0, 0).
BUG=675332
Change-Id: I3aa1f463a2234576fb2277797caa2fc4aba2650d
Reviewed-on: https://skia-review.googlesource.com/6291
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Stephan White <senorblanco@chromium.org>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Robert Phillips [Tue, 20 Dec 2016 16:11:08 +0000 (11:11 -0500)]
Fix iOS build
Change-Id: I6a698685cddb70684ced64c3373b9b7b67650d6f
Reviewed-on: https://skia-review.googlesource.com/6327
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Brian Osman [Tue, 20 Dec 2016 16:09:31 +0000 (11:09 -0500)]
Tag string bitmaps (for GMs) as sRGB
These are often used as inputs when testing image filters, and we need
tagged inputs to test the color pipeline. To avoid changing legacy mode
results, rasterize the bitmaps in legacy, but tag the output.
BUG=skia:
Change-Id: I55e2c0e0061b3f50b1caa18c19ba4fcf92cdf902
Reviewed-on: https://skia-review.googlesource.com/6280
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Robert Phillips [Tue, 20 Dec 2016 16:05:30 +0000 (11:05 -0500)]
Restore getDevice_just_for_deprecated_compatibility_testing
Change-Id: I98e73a5f72ef8c8efb1a4f382a5359d21bb5edc8
Reviewed-on: https://skia-review.googlesource.com/6325
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Brian Osman [Tue, 20 Dec 2016 15:36:35 +0000 (10:36 -0500)]
Do color space conversion in XfermodeImageFilter
BUG=skia:
Change-Id: I69c92506fca62e8711cece005f169ac05d26c872
Reviewed-on: https://skia-review.googlesource.com/6324
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Jim Van Verth [Tue, 20 Dec 2016 15:23:09 +0000 (10:23 -0500)]
Floor to scalar for SDF paths.
Should help Joel land his SDF generation patch.
Change-Id: Ib22b634715c5660f769897c153ceabdb47041838
Reviewed-on: https://skia-review.googlesource.com/6323
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Leon Scroggins III [Tue, 20 Dec 2016 14:49:25 +0000 (09:49 -0500)]
Update libwebp to v0.5.2-rc2
This matches the version used by Chromium (crbug.com/675306) and
Android (https://android-review.googlesource.com/#/c/316352/).
Update our test. In the new version, we successfully decode a subset
from incomplete input that we previously did not.
Change-Id: I3442bf59ffdf223a723d8aa75f5b9b816b9e9c3c
Reviewed-on: https://skia-review.googlesource.com/6320
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Robert Phillips [Tue, 20 Dec 2016 13:57:26 +0000 (08:57 -0500)]
Remove getDevice_just_for_deprecated_compatibility_test()
BUG=skia:6067
Change-Id: I646e75f43bc77ea884b7fad7281bf0b684996bb9
Reviewed-on: https://skia-review.googlesource.com/6299
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Matt Sarett [Mon, 19 Dec 2016 23:37:34 +0000 (18:37 -0500)]
Implement SkICC::WriteICC()
BUG=skia:
Change-Id: Idd950c3da2c517780b24e312a4e7cc16ee413c99
Reviewed-on: https://skia-review.googlesource.com/6270
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Brian Osman [Mon, 19 Dec 2016 22:04:59 +0000 (17:04 -0500)]
Respect color space in GrTextureDomainEffect
Forgot that this was plumbed in, but not being used. From local testing,
fixes color correctness in a variety of real world content.
BUG=skia:
Change-Id: Iad4cdf38da03719d1af144a9094c16d545139114
Reviewed-on: https://skia-review.googlesource.com/6296
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Mike Reed [Tue, 20 Dec 2016 13:17:36 +0000 (08:17 -0500)]
switch to _deprecated suffix for exotic SkClipOps
BUG=skia:
Change-Id: Ibb0cd0f963c040d9033cd6bcb040c651bca99651
Reviewed-on: https://skia-review.googlesource.com/6206
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Herb Derby [Mon, 19 Dec 2016 20:40:28 +0000 (15:40 -0500)]
Fix, cleanup and document the clamp tiler better.
* Fix by making the bounds where the bounds of the edge effect starts to be .5 pixels all around the border.
* Sample from the center of the pixel. This was wrong on the left edge.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5127
Change-Id: I39af942644fa58f0ee8dc7027481fef85b9488fe
Reviewed-on: https://skia-review.googlesource.com/5127
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Cary Clark [Mon, 19 Dec 2016 16:16:36 +0000 (11:16 -0500)]
handle empty contours in a couple more places
R=kjlubick@google.com
BUG=skia:6061
Change-Id: I5b465f1495f80a5ac44253cadf4afd7f509fa75b
Reviewed-on: https://skia-review.googlesource.com/6268
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
Jim Van Verth [Mon, 19 Dec 2016 19:45:19 +0000 (14:45 -0500)]
Fix precision errors in large circle rendering.
BUG=skia:6044
Change-Id: I2ff2a80e1e6798ad18d1c8ec97e8b0fcc731e9af
Reviewed-on: https://skia-review.googlesource.com/6281
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Matt Sarett [Mon, 19 Dec 2016 19:33:35 +0000 (14:33 -0500)]
Fix swapped interpretation of c and e in SkColorSpace_ICC
The ICC errata supports the opposite of what we do.
http://www.color.org/icc_specs2.xalter
TBR=reed@google.com
BUG=skia:
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Change-Id: I18ace7f312926b264e624c30d8cb983eff5c434b
Reviewed-on: https://skia-review.googlesource.com/6277
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Mike Reed [Mon, 19 Dec 2016 18:39:49 +0000 (13:39 -0500)]
update dox for generateScaledPixels
BUG=skia:
Change-Id: Ia897c9f58ccb856b92308cdec0abde86fb1b2e29
Reviewed-on: https://skia-review.googlesource.com/6278
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Robert Phillips [Mon, 19 Dec 2016 17:58:14 +0000 (12:58 -0500)]
Guard some uint32_t -> int cases in SkPictureData reading
Change-Id: I67e6a67a57bf83922d159083e359df1a8ce053c1
Reviewed-on: https://skia-review.googlesource.com/6275
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Florin Malita [Mon, 19 Dec 2016 15:55:41 +0000 (10:55 -0500)]
Consolidate TILEX_LOW_BITS/TILEY_LOW_BITS -> EXTRACT_LOW_BITS
R=reed@google.com
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Change-Id: I5450d1ae3239c9d4e70502fc042222410ac77e72
Reviewed-on: https://skia-review.googlesource.com/6265
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Robert Phillips [Mon, 19 Dec 2016 16:37:37 +0000 (11:37 -0500)]
"Fix" some ImageFilter fuzzer issues
SkClipOp.h & SkPictureFlat.h
Invalid SkClipOps were getting through - the question here is where (for a class enum) is a good place to put the k*Mask definition.
SkPath1DPathEffect
NaNs were getting past.
SkBlurMaskFilter
Assert wasn't necessary since we whacked the flag on the next line.
Change-Id: I87f95ad39f4760284f881d7c4500eb82fcdba282
Reviewed-on: https://skia-review.googlesource.com/6194
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Ben Wagner [Fri, 16 Dec 2016 20:34:58 +0000 (15:34 -0500)]
Explicit ownership of data in SkBlockMemoryStream.
SkBlockMemoryStream does not currently document the ownership of its
data pointers. Make the ownership explicit.
Change-Id: Id3f59d09c298550a987a4e74031e2d920e83ba82
Reviewed-on: https://skia-review.googlesource.com/6222
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Leon Scroggins III [Mon, 19 Dec 2016 14:32:21 +0000 (09:32 -0500)]
Allow running gn_to_bp.py from another script
Use __file__ to determine where 'here' is.
Necessary for
https://chrome-internal-review.googlesource.com/313075.
Change-Id: I1b9571847c761da311012039e2c885fad0a593cb
Reviewed-on: https://skia-review.googlesource.com/6230
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Leon Scroggins III [Fri, 16 Dec 2016 16:39:51 +0000 (11:39 -0500)]
GIF: Avoid copying/storing data when possible
If the input SkStream has a length and position, do not copy and store
LZW blocks or ColorMaps. Instead, mark the position and size, and read
from the stream when necessary.
This will save memory in Chromium's use case, which has already
buffered all of its data.
In the case where we *do* need to copy, store it on the SkStreamBuffer.
This allows SkGifImageReader to have simpler code.
Add tests.
Change-Id: Ic65fa766328ae2e5974b2084bc2099e19aced731
Reviewed-on: https://skia-review.googlesource.com/6157
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Matt Sarett [Mon, 19 Dec 2016 14:43:30 +0000 (09:43 -0500)]
Move existing writeICC() code into SkICC
BUG=skia:
Change-Id: Ifb7db7adcc69104fa9abe1765fd60b7f627bdbaf
Reviewed-on: https://skia-review.googlesource.com/6261
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Greg Daniel [Mon, 19 Dec 2016 14:28:50 +0000 (09:28 -0500)]
Temorarily remove Vulkan NexusPlayer bots till we can fix them
BUG=skia:
Change-Id: Iba79f4ade1ed653098eb81f30b02d02aa542028d
Reviewed-on: https://skia-review.googlesource.com/6240
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Eric Boren [Mon, 19 Dec 2016 13:21:26 +0000 (08:21 -0500)]
Roll Recipe DEPS
BUG=skia:
Change-Id: Ifcfbd2b6d5ae636b6c11e9bfae29cc03e569c18d
Reviewed-on: https://skia-review.googlesource.com/6237
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
UpdateSKPs [Sun, 18 Dec 2016 06:57:19 +0000 (06:57 +0000)]
Update SKP version
Automatic commit by the RecreateSKPs bot.
TBR=update-skps@skia.org
NO_MERGE_BUILDS
Change-Id: Ieba42cd46dd6c85836bb439cc3100ef000b644f1
Reviewed-on: https://skia-review.googlesource.com/6204
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Mike Reed [Sat, 17 Dec 2016 12:27:05 +0000 (07:27 -0500)]
simplify generatescaledpixels
BUG=skia:
Change-Id: Ia1f975d8ca088a552258fd70d3333683a88bbb5f
Reviewed-on: https://skia-review.googlesource.com/6234
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
rmistry [Mon, 19 Dec 2016 12:32:28 +0000 (04:32 -0800)]
Revert of Generate Signed Distance Field directly from vector path (patchset #23 id:440001 of https://codereview.chromium.org/
1643143002/ )
Reason for revert:
Seems to have caused lot of test bots to fail.
Eg:
https://luci-milo.appspot.com/swarming/task/
332e3b427135f010
Original issue's description:
> Generate Signed Distance Field directly from vector path
>
> Add SkGenerateDistanceFieldFromPath API to generate signed distance field directly from SkPath.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=
1643143002
>
> Committed: https://skia.googlesource.com/skia/+/
4de97a64e8829323a7070b623411d9f9ddb0cd0f
> Committed: https://skia.googlesource.com/skia/+/
e8f0a7b986f1e5583c9bc162efcdd92fd6430549
> Committed: https://skia.googlesource.com/skia/+/
67c7c81a82b6351e9fbbf235084d7120162d9268
> Review-Url: https://codereview.chromium.org/
1643143002
> Committed: https://skia.googlesource.com/skia/+/
64b70b096ac20833d9737758a4bd5f2a51078bc4
TBR=bsalomon@google.com,jvanverth@google.com,mtklein@google.com,wasim.abbas@arm.com,caryclark@google.com,reed@google.com,egdaniel@google.com,joel.liang@arm.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/
2580373002
joel.liang [Mon, 19 Dec 2016 04:24:12 +0000 (20:24 -0800)]
Generate Signed Distance Field directly from vector path
Add SkGenerateDistanceFieldFromPath API to generate signed distance field directly from SkPath.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=
1643143002
Committed: https://skia.googlesource.com/skia/+/
4de97a64e8829323a7070b623411d9f9ddb0cd0f
Committed: https://skia.googlesource.com/skia/+/
e8f0a7b986f1e5583c9bc162efcdd92fd6430549
Committed: https://skia.googlesource.com/skia/+/
67c7c81a82b6351e9fbbf235084d7120162d9268
Review-Url: https://codereview.chromium.org/
1643143002
Florin Malita [Fri, 16 Dec 2016 22:20:54 +0000 (17:20 -0500)]
Fix clamp lowbits extraction when combined with non-clamp
R=reed@google.com
Change-Id: I1dc17c827077e968d4dbcd0f9ea8da8e1732b253
Reviewed-on: https://skia-review.googlesource.com/6231
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Matt Sarett [Sun, 18 Dec 2016 18:49:43 +0000 (13:49 -0500)]
Fix iOS build
TBR=rmistry@google.com
BUG=skia:
Change-Id: I5fc38227138d5433b2435d9dab13ec5ade9a26b8
Reviewed-on: https://skia-review.googlesource.com/6235
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Ravi Mistry [Sat, 17 Dec 2016 01:31:03 +0000 (01:31 +0000)]
Revert "Revert "WIP: Skia support library for ICC tasks""
This reverts commit
eb733fbf56538838a36814c75cd03f917462cb22.
Reason for revert: Revert patch was automatically merged incorrectly?
Original change's description:
> Revert "WIP: Skia support library for ICC tasks"
>
> This reverts commit
fc8dc3194acb959ee5980b41766660ca0644bcab.
>
> Reason for revert: Breaks Build-Mac-Clang-Arm7-{Debug,Release}-iOS builds.
> Example tasks:
> * https://chromium-swarm.appspot.com/task?id=
3322f668620b9e10&refresh=10
> * https://chromium-swarm.appspot.com/task?id=
332296146331e810&refresh=10
>
> Original change's description:
> > WIP: Skia support library for ICC tasks
> >
> > As a starting point, this would be mostly trivial to implement using
> > SkColorSpace.
> >
> > This also would give us the flexibility to begin to move all of
> > the ICC related code from SkColorSpace to SkICC.
> >
> > What are the advantages of moving this away from SkColorSpace?
> > (1) A long term goal (once Chrome uses SkCodec), might be to
> > move SkColorSpace::MakeICC() out of the public API. That way,
> > we can guarantee that we can draw to/from *any* SkColorSpace.
> > (2) Keeps SkColorSpace separate from ICC-specific representations
> > like SkColorSpaceTransferFn etc.
> >
> > BUG=skia:
> >
> > Change-Id: Iddeb9903221fb57fbfc01218d8641c928b4a5165
> > Reviewed-on: https://skia-review.googlesource.com/5676
> > Commit-Queue: Matt Sarett <msarett@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Reviewed-by: Mike Reed <reed@google.com>
> >
>
> TBR=mtklein@google.com,msarett@google.com,brianosman@google.com,reed@google.com,reviews@skia.org
> BUG=skia:
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: Ibdf272fce25892402bd3e85595fb8814cdf59856
> Reviewed-on: https://skia-review.googlesource.com/6232
> Commit-Queue: Ravi Mistry <rmistry@google.com>
> Reviewed-by: Ravi Mistry <rmistry@google.com>
>
TBR=mtklein@google.com,rmistry@google.com,msarett@google.com,reviews@skia.org,brianosman@google.com,reed@google.com
BUG=skia:
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I68b1624cfab8adfe31b17e1193a7766507dec8b0
Reviewed-on: https://skia-review.googlesource.com/6233
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Ravi Mistry [Sat, 17 Dec 2016 01:26:51 +0000 (01:26 +0000)]
Revert "WIP: Skia support library for ICC tasks"
This reverts commit
fc8dc3194acb959ee5980b41766660ca0644bcab.
Reason for revert: Breaks Build-Mac-Clang-Arm7-{Debug,Release}-iOS builds.
Example tasks:
* https://chromium-swarm.appspot.com/task?id=
3322f668620b9e10&refresh=10
* https://chromium-swarm.appspot.com/task?id=
332296146331e810&refresh=10
Original change's description:
> WIP: Skia support library for ICC tasks
>
> As a starting point, this would be mostly trivial to implement using
> SkColorSpace.
>
> This also would give us the flexibility to begin to move all of
> the ICC related code from SkColorSpace to SkICC.
>
> What are the advantages of moving this away from SkColorSpace?
> (1) A long term goal (once Chrome uses SkCodec), might be to
> move SkColorSpace::MakeICC() out of the public API. That way,
> we can guarantee that we can draw to/from *any* SkColorSpace.
> (2) Keeps SkColorSpace separate from ICC-specific representations
> like SkColorSpaceTransferFn etc.
>
> BUG=skia:
>
> Change-Id: Iddeb9903221fb57fbfc01218d8641c928b4a5165
> Reviewed-on: https://skia-review.googlesource.com/5676
> Commit-Queue: Matt Sarett <msarett@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
>
TBR=mtklein@google.com,msarett@google.com,brianosman@google.com,reed@google.com,reviews@skia.org
BUG=skia:
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Ibdf272fce25892402bd3e85595fb8814cdf59856
Reviewed-on: https://skia-review.googlesource.com/6232
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Brian Salomon [Fri, 16 Dec 2016 23:59:19 +0000 (18:59 -0500)]
Rename GrBatchAtlas -> GrDrawOpAtlas.
Change-Id: I776f37e42dcab8b16535c48df9c405b1f211f6c9
Reviewed-on: https://skia-review.googlesource.com/6165
Commit-Queue: Brian Salomon <brian@thesalomons.net>
Reviewed-by: Brian Osman <brianosman@google.com>
Brian Salomon [Fri, 16 Dec 2016 19:24:46 +0000 (14:24 -0500)]
Rename GrBatchAtlas files to GrDrawOpAtlas
This intermediary change only exists to make the actual class rename change readable on gerrit due to gerrit not recognizing file renames correctly.
Change-Id: I919f84837fb17191ca49f00f82e56330f84766da
Reviewed-on: https://skia-review.googlesource.com/6190
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
raftias [Fri, 16 Dec 2016 22:24:30 +0000 (17:24 -0500)]
Added gamma visualizations to colorspaceinfo tool
Visualizations for gamma curves were added.
Tool now outputs at the end following 9 ='s a list of all output images.
BUG=skia:
Change-Id: Id934c4c8cceec68291527554c2c951be08593ef5
Reviewed-on: https://skia-review.googlesource.com/6085
Commit-Queue: Robert Aftias <raftias@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Cary Clark [Fri, 16 Dec 2016 22:17:25 +0000 (17:17 -0500)]
rework xor to be more like winding
Pathops is very well exercised with winding paths,
but less so with xor (even odd) paths.
Rewrite the xor main loop to look like the winding
one to take advantage of the latter's bug fixes.
TBR=reed@google.com
BUG=skia:6041
Change-Id: Ied8d522254a327b1817b54f0abbf4414f5fab7da
Reviewed-on: https://skia-review.googlesource.com/6228
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
Lee Salzman [Fri, 16 Dec 2016 18:56:32 +0000 (13:56 -0500)]
tweak SkOnce.h header to work around issues with std::atomic::compare_exchange_strong
BUG=skia:
Change-Id: Id29c47cb4bec6a6d70d6514d18fa4ab9bd31b1e2
Reviewed-on: https://skia-review.googlesource.com/6200
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Matt Sarett [Fri, 16 Dec 2016 21:28:17 +0000 (16:28 -0500)]
WIP: Skia support library for ICC tasks
As a starting point, this would be mostly trivial to implement using
SkColorSpace.
This also would give us the flexibility to begin to move all of
the ICC related code from SkColorSpace to SkICC.
What are the advantages of moving this away from SkColorSpace?
(1) A long term goal (once Chrome uses SkCodec), might be to
move SkColorSpace::MakeICC() out of the public API. That way,
we can guarantee that we can draw to/from *any* SkColorSpace.
(2) Keeps SkColorSpace separate from ICC-specific representations
like SkColorSpaceTransferFn etc.
BUG=skia:
Change-Id: Iddeb9903221fb57fbfc01218d8641c928b4a5165
Reviewed-on: https://skia-review.googlesource.com/5676
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Cary Clark [Fri, 16 Dec 2016 21:31:11 +0000 (16:31 -0500)]
fix fuzzing empty contours squirrelly cubics
The fuzzer triggered relatively new code that
missized the split cubic array, i.e., if a cubic
is split in three places it makes four cubics.
The fuzzer triggered other relative new code
that permits a contour to be empty. This happens
when a line crosses over itself but doesn't
enclose anything.
R=kjlubick@google.com
BUG=skia:6061
Change-Id: I0c04d0d390ff1092f7b3bb28ebbfca517451f497
Reviewed-on: https://skia-review.googlesource.com/6223
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Matt Sarett [Thu, 15 Dec 2016 18:05:53 +0000 (13:05 -0500)]
Rearrange ICC profile parsing
None of the small details have changed, just some high level
reorganization:
(1) Check for XYZ spaces before A2B.
(2) If we fail to parse the XYZ space, fallback by trying to
parse the A2B space.
This should cause no image diffs on Gold.
There is an image from the ICC website that is *supposed* to
test that we parse the A2B tag before the XYZ tag. Our
behavior on this image will actually not change - the XYZ
tag is invalid (non-D50 matrix), so we fall back to A2B
anyway. I think this behavior is ok.
BUG:674584
Change-Id: I271fd990937268e03e98f5037a0837a574e775ef
Reviewed-on: https://skia-review.googlesource.com/6143
Reviewed-by: Robert Aftias <raftias@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Leon Scroggins III [Fri, 16 Dec 2016 19:17:03 +0000 (14:17 -0500)]
Only attempt index8 if underlying GIF is index8
Recent changes (crrev.com/
2045293002) made it so that a GIF may not
support index 8. In that case, make SkAndroidCodec not suggest index 8.
Add a test and a new test file. randPixelsOffset.gif is the same as
randPixels.gif, except its frame is offset. Since it does not have a
transparent index, we have to decode to kN32.
Change-Id: I1c09ab9094083de3dfc436632b3c26dbde1dccbd
Reviewed-on: https://skia-review.googlesource.com/6196
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Brian Salomon [Fri, 16 Dec 2016 19:24:34 +0000 (14:24 -0500)]
Rename GrBatchFontCache->GrAtlasGlyphCache
Change-Id: Ie21e18b631daa24e70df630b9f910213f62bdbdf
Reviewed-on: https://skia-review.googlesource.com/6164
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Ben Wagner [Fri, 16 Dec 2016 16:51:41 +0000 (16:51 +0000)]
Remove SkDynamicMemoryWStream::getOffset.
This method does the same thing as ::bytesWritten but has a confusing
name. It appears there are no external users, so remove it.
Change-Id: I06aed269200c34c2dda36605092f8ea37fcec693
Reviewed-on: https://skia-review.googlesource.com/6188
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Cary Clark [Fri, 16 Dec 2016 16:32:54 +0000 (11:32 -0500)]
dump path fill type with data
SkPath::dump() and SkPath::dumpHex() dump the fill type
in addition to the data so that the original path can
be faithfully reconstructed.
This may be a small part of why some error cases
aren't reproduced.
R=reed@google.com
BUG=skia:6041
Change-Id: Ice86bf08ea907a6b87ceef182a9316a3c979af0b
Reviewed-on: https://skia-review.googlesource.com/6185
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
Brian Salomon [Fri, 16 Dec 2016 17:34:41 +0000 (12:34 -0500)]
rm unnecessary forward decl of GrClip in GrDashOp.h
Change-Id: I275c2c906997d844628e01e6d0863faac26957b0
Reviewed-on: https://skia-review.googlesource.com/6189
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Brian Osman [Fri, 16 Dec 2016 16:55:18 +0000 (11:55 -0500)]
Add color space to picture image as a creation parameter
This gives a picture image a preferred "native" color space, which
facilitates caching and other things.
BUG=skia:
Change-Id: I95988c14d17f96d7d870b3d1c3b723c36e2c170d
Reviewed-on: https://skia-review.googlesource.com/6158
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Robert Phillips [Fri, 16 Dec 2016 16:47:46 +0000 (11:47 -0500)]
Add GM for filtering bug
For SkFilterQuality we get:
High - repros for GPU
Medium - repros for both!
Low - repros for both!
None - doesn't repro
For AA quality (with filter quality fixed at High) we get:
AA - repros for GPU
BW - repros for GPU
BUG=673261
Change-Id: Ibf0644352bfa9d9c0e2d166e396ce9e9799b6d9d
Reviewed-on: https://skia-review.googlesource.com/6187
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Mike Reed [Fri, 16 Dec 2016 16:22:51 +0000 (11:22 -0500)]
hide deprecated SkImage::preroll
BUG=skia:
Change-Id: Id7369b0c3b4216f7e040e51c2c80520f20e7168a
Reviewed-on: https://skia-review.googlesource.com/6184
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Brian Salomon [Fri, 16 Dec 2016 14:52:16 +0000 (09:52 -0500)]
move src/gpu/batches -> src/gpu/ops
Change-Id: I6410eae41f051ce38bef6f38d670924c3483c325
Reviewed-on: https://skia-review.googlesource.com/6163
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Brian Salomon [Fri, 16 Dec 2016 14:35:49 +0000 (09:35 -0500)]
Rename GrTestBatch and subclasses to Op
Change-Id: Ideab66b7ca227057a767be48aba3ea69a0a19115
Reviewed-on: https://skia-review.googlesource.com/6161
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Brian Salomon [Fri, 16 Dec 2016 14:50:45 +0000 (09:50 -0500)]
Rename batch->op and sk_sp in instanced rendering
Change-Id: I9df450f2bce51d4f803d419bef863ca3a3314f09
Reviewed-on: https://skia-review.googlesource.com/6162
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Brian Salomon [Fri, 16 Dec 2016 14:32:00 +0000 (09:32 -0500)]
Rename batch->op and sk_sp for all remaining path renderer classes.
Change-Id: Iaa5551d3efe33b8b679b1913a19119ee3ed2e9b6
Reviewed-on: https://skia-review.googlesource.com/6159
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Matt Sarett [Thu, 15 Dec 2016 23:17:33 +0000 (18:17 -0500)]
Fix gray png BRD tests
Before my recent CL, these were not run at all (because the decode
color type was gray and the bitmap color type was alpha).
https://skia-review.googlesource.com/c/6088/
Now that these are being run, we should mark the bitmap as
gray so they draw correctly.
BUG=skia:
Change-Id: I9bdfe97671a60da2bcbef55377e1c1b2bd326f8f
Reviewed-on: https://skia-review.googlesource.com/6160
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Matt Sarett [Fri, 16 Dec 2016 14:02:18 +0000 (09:02 -0500)]
Mark CG and WIC images as srgb
Otherwise they look funny when we draw them to srgb (drawing
untagged srcs to srgb canvas is undefined).
The image generator tests were recently changed to run on srgb.
BUG=skia:
Change-Id: I6ec07dbf736ed2a16a5db89b4028a44a98037f70
Reviewed-on: https://skia-review.googlesource.com/6182
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>