Greg Daniel [Thu, 25 May 2017 18:02:01 +0000 (14:02 -0400)]
Initialize blit framebuffer in GL even if not doing msaa
No-Tree-Checks: true
No-Try: true
No-Presubmit: true
Bug: skia:
Change-Id: I6b7290485e0c3123c62a50ec156738862e9ad18c
Reviewed-On: https://skia-review.googlesource.com/17926
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-By: Brian Salomon <bsalomon@google.com>
Reviewed-on: https://skia-review.googlesource.com/17980
Reviewed-by: Greg Daniel <egdaniel@google.com>
Mike Reed [Wed, 24 May 2017 20:45:34 +0000 (16:45 -0400)]
add stage for gaussian alpha to rgba for shadows
speeds up GM:shadow_utils 20%
Bug: skia:
Change-Id: If52dd5e2c76ace82d06351af1419e0663a3a634f
Reviewed-on: https://skia-review.googlesource.com/17844
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Leon Scroggins [Wed, 24 May 2017 21:23:58 +0000 (21:23 +0000)]
Revert "Add animated webp images to DM testing"
This reverts commit
6ecc373cde276ecf19d9599f7502b79ebf575936.
Reason for revert: skbug.com/6682
Original change's description:
> Add animated webp images to DM testing
>
> Change-Id: Idb6f95574136cbcb4fb45784a5bf1db3fa97ab32
> Reviewed-on: https://skia-review.googlesource.com/17832
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Leon Scroggins <scroggo@google.com>
>
TBR=borenet@google.com,msarett@google.com,scroggo@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I6674dbb66a24e425b3432309a8f37e19cf484d48
Reviewed-on: https://skia-review.googlesource.com/17846
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Florin Malita [Wed, 24 May 2017 21:15:46 +0000 (21:15 +0000)]
Revert "SkShaderBase"
This reverts commit
58a756435ca3700d9766a4580bb0771a9774f603.
Reason for revert: g3, Android borkage.
Original change's description:
> SkShaderBase
>
> Introduce a private base class (SkShaderBase), to hide
> implementation details from the public interface (SkShader).
>
> Change-Id: If3ec26ca6abc9da20e3f139c11fdc023bdd85176
> Reviewed-on: https://skia-review.googlesource.com/17241
> Commit-Queue: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Mike Reed <reed@google.com>
>
TBR=mtklein@google.com,fmalita@chromium.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I32b012ee466dd006c074593f211f43ed602f1078
Reviewed-on: https://skia-review.googlesource.com/17845
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Kevin Lubick [Wed, 24 May 2017 19:30:35 +0000 (15:30 -0400)]
Enable chromecast gpu perf
The new #ifndef account for what the chromecast sdk
cannot handle (e.g. posix).
Bug: skia:6581
Change-Id: I3d64d25980d80185f8b95c05badee5f665d97cd3
Reviewed-on: https://skia-review.googlesource.com/13811
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Wei-Yin Chen (陳威尹) [Wed, 24 May 2017 07:59:19 +0000 (00:59 -0700)]
Reduce absolute paths in generated ninja files in skia
BUG=chromium:723856
Change-Id: Ifa065daddfe1d775e843307587e4007ad6dae6d4
Reviewed-on: https://skia-review.googlesource.com/17802
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Florin Malita [Wed, 24 May 2017 19:33:28 +0000 (15:33 -0400)]
SkShaderBase
Introduce a private base class (SkShaderBase), to hide
implementation details from the public interface (SkShader).
Change-Id: If3ec26ca6abc9da20e3f139c11fdc023bdd85176
Reviewed-on: https://skia-review.googlesource.com/17241
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Greg Daniel [Wed, 24 May 2017 19:27:46 +0000 (15:27 -0400)]
Allow for non opaque colors for src-over lcd fallback case in gpu
Since skia is currently requiring the dst to be opaque for lcd draws this
change is safe to make in terms of correctly. It will also be faster than
the current shader based blending.
Bug: chromium:725879
Change-Id: I0c14b80eb5ab819500afc55030df83d5ddbef94a
Reviewed-on: https://skia-review.googlesource.com/17840
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Hal Canary [Tue, 23 May 2017 15:47:05 +0000 (11:47 -0400)]
SkStream: DynamicMemoryWStream gets writeToAndReset
This is similar to copyToAndReset().
Also use this in SkPDF, for minor memory savings:
Single-threaded DM's peak RSS drops from 239MB
to 228MB.
Change-Id: I352a980e6dd54eb05d74cd057bd50e02312753b0
Reviewed-on: https://skia-review.googlesource.com/17714
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Florin Malita [Wed, 24 May 2017 18:53:44 +0000 (14:53 -0400)]
SkSTArenaAlloc
Syntactic sugar, gets rid of some boilerplate.
Change-Id: Ibdb28b7a8f1d5e4a4e18c12d423b987d7194e340
Reviewed-on: https://skia-review.googlesource.com/17837
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Mike Reed [Wed, 24 May 2017 17:53:36 +0000 (13:53 -0400)]
Use rasterpipeline for drawVertices
Bug: skia:
Change-Id: If6da119ee98f26981cef9373162ddb526db77be5
Reviewed-on: https://skia-review.googlesource.com/17422
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
Mike Klein [Wed, 24 May 2017 18:08:33 +0000 (14:08 -0400)]
also run srgb config on SK_FORCE_RASTER_PIPELINE_BLITTER bot
This helps make srgb triage easier.
Change-Id: Id9cf0568f28de94d4485ba4ccb6d3235d32373a3
Reviewed-on: https://skia-review.googlesource.com/17839
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Klein [Wed, 24 May 2017 15:37:52 +0000 (11:37 -0400)]
better extend: alloc once, no recursion
Change-Id: I6a8cee08248462e4e17196028758dd8d44093b28
Reviewed-on: https://skia-review.googlesource.com/17831
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Klein [Wed, 24 May 2017 16:19:02 +0000 (12:19 -0400)]
inline SkArenaAlloc::allocObject()
Call overhead does appear to be showing up on our profiles.
Change-Id: If3875a8972769f45282e0eb1d4aef6324cd56878
Reviewed-on: https://skia-review.googlesource.com/17833
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Leon Scroggins III [Wed, 24 May 2017 15:39:51 +0000 (11:39 -0400)]
Add animated webp images to DM testing
Change-Id: Idb6f95574136cbcb4fb45784a5bf1db3fa97ab32
Reviewed-on: https://skia-review.googlesource.com/17832
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Ravi Mistry [Wed, 24 May 2017 13:18:03 +0000 (09:18 -0400)]
Update the SKP repository used by the CT bots
The SKP repository was updated in skbug.com/6666
The CT bots are:
* Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_1k_SKPs
* Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs
* Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_100k_SKPs
* Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_IMG_DECODE_100k_SKPs
* Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_1m_SKPs
BUG=skia:6676
Change-Id: I625e6a3947bb6c3f377c19dd0dc55b417842ca5b
Reviewed-on: https://skia-review.googlesource.com/17821
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Derek Sollenberger [Wed, 24 May 2017 15:41:33 +0000 (11:41 -0400)]
Add GrContext API to report the number of purgeable bytes in the cache.
Change-Id: I1457eec9831736f386e3b3b80d9eac8dbb337a9b
Reviewed-on: https://skia-review.googlesource.com/17829
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Brian Salomon [Wed, 24 May 2017 14:07:30 +0000 (10:07 -0400)]
Clear atlas textures at creation in Chrome
Bug: chromium:656320
Change-Id: Ia65274aa733f199be188579821e745920493aefc
Reviewed-on: https://skia-review.googlesource.com/17824
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Yuqian Li [Wed, 24 May 2017 13:58:07 +0000 (09:58 -0400)]
Add cumulative fps to SampleApp
In some samples (whose frame time is really really small),
the fps number jumps so fast that I can hardly see even
the first digit of the number. This problem will become
more severe for threaded backend which substantially lowers
the frame time. Taking an average over a long time would
give me a much more stable fps number.
Bug: skia:
Change-Id: Ie6052b4735d9410d5e644331bf025b5bf9f40323
Reviewed-on: https://skia-review.googlesource.com/17823
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Mike Klein [Tue, 23 May 2017 19:06:17 +0000 (15:06 -0400)]
add a bulk shader path through SkRasterPipelineBlitter
Change-Id: I76f1f0c29b3408bffb7732ee1afb8337c478605e
Reviewed-on: https://skia-review.googlesource.com/17768
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Ethan Nicholas [Wed, 24 May 2017 14:33:05 +0000 (10:33 -0400)]
blacklist failing Chromecast tests
Bug: skia:6581
Change-Id: Iaaada6efda4737db5f7ad81c20da1b1323bad17a
Reviewed-on: https://skia-review.googlesource.com/17825
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Mike Klein [Wed, 24 May 2017 11:53:00 +0000 (07:53 -0400)]
SkRasterPipeline in SkArenaAlloc
Bug: skia:6673
Change-Id: Ia2bae4f6a9039a007a10b6b45bcf2f0854bf6e5c
Reviewed-on: https://skia-review.googlesource.com/17794
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Kevin Lubick [Wed, 24 May 2017 13:11:42 +0000 (09:11 -0400)]
Update go to 1.8.2
Since we cache the cipd files in isolate to save a lot of speed on RPIs,
it is no longer necessary to stop compressing our cipd packages.
It only saved us a few seconds on extracting anyway, which is now likely
lost because of the extra download times.
(https://skia-review.googlesource.com/c/16490)
Bug: skia:
NOTRY=true
Change-Id: Ib9b1a29088cddc8790a685935995b0fce07d864f
Reviewed-on: https://skia-review.googlesource.com/17799
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Kevin Lubick [Wed, 24 May 2017 12:34:16 +0000 (08:34 -0400)]
Mark SkGifImageReader destructors with override
Very new versions of Clang (5.0 TOT) call out this problem.
Bug: skia:
Change-Id: If90f658f258ca52ebb21e2352fbf3180c41008bd
Reviewed-on: https://skia-review.googlesource.com/17795
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Leon Scroggins III [Tue, 23 May 2017 20:58:09 +0000 (16:58 -0400)]
Premultiply in DM before drawing unpremul f16
We special case N32, but need to also handle f16
Change-Id: I0d6061d55e55c5952c740255e4600366d8d77919
Reviewed-on: https://skia-review.googlesource.com/17786
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Mike Reed [Wed, 24 May 2017 03:00:14 +0000 (23:00 -0400)]
move all details for dashing into impl
Bug: skia:
Change-Id: I035603ad75158d9984cce7807bef6a668d9eb014
Reviewed-on: https://skia-review.googlesource.com/17793
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Mike Reed [Wed, 24 May 2017 01:27:59 +0000 (21:27 -0400)]
add image variant to patch gm
Bug: skia:
Change-Id: Icaa1e2854775d8a79a8b3520163a863605336d05
Reviewed-on: https://skia-review.googlesource.com/17792
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Brian Salomon [Tue, 23 May 2017 20:53:47 +0000 (16:53 -0400)]
Revert "Revert "Add a flag to GrSurfaceFlags that requires the texture to be cleared upon creation. ""
This reverts commit
a9e795eab5f59a52d96b8fdc39351452835f5eb9.
Bug: skia:
Change-Id: Ibfc51497ae99f332f8f72a799393a1b2996f7f3f
Reviewed-on: https://skia-review.googlesource.com/17767
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Brian Osman [Tue, 23 May 2017 21:09:19 +0000 (17:09 -0400)]
Legacy raster still doesn't handle transparent LCD
Bug: skia:6655
Change-Id: I1431fb5bcf955dd32c15dad9d24a6a7a7aa626f0
Reviewed-on: https://skia-review.googlesource.com/17788
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Ravi Mistry [Tue, 23 May 2017 18:24:08 +0000 (14:24 -0400)]
Use Gerrit style format for footers in Presubmit
This also fixes a bug where CQ keywords were added multiple times because it was
looking for them in the wrong place (new_description_lines instead of the footers).
Bug: skia:6667
Change-Id: I91232297343145884b3fe7c2e923373679cf029e
Reviewed-on: https://skia-review.googlesource.com/17704
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Jim Van Verth [Tue, 23 May 2017 18:35:46 +0000 (14:35 -0400)]
Add ship.png for DrawShip sample
Bug: skia:5526
Change-Id: I12bd44c7dabd72f215a34ce9e733bb7a29d3fc68
Reviewed-on: https://skia-review.googlesource.com/17763
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Ravi Mistry [Tue, 23 May 2017 18:35:35 +0000 (14:35 -0400)]
Update documentation to specify the new Gerrit style CQ keywords
BUG=skia:6667
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=17762
Change-Id: I440b5565589102ae6026b5da4716fd43d4a48d6a
Reviewed-on: https://skia-review.googlesource.com/17762
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Brian Osman [Tue, 23 May 2017 19:03:18 +0000 (15:03 -0400)]
Fix flag collision in GrDrawVerticesOp
We were setting a flag meant for Mesh.fFlags on the Op's fFlags. Switch
the Mesh's flags to be a pair of bools, to avoid this in the future.
Bug: skia:
Change-Id: Ib660f3bc9c54874d088a85251f629758c365c8c6
Reviewed-on: https://skia-review.googlesource.com/17766
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Christopher Cameron [Tue, 23 May 2017 06:12:01 +0000 (23:12 -0700)]
Make SkPictureImageFilter::drawPictureAtLocalResolution use color xform
This creates a temporary SkCanvas, which needs to be wrapped in a color
xform canvas to behave appropriately.
bug:725372
Change-Id: I572437770f271b7fb813519c0966cd3177b9eeaf
Reviewed-on: https://skia-review.googlesource.com/17658
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Christopher Cameron <ccameron@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Leon Scroggins III [Tue, 23 May 2017 19:28:46 +0000 (15:28 -0400)]
Fix alpha in webp bug introduced with animation
Prior to
557fbbe05ba48bcc20be684d11fe0edfc24c87ba, if there was a
colorXform, we told libwebp to decode to unpremul, since
premultiplication is handled by the colorXform. In that CL, I handled
this in the case where the dst color type was not 8888 or when blending
with the prior frame, but not in the 8888/not blending with the prior
frame case.
Rearrange the code so we always tell libwebp to use BGRA_8888 unpremul
if there is a colorXform.
Change-Id: Ie1121bc65da6520af895e8eb72d53573426b7bd6
Reviewed-on: https://skia-review.googlesource.com/17781
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Greg Daniel [Tue, 23 May 2017 19:21:02 +0000 (15:21 -0400)]
Really disable srgb on nexus player vulkan
Bug: skia:
Change-Id: I75804136195fdddffd6498660e8f96e0580f7cd8
Reviewed-on: https://skia-review.googlesource.com/17780
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Mike Klein [Fri, 19 May 2017 23:15:55 +0000 (19:15 -0400)]
Dither copies when decreasing precision below 32-bit.
Same GM diffs as the last attempt in 8888.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Android-Clang-PixelC-CPU-TegraX1-arm64-Release-Android,Test-Win2k8-MSVC-GCE-CPU-AVX2-x86-Release,Test-Android-Clang-Nexus10-CPU-Exynos5250-arm-Release-Android
BUG=chromium:720105
Still looking at why readpixels and readpixelspicture are so weird
(lots of black) when drawing into sRGB 8888. Will follow up.
Change-Id: I223e3b74e567aea1acaffa8db6b24fbf22d98c97
Reviewed-on: https://skia-review.googlesource.com/17443
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Brian Salomon [Tue, 23 May 2017 19:02:57 +0000 (19:02 +0000)]
Revert "Add a flag to GrSurfaceFlags that requires the texture to be cleared upon creation. "
This reverts commit
45e5068a6d10f4e4fd4658824310f8871f02ccf7.
Reason for revert: :'(
Original change's description:
> Add a flag to GrSurfaceFlags that requires the texture to be cleared upon creation.
>
> Bug: chromium:656320
>
> Change-Id: I940bfa24540516ab83a2ed52f761b96eb6ad19f1
> Reviewed-on: https://skia-review.googlesource.com/17391
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Bug: chromium:656320
Change-Id: I8a4f71537e45f3c4cf37b10b2dc8ee38fe6959ba
Reviewed-on: https://skia-review.googlesource.com/17765
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Mike Reed [Tue, 23 May 2017 18:19:45 +0000 (14:19 -0400)]
add default arg so android can bulid
Bug: skia:
Change-Id: I2bb10edba9a39f20691398a2a0a01b1da2709fcd
Reviewed-on: https://skia-review.googlesource.com/17761
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Mike Klein [Tue, 23 May 2017 18:14:01 +0000 (18:14 +0000)]
Revert "add knob to turn off fancy SkJumper features"
This reverts commit
5373609d90d8f84b75718b15f3522f9d2f4226cb.
Reason for revert: doesn't look like we'll need this.
Original change's description:
> add knob to turn off fancy SkJumper features
>
> This is a new public API for testing (layout tests).
>
> Change-Id: I10345231bad373c741b1e9656e546000538121b3
> Reviewed-on: https://skia-review.googlesource.com/17712
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>
Change-Id: Ieed2576d7fc06528384b7476508610e0e29b894f
Reviewed-on: https://skia-review.googlesource.com/17719
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Greg Daniel [Tue, 23 May 2017 17:58:01 +0000 (13:58 -0400)]
Disable srgb on vulkan nexus player
Bug: skia:
Change-Id: I4f7656badf1b2faec6ed02687e8e0ff2b4daf7f4
Reviewed-on: https://skia-review.googlesource.com/17718
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Jim Van Verth [Tue, 23 May 2017 17:50:58 +0000 (13:50 -0400)]
Add Material Design shadow reference sample
Change-Id: I889a3f508407178c457f675c321880d869caf9ea
Reviewed-on: https://skia-review.googlesource.com/17717
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Brian Salomon [Tue, 23 May 2017 14:43:51 +0000 (10:43 -0400)]
Add a flag to GrSurfaceFlags that requires the texture to be cleared upon creation.
Bug: chromium:656320
Change-Id: I940bfa24540516ab83a2ed52f761b96eb6ad19f1
Reviewed-on: https://skia-review.googlesource.com/17391
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Christopher Cameron [Mon, 22 May 2017 23:46:36 +0000 (16:46 -0700)]
Don't pass uniform arrays in GrGLNonlinearColorSpaceXformEffect
This avoids a problem where passing a uniform array as a function
array sometimes gets lost.
Instead of passing the uniform array as an argument to the
transfer function evaluation function, create two separate
transfer function evaluation functions that read the uniforms
directly.
BUG=723133
Change-Id: Ib46b99efdbc04ce0201644ebbc1dfd4cb27e9276
Reviewed-on: https://skia-review.googlesource.com/17293
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Mike Klein [Tue, 23 May 2017 16:20:38 +0000 (12:20 -0400)]
move sk_memset?? to SkOpts
This lets the compiler generate AVX versions with wider writes.
Change-Id: Ia63825e70c72bdb4d14bef97d8b4ea4be54c9d84
Reviewed-on: https://skia-review.googlesource.com/17715
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Klein [Tue, 23 May 2017 15:31:14 +0000 (11:31 -0400)]
add knob to turn off fancy SkJumper features
This is a new public API for testing (layout tests).
Change-Id: I10345231bad373c741b1e9656e546000538121b3
Reviewed-on: https://skia-review.googlesource.com/17712
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Reed [Tue, 23 May 2017 15:22:56 +0000 (11:22 -0400)]
color-correct patch
Key work is to correctly convert SkColor corners into linear floats,
then interpolate, then (correctly) convert back to SkColors.
Bug: skia:6659
Change-Id: Iaf0ab842d7a4f8f3481e609903cec83814e5a749
Reviewed-on: https://skia-review.googlesource.com/17533
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Leon Scroggins III [Tue, 23 May 2017 13:37:21 +0000 (09:37 -0400)]
Add animation support to SkWebpCodec
TBR=reed@google.com
(No change to the public API, but changed a header file)
SkWebpCodec:
- Implement onGetFrameCount, onGetFrameInfo, and onGetRepetitionCount
- Respect the alpha reported by libwebp. Although the spec states that
it is only a hint, the libwebp encoder uses it properly. Respecting
allows us to draw opaque images faster and decode them to 565. This
also matches other SkCodecs (and Chromium).
- onGetPixels:
- Decode the frame requested, recursively decoding required frame if
necessary
- When blending with a prior frame, use SkRasterPipeline
SkCodec:
- Move check for negative index to getFrameInfo
- Reset the colorXform if one is not needed
SkCodecAnimation:
- Add new blend enum, for WebP's (and APNG's) non-blending option
SkFrameHolder:
- New base classes for frames and the owner of the frames, allowing
code sharing between SkWebpCodec and SkGifCodec (particularly for
determining whether a frame has alpha and what frame it depends on)
- When moving items from SkGIFFrameContext, use Skia conventions (i.e.
int instead of unsigned)
- Rename "delay time" to "duration", to match e.g. SkFrameInfo::
fDuration
SkGifImageReader:
- Move pieces to SkFrameHolder, and adapt to changes made in the
process
- Make setAlphaAndRequiredFrame (now on the base class SkFrameHolder)
more general to support webp, and add support for frames that do not
blend
- Change SkGIFFrameContext from a struct to a class, to match how we
use the distinction elsewhere (i.e. struct is a small object with
public fields)
- Rework hasTransparentPixel (now hasTransparency, since it returns true
in some cases where there is not a transparent pixel) to better fit
with the modified setAlphaAndRequiredFrame. Also be more consistent
when there is no transparent pixel but no color map.
- Simplify an if condition that was previously simplified in
2d61e717
but accidentally got reverted in
a4db9be6
CodecAnimTest:
- Test new animated webp files
- Rearrange the test to more cleanly print alpha type mismatches for
the first frame
resources:
- webp-animated.webp
- animated webp from Chromium
- blendBG.webp
- new webp file using bits of webp-animated-semitransparent4.webp
from Chromium
- tests required frame and alpha when using the non-blending mode
- frames have the following properties:
- Frame 0: no alpha, fills screen
- Frame 1: alpha, fills screen
- Frame 2: no alpha, fills screen
- Frame 3: alpha, fills screen, blendBG
- Frame 4: no alpha, fills screen, blendBG
- Frame 5: alpha, blendBG
- Frame 6: covers 4, has alpha, blendBG
- also used to test decoding to 565 if the new frame data has alpha
but blends onto an opaque frame
DM.cpp:
- Test animated images to non-native 8888 and unpremul
DMSrcSink.cpp:
- Do not test non-native 8888 decodes to f16 dst
- Test unpremul decodes to f16
- Copy a frame of an animated image prior to drawing, since in unpremul
mode, the DM code will premultiply first.
Bug: skia: 3315
Change-Id: I4e55ae2ee5bc095b37a743bdcfac644be603b980
Reviewed-on: https://skia-review.googlesource.com/16707
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Mike Klein [Tue, 23 May 2017 13:53:36 +0000 (09:53 -0400)]
simpler portable round()
Calling out lrintf() is probably kind of extreme...
adding half and truncating should be just fine.
Change-Id: Ifb22c1c1a9b764be153b769aad4671ca44311255
Reviewed-on: https://skia-review.googlesource.com/17708
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Reed [Tue, 23 May 2017 13:53:37 +0000 (09:53 -0400)]
add gm to test alpha in drawPatch
Bug: skia:
Change-Id: I79d0b0707b09a3eedeeaee940d6dafbbbdbe2fe2
Reviewed-on: https://skia-review.googlesource.com/17707
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Jim Van Verth [Tue, 23 May 2017 13:40:02 +0000 (09:40 -0400)]
Fix TSAN error for shadow cache
Change-Id: I84b94a19c724e2152d1eac269f425f7f0f2286f5
Reviewed-on: https://skia-review.googlesource.com/17706
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Leon Scroggins [Tue, 23 May 2017 13:29:14 +0000 (13:29 +0000)]
Revert "sk_fgetsize to not use ftell."
This reverts commit
eefa289a214ea3917e5e00554f231adb5ad6f712.
Reason for revert: Causing failures in BitmapFactoryTest. b/
38233042
Original change's description:
> sk_fgetsize to not use ftell.
>
> The previous version of sk_fgetsize used ftell and fseek to compute
> the size of a file. There are so many issues with this that it is called
> out by securecoding.cert.org as FIO19-C as a thing not to do. We already
> have correct code for computing the size of a file in the mmap code, so
> use that instead.
>
> Change-Id: I1d771124989d0ec1523f6d858814ee563263213a
> Reviewed-on: https://skia-review.googlesource.com/9860
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
>
TBR=bungeman@google.com,scroggo@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: Ie9392dde8747ae7c74ebfa00153705e316e841a2
Reviewed-on: https://skia-review.googlesource.com/17705
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Robert Phillips [Tue, 23 May 2017 11:43:48 +0000 (07:43 -0400)]
Remove compressed (ETC1) texture support from Ganesh (take 2)
Reland of https://skia-review.googlesource.com/c/17456/ (Remove compressed (ETC1) texture support from Ganesh) but w/o removing third_part\etc1 files
TBR=bsalomon@google.com
Change-Id: I8ec4b7e3ddf47d213cb24c382731c050ffb8847f
Reviewed-on: https://skia-review.googlesource.com/17700
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Mike Klein [Tue, 23 May 2017 12:07:43 +0000 (08:07 -0400)]
remove min from repeat and mirror generally
I don't think they do anything anymore after the inclusive/exclusive
refactoring.
Change-Id: I63f2e010a00953b5b6415de002bcb51ec2b73458
Reviewed-on: https://skia-review.googlesource.com/17490
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Mike Klein [Tue, 23 May 2017 11:52:01 +0000 (07:52 -0400)]
retry tilers against 1
These weren't the Valgrind problem.
Change-Id: Ic76df460cf0ce7f7ae8155d549f4e92a7f8de040
Reviewed-on: https://skia-review.googlesource.com/17701
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Reed [Tue, 23 May 2017 02:45:05 +0000 (22:45 -0400)]
add bench for patchutils
Bug: skia:
Change-Id: Iba36eb5a7d09f92b7828f2ec209cbfeb8d0eb8ed
Reviewed-on: https://skia-review.googlesource.com/17601
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Jim Van Verth [Mon, 22 May 2017 21:48:28 +0000 (17:48 -0400)]
Fix TSAN bot
Bug: skia:
Change-Id: I5626e4e4277255b1c0c10f912829ac2cd2ed1a8c
Reviewed-on: https://skia-review.googlesource.com/17600
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Greg Daniel [Mon, 22 May 2017 20:34:34 +0000 (16:34 -0400)]
Remove setting of alpha coverage in text ops when in LCD mode
Bug: skia:
Change-Id: I0e320497fe72a0edad7bda7ea1c34dc2f713fc56
Reviewed-on: https://skia-review.googlesource.com/17530
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Jim Van Verth [Mon, 22 May 2017 19:52:21 +0000 (15:52 -0400)]
Cache ambient and spot shadows at a canonical position
Change-Id: I1f80931513f7d2268b358fb38c86dd331f32f064
Reviewed-on: https://skia-review.googlesource.com/17394
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Greg Daniel [Mon, 22 May 2017 19:56:22 +0000 (15:56 -0400)]
Fix to lcd blending in ganesh
This fixes the bug where a src color may originally be opaque but after
blending it is no longer opaque. We need to know the opacity after the
blend so this restricts us on which blend modes even work this way.
Bug: skia:
Change-Id: Ib3208887d718e5f25272ed7b0bf44683d04884d7
Reviewed-on: https://skia-review.googlesource.com/17488
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Mike Klein [Mon, 22 May 2017 20:15:17 +0000 (20:15 +0000)]
Revert "Revert "mark SkRasterPipelineBlitter final""
This reverts commit
b5b26a9d2999825ba8f405b8c37d33d49a529369.
Reason for revert: this one's probably fine too
Original change's description:
> Revert "mark SkRasterPipelineBlitter final"
>
> This reverts commit
317a1857f80ffc18d591dd6b1ac0988184b1ed2b.
>
> Reason for revert: Valgrind requires reverting ancestor commit.
>
> Original change's description:
> > mark SkRasterPipelineBlitter final
> >
> > This devirtualizes the call from blitAntiH to blitH,
> > and makes sure no future self calls will be virtual.
> >
> > Change-Id: I2a277bbc1450a96e07794791792d59e5f806bde0
> > Reviewed-on: https://skia-review.googlesource.com/17418
> > Commit-Queue: Mike Klein <mtklein@chromium.org>
> > Reviewed-by: Mike Klein <mtklein@chromium.org>
> >
>
> TBR=mtklein@chromium.org,herb@google.com,reed@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: Ic726fd6b9bf18c397812ecc256353ab4a0a336c5
> Reviewed-on: https://skia-review.googlesource.com/17522
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
>
TBR=mtklein@chromium.org,herb@google.com,reviews@skia.org,brianosman@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Ic27fbfaab9d040a1ef49d596350649096b908ea3
Reviewed-on: https://skia-review.googlesource.com/17528
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Brian Osman [Mon, 22 May 2017 20:14:41 +0000 (20:14 +0000)]
Revert "Remove compressed (ETC1) texture support from Ganesh"
This reverts commit
ee26363aaae62db2a851f2873e2405a9cf7f995a.
Reason for revert: Failing Google 3 roll.
Original change's description:
> Remove compressed (ETC1) texture support from Ganesh
>
> Change-Id: If4cf286df87ea87338aba47001d90a5fcc4f2667
> Reviewed-on: https://skia-review.googlesource.com/17456
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>
TBR=bsalomon@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Ie1a57187287e03600a69e374501478e93c41415c
Reviewed-on: https://skia-review.googlesource.com/17527
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Brian Osman [Mon, 22 May 2017 19:45:09 +0000 (19:45 +0000)]
Revert "Revert "fix ubsan warning""
This reverts commit
b03d69f0709f5da09a5237922d208e587b12a06a.
Reason for revert: This is the good CL I meant to re-land.
Original change's description:
> Revert "fix ubsan warning"
>
> This reverts commit
4d1c5d676eb32ed304ee4aa410cebbc6467b59c2.
>
> Reason for revert: Valgrind requires reverting ancestor commit.
>
> Original change's description:
> > fix ubsan warning
> >
> > CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN
> >
> > Change-Id: Ic8c5d95fdb899cb5293b2bc456f61b1637ec3aed
> > Reviewed-on: https://skia-review.googlesource.com/17489
> > Reviewed-by: Mike Klein <mtklein@chromium.org>
> > Commit-Queue: Mike Klein <mtklein@chromium.org>
> >
>
> TBR=mtklein@chromium.org,herb@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN
>
> Change-Id: Idbfdc4773756aa475829c1421d10d6f341081d7b
> Reviewed-on: https://skia-review.googlesource.com/17521
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
>
TBR=mtklein@chromium.org,herb@google.com,reviews@skia.org,brianosman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN
Change-Id: I4cf347bc578450c0cb3c91e55fdfdbe6af6fdb13
Reviewed-on: https://skia-review.googlesource.com/17526
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Brian Osman [Mon, 22 May 2017 19:31:36 +0000 (19:31 +0000)]
Revert "fix ubsan warning"
This reverts commit
4d1c5d676eb32ed304ee4aa410cebbc6467b59c2.
Reason for revert: This one was fine (and fixes ASAN).
Original change's description:
> fix ubsan warning
>
> CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN
>
> Change-Id: Ic8c5d95fdb899cb5293b2bc456f61b1637ec3aed
> Reviewed-on: https://skia-review.googlesource.com/17489
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>
TBR=mtklein@chromium.org,herb@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN
Change-Id: Id51bf64617f9bf11d80e6163783d7101fef9c5e2
Reviewed-on: https://skia-review.googlesource.com/17525
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Brian Osman [Mon, 22 May 2017 19:25:36 +0000 (19:25 +0000)]
Revert "We can mask load and store with just AVX."
This reverts commit
139e463dc6f965fdaed854efcb20c6cafbb6dbdc.
Reason for revert: Crashes on Valgrind bots.
Original change's description:
> We can mask load and store with just AVX.
>
> Previously we were using AVX2 instructions to generate the masks,
> and AVX2 instructions for the mask load and stores themselves.
>
> AVX came with float mask loads and stores, which will work perfectly
> fine. I don't really get what the point of the 32-bit int loads and
> stores are in AVX2, beyond maybe syntax sugar?
>
> Change-Id: I81fa55fb09daea4f5546f8c9ebbc886015edce51
> Reviewed-on: https://skia-review.googlesource.com/17452
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Ravi Mistry <rmistry@google.com>
>
TBR=mtklein@chromium.org,rmistry@google.com,herb@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I3a48f006c20475f6334ff94998281f381c696c93
Reviewed-on: https://skia-review.googlesource.com/17524
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Brian Osman [Mon, 22 May 2017 19:25:05 +0000 (19:25 +0000)]
Revert "add tilers against 1"
This reverts commit
8110b849d60455d6fb594f26919f0f38c3ec9925.
Reason for revert: Valgrind requires reverting ancestor commit.
Original change's description:
> add tilers against 1
>
> Change-Id: I2482972a43cb89a93cbfb9e708614e0334002e53
> Reviewed-on: https://skia-review.googlesource.com/17483
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>
TBR=mtklein@chromium.org,herb@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Icbc3a2212f800854ef7b2b17aa99fedad182d53e
Reviewed-on: https://skia-review.googlesource.com/17523
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Brian Osman [Mon, 22 May 2017 19:24:47 +0000 (19:24 +0000)]
Revert "mark SkRasterPipelineBlitter final"
This reverts commit
317a1857f80ffc18d591dd6b1ac0988184b1ed2b.
Reason for revert: Valgrind requires reverting ancestor commit.
Original change's description:
> mark SkRasterPipelineBlitter final
>
> This devirtualizes the call from blitAntiH to blitH,
> and makes sure no future self calls will be virtual.
>
> Change-Id: I2a277bbc1450a96e07794791792d59e5f806bde0
> Reviewed-on: https://skia-review.googlesource.com/17418
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
>
TBR=mtklein@chromium.org,herb@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Ic726fd6b9bf18c397812ecc256353ab4a0a336c5
Reviewed-on: https://skia-review.googlesource.com/17522
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Brian Osman [Mon, 22 May 2017 19:24:13 +0000 (19:24 +0000)]
Revert "fix ubsan warning"
This reverts commit
4d1c5d676eb32ed304ee4aa410cebbc6467b59c2.
Reason for revert: Valgrind requires reverting ancestor commit.
Original change's description:
> fix ubsan warning
>
> CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN
>
> Change-Id: Ic8c5d95fdb899cb5293b2bc456f61b1637ec3aed
> Reviewed-on: https://skia-review.googlesource.com/17489
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>
TBR=mtklein@chromium.org,herb@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN
Change-Id: Idbfdc4773756aa475829c1421d10d6f341081d7b
Reviewed-on: https://skia-review.googlesource.com/17521
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Brian Salomon [Mon, 22 May 2017 18:00:07 +0000 (14:00 -0400)]
Remove kZeroCopy_GrSurfaceFlag
Change-Id: I2869f97a14f3a1363ebfef5d657bd6468fc991f7
Reviewed-on: https://skia-review.googlesource.com/17491
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Matt Sarett [Mon, 22 May 2017 17:45:15 +0000 (13:45 -0400)]
Blacklist memory instensive tests on 32-bit bots (part 2)
Bug: skia:
Change-Id: Id517d4ba3b0f728e13f160e0766b6fb822a682f9
Reviewed-on: https://skia-review.googlesource.com/17482
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Mike Klein [Mon, 22 May 2017 17:45:38 +0000 (13:45 -0400)]
fix ubsan warning
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN
Change-Id: Ic8c5d95fdb899cb5293b2bc456f61b1637ec3aed
Reviewed-on: https://skia-review.googlesource.com/17489
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Reed [Mon, 22 May 2017 17:41:36 +0000 (13:41 -0400)]
add helper static to SkColorSpaceXform
Bug: skia:
Change-Id: I62525b392dfbae3d7075cf7f14e30780bad41279
Reviewed-on: https://skia-review.googlesource.com/17485
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Reed <reed@google.com>
recipe-roller [Mon, 22 May 2017 17:41:45 +0000 (10:41 -0700)]
Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
https://crrev.com/
12ef501b02a9ff66323ba2da0432dc6717d5bc89 Parse Bug, R, and Tbr git-footers in PRESUBMIT (agable@chromium.org)
https://crrev.com/
62ca960a5f6b956299dbb0a44d049d063962d3c5 gerrit_util: retry on 404s for replication lag (agable@chromium.org)
https://crrev.com/
fe92995d40a79af9c8a2cd31babda3fe53cc683f [cipd] Allow packaging whole root. (dnj@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iae8f5598cdfd8b64f5f090c1ca14eaa41ca04f82
Reviewed-on: https://skia-review.googlesource.com/17486
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Jim Van Verth [Mon, 22 May 2017 16:02:21 +0000 (12:02 -0400)]
Add serialization support for drawShadowRec
Change-Id: Ic7f76681a037d8f53a6fdc25061c39559f5c3e30
Reviewed-on: https://skia-review.googlesource.com/17457
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Robert Phillips [Mon, 22 May 2017 17:59:44 +0000 (13:59 -0400)]
Remove compressed (ETC1) texture support from Ganesh
Change-Id: If4cf286df87ea87338aba47001d90a5fcc4f2667
Reviewed-on: https://skia-review.googlesource.com/17456
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Mike Klein [Fri, 19 May 2017 22:29:36 +0000 (18:29 -0400)]
mark SkRasterPipelineBlitter final
This devirtualizes the call from blitAntiH to blitH,
and makes sure no future self calls will be virtual.
Change-Id: I2a277bbc1450a96e07794791792d59e5f806bde0
Reviewed-on: https://skia-review.googlesource.com/17418
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Mike Klein [Mon, 22 May 2017 17:15:25 +0000 (13:15 -0400)]
add tilers against 1
Change-Id: I2482972a43cb89a93cbfb9e708614e0334002e53
Reviewed-on: https://skia-review.googlesource.com/17483
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Robert Phillips [Mon, 22 May 2017 17:23:19 +0000 (13:23 -0400)]
Add fixes & test for isConfigTexturable and isConfigRenderable
This CL fixes:
isConfigTexturable was returning true for:
kRG_float for ANGLE ES2 configs
isConfigRenderable was returning true for:
kAlpha_8 for ANGLE ES2 configs
isConfigTexturable and isConfigRenderable were returning true for:
SBGRA on ES2
The NexusPlayer was marking RGBA & RG float configs as renderable but not textureable
Bug: 720325
Change-Id: If21361870dbdde8f3e09bc9dff3a394f2a329157
Reviewed-on: https://skia-review.googlesource.com/17387
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Brian Osman [Mon, 22 May 2017 15:03:01 +0000 (11:03 -0400)]
Switch to SkVertices version of drawVertices
Bug: skia:
Change-Id: I2966a5f6d1c0a953d5fe0d257550ae7f16e87e41
Reviewed-on: https://skia-review.googlesource.com/17455
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Ben Wagner [Mon, 22 May 2017 17:19:33 +0000 (13:19 -0400)]
Marker for Win AMD driver update.
Bug: skia:6317
Change-Id: Iab5049fdb21904f9a5427fa86a9667366e3fc853
NoTry: true
Reviewed-on: https://skia-review.googlesource.com/17484
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Mike Klein [Mon, 22 May 2017 14:28:27 +0000 (10:28 -0400)]
We can mask load and store with just AVX.
Previously we were using AVX2 instructions to generate the masks,
and AVX2 instructions for the mask load and stores themselves.
AVX came with float mask loads and stores, which will work perfectly
fine. I don't really get what the point of the 32-bit int loads and
stores are in AVX2, beyond maybe syntax sugar?
Change-Id: I81fa55fb09daea4f5546f8c9ebbc886015edce51
Reviewed-on: https://skia-review.googlesource.com/17452
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Mike Klein [Mon, 22 May 2017 16:01:59 +0000 (12:01 -0400)]
add compile, use it in blitter
I expanded an existing bench to show off the difference:
SkRasterPipeline_…
300 …compile 1x …run 1.14x
Change-Id: I5d63d602cda3f78d2d0891fcc85baf5514632900
Reviewed-on: https://skia-review.googlesource.com/17458
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Matt Sarett [Mon, 22 May 2017 14:34:41 +0000 (10:34 -0400)]
Blacklist memory intensive tests on 32-bit bots
This is to fix OOM errors on Windows bots.
Bug: skia:
Change-Id: I308c77bde51d3c6b069f35b2c8d0e43e5b12a93f
Reviewed-on: https://skia-review.googlesource.com/17453
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Mike Klein [Fri, 19 May 2017 16:01:01 +0000 (12:01 -0400)]
refactor SkRasterPipelineBlitter
This refactors the factories so that the create-from-paint factory is a
front-patch to the create-from-shader-pipeline factory. Feature-wise,
we make the pre-baked shader pipeline responsible for modulating by
paint alpha; the factory only adds when creating from the paint.
We can fold the alpha into the colors in drawVertices, which makes it
run a bit faster, dropping the need for a scale_1_float runtime stage.
This causes a few invisible diffs on the "vertices" GM, but everything
else draws the same.
Change-Id: I3eeacc9aafbce2023ab18991bbb68c35645e9387
Reviewed-on: https://skia-review.googlesource.com/17395
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Klein [Mon, 22 May 2017 12:28:45 +0000 (08:28 -0400)]
some basic speed ups for SkRasterPipeline::append()
The new bench demos the speedup:
SkRasterPipelineReuse_…
…full 1x …some 1.8x …none 5.22x
Change-Id: I5e51fb4316ae04558710ce62560850584ccb4aea
Reviewed-on: https://skia-review.googlesource.com/17449
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Eric Boren [Mon, 22 May 2017 12:35:36 +0000 (08:35 -0400)]
[recipes] Copy file, isolate, swarming, swarming_client from build.git
Rename swarming -> skia_swarming.
Some required heavy modification to remove other dependencies on modules
in build.git.
Expected changes:
- RECIPE_MODULE[build::<module>] -> RECIPE_MODULE[skia::<module>]
- No more runit; directly run through Python.
Bug: skia:6628
Change-Id: I1b1370ed387966222ce10731771dbde9020cf542
Reviewed-on: https://skia-review.googlesource.com/17448
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Hal Canary [Fri, 19 May 2017 21:03:49 +0000 (17:03 -0400)]
SkPDF: eliminate unnecessary clip for each page
Somehow this improves the imagefilterscropped gm.
This also makes it easier for me to manually parse
PDF output for debugging.
Change-Id: I3af39f4b0ca3fc7fcdeec4825bf8649bd9544917
Reviewed-on: https://skia-review.googlesource.com/17413
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
recipe-roller [Mon, 22 May 2017 09:41:41 +0000 (02:41 -0700)]
Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
build:
https://crrev.com/
bc9dcd6ed4e53b32dcb134a634fcba2b3556f60f Dart: Trigger some dart2js bots on commit, not with special trigger. (whesse@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iadf6e0d49853e015bcaa021bf2479a052af623b0
Reviewed-on: https://skia-review.googlesource.com/17447
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
recipe-roller [Sun, 21 May 2017 18:01:25 +0000 (11:01 -0700)]
Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
build:
https://crrev.com/
22da36e95697d92463b1b8ea002f7c4b8a4de41a remote_run: Remove BuildBot Python path injection. (dnj@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Icaf0b1f0f2f3476a7525bf5832c5fcdc78c706ae
Reviewed-on: https://skia-review.googlesource.com/17446
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
recipe-roller [Sun, 21 May 2017 16:51:17 +0000 (09:51 -0700)]
Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
build:
https://crrev.com/
a757e193649738016b242a11f654c558adda8aaa Remove "url" recipe module. (dnj@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1caa2058733ef9dd28f4c21913eb7ff83007c331
Reviewed-on: https://skia-review.googlesource.com/17445
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
recipe-roller [Sun, 21 May 2017 16:00:40 +0000 (09:00 -0700)]
Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
build:
https://crrev.com/
9d8e66c1f40b2318b042ebea3618d11fe831c689 Link to gerrit changes from buildbot build properties (agable@chromium.org)
https://crrev.com/
d9932108ec67f7d364de5f696f90a3c1ce8650b8 Remove "gitiles" recipe module. (dnj@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ifbcedeb690ebc61e25e23f221b37a77bb74f17a9
Reviewed-on: https://skia-review.googlesource.com/17444
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Brian Salomon [Fri, 19 May 2017 19:45:48 +0000 (15:45 -0400)]
Revert "Revert "Remove GrSurfaceDesc member from GrSurface.""
This reverts commit
4b30a96a3e96b7f051e25025f4f17f3c54e04153.
Bug: skia:
Change-Id: I14d5b402c87df8fffbc29f16686fcfa18474fc48
Reviewed-on: https://skia-review.googlesource.com/17408
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
UpdateSKPs [Sun, 21 May 2017 07:27:17 +0000 (07:27 +0000)]
Update SKP version
Automatic commit by the RecreateSKPs bot.
TBR=update-skps@skia.org
NO_MERGE_BUILDS
Change-Id: Ic288e06ceeb0113f80f69c9975549c8c4045f2dc
Reviewed-on: https://skia-review.googlesource.com/17423
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>
Mike Klein [Sat, 20 May 2017 17:21:59 +0000 (13:21 -0400)]
tidy up dither stage
Using the float iota was just an expedient to write the stage...
this CL adds the U32 iota that dither really wants.
Change-Id: I7990b10afd0c5277186b6b8e730245d291bcef0c
Reviewed-on: https://skia-review.googlesource.com/17441
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Klein [Sat, 20 May 2017 14:10:38 +0000 (10:10 -0400)]
streamline SkRasterPipeline::run()
This used to need to be complicated to check for unimplemented stages,
but now that SkJumper rules the world, we can make this a lot simpler
and move a lot of the tricky stage selection logic into an SkOnce.
This should decrease the overhead of SkRasterPipeline::run().
Change-Id: I79d73f3315c7a1a52ab02747a5f17ce27d8cb9a4
Reviewed-on: https://skia-review.googlesource.com/17440
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Klein [Sat, 20 May 2017 17:27:19 +0000 (17:27 +0000)]
Revert "dither copies when decreasing precision"
This reverts commit
766f9cd5553ab091b85d287a79f47cbb91ad7989.
Reason for revert: unit test failures, I think on bots running portable code path
Original change's description:
> dither copies when decreasing precision
>
> Still seeing the same 4444 diffs on copyTo4444 and all_bitmap_configs,
> and now also 565 in all_bitmap_configs.
>
> BUG=chromium:720105
>
> Change-Id: I19406f57aa6d2b2f98d98c093da302b004c7cd8b
> Reviewed-on: https://skia-review.googlesource.com/17419
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Matt Sarett <msarett@google.com>
>
TBR=mtklein@chromium.org,msarett@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:720105
Change-Id: Ia9ece7dccef325233b870102ab38fbed2336b95d
Reviewed-on: https://skia-review.googlesource.com/17442
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Mike Klein [Fri, 19 May 2017 23:15:55 +0000 (19:15 -0400)]
dither copies when decreasing precision
Still seeing the same 4444 diffs on copyTo4444 and all_bitmap_configs,
and now also 565 in all_bitmap_configs.
BUG=chromium:720105
Change-Id: I19406f57aa6d2b2f98d98c093da302b004c7cd8b
Reviewed-on: https://skia-review.googlesource.com/17419
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
Matt Sarett [Fri, 19 May 2017 23:12:54 +0000 (19:12 -0400)]
SkWebpEncoder: use bgra for lossless and yuv for lossy
Previosuly, we would (accidentally) always use just yuv.
Bug: 713862
Change-Id: I00acc6ca2841ba0636494119b7b4f46a9deee401
Reviewed-on: https://skia-review.googlesource.com/17406
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
recipe-roller [Fri, 19 May 2017 21:52:16 +0000 (14:52 -0700)]
Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
build:
https://crrev.com/
2537c8c2d9fb1b2aa5def9315e0d48da41e93871 chromite: Stop setting LANG to a known value. (dgarrett@google.com)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ifa98070323e03a8f3c887ae064d3585a879e14c5
Reviewed-on: https://skia-review.googlesource.com/17417
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
recipe-roller [Fri, 19 May 2017 21:11:46 +0000 (14:11 -0700)]
Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
build:
https://crrev.com/
31b834a0e849ce66bd5a7c8544071dce1276ef2f Closure: turn down the old GYP format (dbeam@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Idb053a1f28af1bd6825b26187a30630b5c9dde95
Reviewed-on: https://skia-review.googlesource.com/17414
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>