Robert Phillips [Mon, 8 May 2017 17:41:35 +0000 (13:41 -0400)]
Expand GrTextureProxy to handle highestFilterMode
Once TextureProxies aren't instantiated in the TextureSamplers, the they will need to be able to supply this information.
split out of: https://skia-review.googlesource.com/c/10484/ (Omnibus: Push instantiation of GrTextures later (post TextureSampler))
Change-Id: I66555c0746131f565862f7a30d54ff1d458d2062
Reviewed-on: https://skia-review.googlesource.com/15819
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Florin Malita [Mon, 8 May 2017 17:03:24 +0000 (13:03 -0400)]
Minimize computeTotalInverse()'s inputs
The helper doesn't need a full context rec - it only looks at the CTM
and external local matrix. Pass these explicitly instead.
Change-Id: I6a5884f65cd383c2df0e8d83c9086789bd96f345
Reviewed-on: https://skia-review.googlesource.com/15870
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Chris Dalton [Fri, 5 May 2017 18:00:56 +0000 (14:00 -0400)]
GL: track enabled vertex arrays as a count rather than a mask
Bug: skia:
Change-Id: I63e70ab844a7e04df20165aba025b963efcafa9e
Reviewed-on: https://skia-review.googlesource.com/15630
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Mike Klein [Sun, 7 May 2017 14:52:30 +0000 (10:52 -0400)]
port ok to SkPngEncoder
I can't tell you how excited I am to turn down the libpng settings...
anything that saves me a few seconds is a nice quality of life win.
This CL makes ok run in about half the time when producing .pngs.
Profile running `ok gm srgb png` before:
10.59 s 16.5% 10.59 s longest_match
8.98 s 14.0% 8.98 s png_setup_paeth_row
8.93 s 13.9% 8.93 s skia_png_write_find_filter
7.75 s 12.1% 7.75 s deflate_slow
4.63 s 7.2% 4.63 s std::wait_until(...) const
959.00 ms 1.5% 959.00 ms SkPathRef::validate() const
935.00 ms 1.4% 935.00 ms sk_to_srgb_hsw
...
After:
2.35 s 8.7% 2.35 s std::wait_until(...) const
1.70 s 6.2% 1.70 s longest_match
1.19 s 4.4% 1.19 s deflate_fast
931.00 ms 3.4% 931.00 ms SkPathRef::validate() const
898.00 ms 3.3% 898.00 ms sk_to_srgb_hsw
...
Change-Id: I425c30b2ecd97a0e4a4392779de6301db473ee47
Reviewed-on: https://skia-review.googlesource.com/15547
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
Ravi Mistry [Mon, 8 May 2017 16:59:56 +0000 (12:59 -0400)]
Separate lines added via post upload from original description
BUG=skia:6598
NOTRY=true
Change-Id: I23fa415788e91da01d33ab3ab912aa420636574c
Reviewed-on: https://skia-review.googlesource.com/15869
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Brian Salomon [Mon, 8 May 2017 15:10:53 +0000 (11:10 -0400)]
Update minimum non-ES OpenGL spec to 2.0.
As a consequence of removing support for GLs lacking separate stencil settings our effective minimum GL version is 2.0. This formalizes that by explicitly failing if the version in the version string is lower.
As a consequence we will always have wrapping stencil operations available.
Bug: skia:
Change-Id: Ibe302f72a063dbadc773bda811cc0d0f6c08c61a
Reviewed-on: https://skia-review.googlesource.com/15610
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Brian Salomon [Mon, 8 May 2017 15:10:10 +0000 (11:10 -0400)]
Remove support for GLs without separate stencil.
As a consequence we no longer need GrDrawFace.
This effectively raises the minimum bar for non-ES OpenGL to 2.0 as there is no extension that adds the GL 2.0 separate stencil functionality. GL_ATI_separate_stencil is close but it does not have glStencilMaskSeparate.
Bug: skia:
Change-Id: I36d17a69400c8beeacb6dab8d8c5c3317814cfe4
Reviewed-on: https://skia-review.googlesource.com/15603
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Matt Sarett [Mon, 8 May 2017 16:11:44 +0000 (12:11 -0400)]
Add filtering and zlib-level options to SkPngEncoder
Bug: skia:6409
Bug: 713862
Change-Id: If287e2bcad5af990fac11e9091305f45ec903dbf
Reviewed-on: https://skia-review.googlesource.com/15647
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Ravi Mistry [Mon, 8 May 2017 16:39:27 +0000 (16:39 +0000)]
Revert "Presubmit: ensure empty line between CL title and description"
This reverts commit
9518830650a45446756d7b621fc87e7a8ff52476.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Presubmit: ensure empty line between CL title and description
>
> Bug: skia:
> Change-Id: If1b2d655e9be4b960f76d2d17ce1cf1126f7b2d4
> Reviewed-on: https://skia-review.googlesource.com/15624
> Reviewed-by: Eric Boren <borenet@google.com>
> Commit-Queue: Eric Boren <borenet@google.com>
>
TBR=borenet@google.com,rmistry@google.com
NOTRY=true
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I311ee790f152dbb8325214650838839f6821c995
Reviewed-on: https://skia-review.googlesource.com/15862
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Ethan Nicholas [Mon, 8 May 2017 13:36:08 +0000 (09:36 -0400)]
Re-land of "eliminated GrGLSLExpr".
This change is exactly the same as the last time it was landed; I believe the
underlying optimizer bug that was causing this to cause problems has been
fixed by a prior CL.
Bug: skia:
Change-Id: I5436422f094ea758caa3cd69e9338db31b1f93fa
Reviewed-on: https://skia-review.googlesource.com/15768
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Brian Osman [Mon, 8 May 2017 15:16:39 +0000 (11:16 -0400)]
Allow wrapped resources to have unique keys
Previously, wrapped resources were never budgeted. Now we explicitly allow
wrapped, unbudgeted resources with unique keys. This allows code that
wraps (and re-wraps) external resources with a deterministic key to find
the same wrapped resource - saving time and ensuring a single wrapped
copy, to preserve state on the resource (like texture sampler state).
Bug: skia:
Change-Id: I1dd7642f1ed8bb6c620029d46203cf5cb6b3c160
Reviewed-on: https://skia-review.googlesource.com/15241
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Ben Wagner [Mon, 8 May 2017 15:40:29 +0000 (11:40 -0400)]
[Bazel] Omit bigrect GM for ASAN.
Added in https://skia-review.googlesource.com/c/14751/; known to fail
float-cast-overflow check but forgot to omit in that CL.
Bug: skia:4632
No-Try: true
Change-Id: Ic62e0cbc00229ab3bdde60b3e7300fc66ad7d8e1
Reviewed-on: https://skia-review.googlesource.com/15815
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Stephen White [Fri, 5 May 2017 19:54:52 +0000 (15:54 -0400)]
GrTessellator AA: fix 1px wide paths.
Move 0 count check below the call to count outer polygons,
so we don't abort on a path with outer but no inner
geometry.
This fixes the "thin_right_angle" and "thin_rect_and_triangle"
samples when running GM:thinconcavepaths --pr tess.
Change-Id: I9a75711787f729ce3a1d5313daa491098e397184
Reviewed-on: https://skia-review.googlesource.com/15661
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Florin Malita [Mon, 8 May 2017 13:53:11 +0000 (09:53 -0400)]
Remove Sk4fGradientInterval::fZeroRamp
It's cheap enough to compute when needed, and we don't need it in hot
loops anyway.
Change-Id: Ib0242f98f8bee31bff939cfdc7356d51525092e4
Reviewed-on: https://skia-review.googlesource.com/15764
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Brian Osman [Mon, 8 May 2017 15:07:42 +0000 (11:07 -0400)]
SkImage::isValid
Lets clients know if an image is drawable to a particular GrContext
(or to CPU). Checks for abandoned GrContexts beneath GPU backed
images, as well as context mis-match.
Bug: skia:
Change-Id: Ibe88c7ce8091f965c14f6023a3597be4b70c3f99
Reviewed-on: https://skia-review.googlesource.com/15801
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Mike Klein [Thu, 4 May 2017 16:42:52 +0000 (12:42 -0400)]
jumper, finish blend modes
I've decided to ignore our existing CPU implementations and start from
scratch, mostly referencing the GL ES 3.2 spec and w3 spec.
This implementation ought to look a lot like the reference
implementation I've written in gm/hsl.cpp, with the addition of
handling alpha: unpremul, blend, re-premul with a simple SrcOver alpha.
Change-Id: I38cf6be2dc66a6f46d7b18b91847f6933d2fab62
Reviewed-on: https://skia-review.googlesource.com/15316
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Robert Phillips [Mon, 8 May 2017 15:18:47 +0000 (15:18 +0000)]
Revert "Re-enable deferred proxies in Chrome"
This reverts commit
555c49c3479edf1692579c06a5c13c39d3741692.
Reason for revert: layout tests
Original change's description:
> Re-enable deferred proxies in Chrome
>
> Now that https://skia-review.googlesource.com/c/14605/ (Allow TextureSamplers to have null GrTexture pointer) has landed we should be able to re-enable deferred proxies in Chrome.
>
> Bug: 715488
> Change-Id: Ibd38e5ddf0558b94f09e29f17837e6abfd22fa34
> Reviewed-on: https://skia-review.googlesource.com/15252
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
>
TBR=bsalomon@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Ie90e64a2e4d5efc4b6909a04f8a862dd3a708d97
Reviewed-on: https://skia-review.googlesource.com/15809
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Mike Klein [Sat, 6 May 2017 16:45:50 +0000 (12:45 -0400)]
Tighten up gradient clamp logic.
This is just a little refactor. Shouldn't change any logic or pixels.
Change-Id: I782df78f2d693dc7e35c286b049730e763aa3dc8
Reviewed-on: https://skia-review.googlesource.com/15653
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Greg Daniel [Fri, 5 May 2017 17:49:11 +0000 (13:49 -0400)]
Add GrVkTexelBuffer class
Bug: skia:
Change-Id: I6111902f58df3af92702d974a52d9c7f267634d4
Reviewed-on: https://skia-review.googlesource.com/15628
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Robert Iannucci [Sat, 6 May 2017 19:06:50 +0000 (12:06 -0700)]
Manually roll recipes.
build:
crrev.com/
50e26da30b6cde158a39b6bdc99ddb2ba1a47614 Enforce strict coverage for isolate recipe module
crrev.com/
9f1038e0bc39f6348ce21f4af7cd9ad07184068d chromium_tests: Fix gtest validation when no valid json is present.
crrev.com/
d262a9497b79aa5352ea85c68f4b132872127e37 Buildbot pubsub: Remove LRU for buildsets
crrev.com/
95f0d5777e7c3db976c941758b2caa447f3c9872 remote_run: add support for new kitchen result format
crrev.com/
a081bfaddc1f94073a0ab73f31e7870dea764e27 V8: Bump shards on slowest bot
crrev.com/
0cd7b48611fc2feadb6348a2e16fcb509d45f44f WebRTC: Add logdog cipd package install for webrtc_perf_tests
crrev.com/
bb9f32300c4ca57516ee1b7c35579fe75553b6c6 Switch Android nexus 5x bot over to swarming
crrev.com/
db4dfab8c7f51f5527ecb0ec8d71bb38a45540b1 master.chromium.infra.cron; fix typo in slave name
crrev.com/
178e486407840b54b93429d92d2629c1ef731c1e CrOS: Update Chromite pin.
crrev.com/
7022f73461b3fa296e0acede710d80b2f5436b14 Add new machine to master.chromiumos
crrev.com/
e26fdac7c1d6928a70bdfee80ae267f506ccc35b Enforce strict coverage for chromium_tests recipe module
crrev.com/
2c630ad197926ac96d6600472d8082a2439322b6 Merge build requests on testers on the chromium.chromiumos waterfall.
crrev.com/
3fbbeef094717d4e371d78ec0fe2ca71bcaac765 Reland #2: Run "supersize archive" on Android perf builders
crrev.com/
2c5dd84cc74d0a650aa4cdc040daa8103124a7c4 Revert "Reland: Run "supersize archive" on Android perf builders"
crrev.com/
08b150c6d6e6f3208803bda4ea6af95012008596 Fetch Telemetry binary dependencies on main Linux and Mac builders.
crrev.com/
56598af93d1cf5bd853039c2de8b14ad358bb996 Bisect - Perf-Try - Don't call bot_update on the patched run.
crrev.com/
cccc78db18bb9c80d1689afe883b8131ec878a1f Reland: Run "supersize archive" on Android perf builders
crrev.com/
1130031d6393e79d1954c3554ce994babc5f3ea5 Revert "Run "supersize archive" on Android perf builders"
crrev.com/
37b16786dee83e4e72e8be310c68d46d3da7b19c Revert "Disable kitchen on Site Isolation Linux for now."
crrev.com/
9d59ac6854b57e8d12ce5fcc3266fd413521cc49 Run "supersize archive" on Android perf builders
crrev.com/
f25c842180da0df876d765503b0edddc0f95e048 Don't pin the SyzyAsan bots to VS2015.
crrev.com/
30d8d501de8b35a7e97060ed6b03f737dd424652 Rename android_webview_test_apk to webview_instrumentation_test_apk
crrev.com/
a53da2efbfa651d6437cbbedbe6222d512d3ef65 disconnect 3 masters from buildbucket
crrev.com/
7a08020351a41f514581c7ca75ac38beaef02975 Dart: allocate Windows slaves to integration builders for Dartium roll
crrev.com/
ce235777011d4277ccd791b8e53ac55e28954f2a WebRTC: Remove --timeout=900 from the recipe.
crrev.com/
b810b4628c808d13c4b6481db5693a1e6e0bd0d2 Add Chromium's gclient configs
crrev.com/
ef5479c25e00f2fe22d7f7011236fb313cb56b16 V8: Add gcc debug bots
crrev.com/
f55ee770c2582d2f27778ea78a7736aa8ef82a45 Add speed-profile in the buildbot steps.
crrev.com/
039b01833d51bfdf37a918a1162ac7b2019fa81d Roll recipes.
crrev.com/
0118b6411bc3ea9406b3e360715577b1f7eaeb4b Set fetch_telemetry_dependencies=1 on GPU FYI Mac/Linux builders.
crrev.com/
09b8f2f7f2de95dc3515487a32fa330667265e20 Simplify code which controls adding swarmed or local layout tests.
crrev.com/
da1809cb625558cf7c29df694587997dde022d3f Revert "Roll recipes."
depot_tools:
crrev.com/
a469aeec53a5983550e4b6a61e569971cb583b36 Remove Chromium's gclient configs from depot_tools
crrev.com/
362bc168c49d9e7b1223d126f5e0a2436eaeb7f3 Revert "[git_bootstrap.py] Remove unused options, use cipd in %PATH%."
crrev.com/
0f2e6c53db1b464e3dc7637c00c6251b864ae539 Add vpython.bat.
recipe_engine:
crrev.com/
5cdf9803d55420f3ae8d2e0dd524bc2de9c7284b Minor loader improvements.
crrev.com/
2dc658ad29ce38a0364540d85d05dc3a2ab87f16 [recipe_engine/step] Add ability for recipe engine invocation to inject paths.
crrev.com/
2dba35d569811216433ebd96760f3e9bde78b7e9 [PROPERTIES] Allow declaration of $package_name/module properties.
R=borenet@google.com
Bug: skia:
Change-Id: Ieea18b43b328ce4bccf63ac97c70c5b25f0111d8
Reviewed-on: https://skia-review.googlesource.com/15656
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Robert Phillips [Wed, 3 May 2017 21:25:48 +0000 (17:25 -0400)]
Re-enable deferred proxies in Chrome
Now that https://skia-review.googlesource.com/c/14605/ (Allow TextureSamplers to have null GrTexture pointer) has landed we should be able to re-enable deferred proxies in Chrome.
Bug: 715488
Change-Id: Ibd38e5ddf0558b94f09e29f17837e6abfd22fa34
Reviewed-on: https://skia-review.googlesource.com/15252
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Mike Klein [Sun, 7 May 2017 04:25:16 +0000 (00:25 -0400)]
polish up gm/hsl.cpp
- remove broken clip_color_KHR().
- rearrange a little to match spec closer
- remove some TODOs
Change-Id: I2de6aa3138455d5970e2cda74f5da6ffadc3db56
Reviewed-on: https://skia-review.googlesource.com/15681
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Mike Klein [Sun, 7 May 2017 03:52:28 +0000 (23:52 -0400)]
bug fix in hsl GM reference impls
As written the "constants" in clip() and channel() change as we update
each channel... duh. Thankfully this ought to make most GMs look good.
Change-Id: I904e20e8e5114c827233dd1a93c0c59f7e7790fa
Reviewed-on: https://skia-review.googlesource.com/15680
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Klein [Sat, 6 May 2017 19:44:38 +0000 (15:44 -0400)]
hsl GM: more realistic references for non-legacy backends
Change-Id: I94663a2a3b9080ac318b2805ee8baa09d2985c9a
Reviewed-on: https://skia-review.googlesource.com/15545
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Klein [Sat, 6 May 2017 18:01:22 +0000 (14:01 -0400)]
update hsl GM
- Compare against reference versions of the blend modes.
- Point out differences between KHR and web versions.
It looks like the KHR ClipColor() is indeed wrong.
Change-Id: I650821b2d4815c493dddeb836c69875650926d7b
Reviewed-on: https://skia-review.googlesource.com/15654
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Mike Klein [Fri, 5 May 2017 13:58:31 +0000 (09:58 -0400)]
remove old 565 destination opts
This is not an important format, and the code is dead or close to it.
The code is an occasional maintenance burden so I'd like it gone.
Change-Id: I4ad921533abf3211e6a81e6e475b848795eea060
Reviewed-on: https://skia-review.googlesource.com/15600
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Reed [Fri, 5 May 2017 03:40:01 +0000 (23:40 -0400)]
impl 4f version for tricolor shader
Bug: skia:
Change-Id: I43f456aa115ce71a5d1acd9bc94984248a88319a
Reviewed-on: https://skia-review.googlesource.com/15540
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Jim Van Verth [Fri, 5 May 2017 20:46:05 +0000 (16:46 -0400)]
Fix color blending for analytic shadows
Change-Id: I74e8c385a87a3f397b2df53679fcfd9120d82954
Reviewed-on: https://skia-review.googlesource.com/15645
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Eric Karl [Thu, 4 May 2017 00:08:42 +0000 (17:08 -0700)]
Allow custom GrAtlasGlyphCache texture sizes
A single glyph cache size doesn't make sense across the hardware Skia
runs on. This change allows a custom size to be specified (via a byte
limit), allowing cache size to be customized at context creation time.
Bug: 717178
Change-Id: I4f7baddd1897b2eac4f6d6e4fff1f805e1cdd250
Reviewed-on: https://skia-review.googlesource.com/15135
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Jim Van Verth [Fri, 5 May 2017 19:53:23 +0000 (15:53 -0400)]
More analytic shadow refactoring.
This is mostly to simplify and reduce redundant calculations.
Change-Id: I895bd43fbc9defd812969870c2145f9f19d69a6b
Reviewed-on: https://skia-review.googlesource.com/15462
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Matt Sarett [Fri, 5 May 2017 19:40:05 +0000 (15:40 -0400)]
Stub encoding impls for clients without libraries
Bug: skia:
Change-Id: I447b071e50182a569af828dc7f62bf78f47f834d
Reviewed-on: https://skia-review.googlesource.com/15644
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Matt Sarett [Fri, 5 May 2017 19:07:41 +0000 (15:07 -0400)]
Fix implicit ptr to bool
Bug: skia:
Change-Id: I11ce7858306dfe05162aa84a5f862b1b01c2cee9
Reviewed-on: https://skia-review.googlesource.com/15637
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Mike Reed [Fri, 5 May 2017 16:23:42 +0000 (12:23 -0400)]
composecolorfilter can now append stages
Bug: skia:
Change-Id: I46b54e5fd09de16b467142a5501b226273182d52
Reviewed-on: https://skia-review.googlesource.com/15615
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Ben Wagner [Thu, 4 May 2017 22:04:53 +0000 (18:04 -0400)]
Add bigrect GM.
Previous version in https://codereview.chromium.org/
1758113005
was reverted.
Bug: skia:4632
Change-Id: I9a85f11ca3a6fcd5e67016edf67f0538f00b6f01
Reviewed-on: https://skia-review.googlesource.com/14751
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Mike Klein [Fri, 5 May 2017 17:49:00 +0000 (13:49 -0400)]
add a new hsl GM
Change-Id: I2c8b9df3e6bf40de4b38966fa8ea671fc68aa45f
Reviewed-on: https://skia-review.googlesource.com/15635
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Hal Canary [Fri, 5 May 2017 18:08:25 +0000 (14:08 -0400)]
SkTypeface: remove old virtual onGetAdvancedMetrics, since https://crrev.com/
2860293003
Change-Id: Iad30b03fc8b34bdea2fe902f83a0dd979c16f1a7
Reviewed-on: https://skia-review.googlesource.com/15633
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Mike Reed [Fri, 5 May 2017 18:34:56 +0000 (14:34 -0400)]
tweak the gaussian quartic
Bug: skia:
Change-Id: I0e50568ddea344443ae80c24aad3eb43736f77bc
Reviewed-on: https://skia-review.googlesource.com/15636
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Matt Sarett [Fri, 5 May 2017 18:02:13 +0000 (14:02 -0400)]
SkEncoder: Rename files, change webp API, for consistency
Bug: skia:
Change-Id: I3dd6feb3d5661dcad3d2388b4d01fa9d3bbb15bb
Reviewed-on: https://skia-review.googlesource.com/15631
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Matt Sarett [Fri, 5 May 2017 17:21:52 +0000 (13:21 -0400)]
Fix clang compiler error in SkSLFileOutputStream
Bug: skia:
Change-Id: Ic3b62ea82c12c9cc5ee8b56b05573e1d06342c0b
Reviewed-on: https://skia-review.googlesource.com/15626
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Eric Boren [Fri, 5 May 2017 17:15:00 +0000 (13:15 -0400)]
Presubmit: ensure empty line between CL title and description
Bug: skia:
Change-Id: If1b2d655e9be4b960f76d2d17ce1cf1126f7b2d4
Reviewed-on: https://skia-review.googlesource.com/15624
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Chris Dalton [Fri, 5 May 2017 17:19:45 +0000 (17:19 +0000)]
Revert "GL: track enabled vertex arrays as a count rather than a mask"
This reverts commit
288d041c64322fafc77cfaf23907180ebad933a1.
Reason for revert: GL errors.
Original change's description:
> GL: track enabled vertex arrays as a count rather than a mask
>
> Bug: skia:
> Change-Id: I46ba29cb32960a415ee1993a7b957ec49c0c56d3
> Reviewed-on: https://skia-review.googlesource.com/15520
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>
TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I63b0fd3c6f36326a13bf853d13ce8d28869a32cf
Reviewed-on: https://skia-review.googlesource.com/15625
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Mike Reed [Fri, 5 May 2017 16:38:00 +0000 (12:38 -0400)]
speed-up 4f version of modecolorfilter and modulate
~20% faster
1. Don't call color4f::premul on every invocation
2. Inline modulate as its own special case (used by shadows)
Bug: skia:
Change-Id: I49ca565f589b9a7caac88e95468da7f8c395804a
Reviewed-on: https://skia-review.googlesource.com/15613
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Matt Sarett [Fri, 5 May 2017 15:13:26 +0000 (11:13 -0400)]
Add support for row-by-row png encodes
Also adds a SkEncoder base class.
Bug: 713862
Change-Id: Ia3f009cd9f376514f6c19396245fab3a43ae6536
Reviewed-on: https://skia-review.googlesource.com/15152
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Leon Scroggins III [Fri, 5 May 2017 15:55:12 +0000 (11:55 -0400)]
Remove unnecessary non-UTF8 character
Google3 roll is complaining about this character, so remove it. (It
does not look to be intentional.) The roll is affected because this
file is changed (though this line is not).
TBR=bsalomon@google.com, benjaminwagner@google.com
Change-Id: I639a04c424ea11e1a5e7df10c9d6c7233031bf2b
Reviewed-on: https://skia-review.googlesource.com/15612
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Chris Dalton [Fri, 5 May 2017 15:26:15 +0000 (11:26 -0400)]
Add postFlush call to GrOnFlushCallbackObject
Adds a new postFlush method and renames the class to
GrOnFlushCallbackObject. Also removes the ref counting in favor of
making the callback object a purely virtual interface. ref/unref on the
callback interface would conflict with existing ref/unref methods on the
subclass. It is now the caller’s responsibility to ensure the lifetime
of the callback is tied to that of the context.
Bug: skia:
Change-Id: I2fc1f98c700032e296a36f3a9a09c0753ab47aea
Reviewed-on: https://skia-review.googlesource.com/15463
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Matt Sarett [Fri, 5 May 2017 14:38:01 +0000 (10:38 -0400)]
Avoid interpolating color lut with less than 2 points
Bug: 717935
Change-Id: Ibf15b815891eef5a0239bc408bcbfe7c8b1507c5
Reviewed-on: https://skia-review.googlesource.com/15301
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Hal Canary [Tue, 25 Apr 2017 12:58:57 +0000 (08:58 -0400)]
SkDiscardableMemoryPool: always have a mutex for testing
Change-Id: I898058f1125f62832f2b2b661c661efb0f84da6d
Reviewed-on: https://skia-review.googlesource.com/14274
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Greg Daniel [Fri, 5 May 2017 14:28:42 +0000 (10:28 -0400)]
Split tracking of TexelBuffers from normal samplers
This is precursor CL to add support for texel buffers in Vulkan.
This change as includes fixes to the ordering of assigning
locations and texture units so that they match in
GrGLProgramDataManager and GrGLProgram.
Bug: skia:
Change-Id: I30c9578fb7dcb187256f744e07651e8564f93a6b
Reviewed-on: https://skia-review.googlesource.com/15225
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Chris Dalton [Fri, 5 May 2017 13:46:29 +0000 (09:46 -0400)]
GL: track enabled vertex arrays as a count rather than a mask
Bug: skia:
Change-Id: I46ba29cb32960a415ee1993a7b957ec49c0c56d3
Reviewed-on: https://skia-review.googlesource.com/15520
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Ethan Nicholas [Fri, 5 May 2017 14:04:06 +0000 (10:04 -0400)]
sksl optimizer fixes
The main issue was a use-after-free due to removing (and thus destroying)
the binary expression prior to re-adding part of it. Also cleaned up the
way dead assignments are handled and added the test that originally
identified these problems.
Bug: skia:
Change-Id: Icda93d69a66c4e57850ecdc88fc4a4f634e1aac2
Reviewed-on: https://skia-review.googlesource.com/15383
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Mike Reed [Fri, 5 May 2017 13:25:08 +0000 (09:25 -0400)]
optimize gaussian with herbs quartic
Bug: skia:
Change-Id: Ia06ad1023129dfcade3f648087b2070eab29b4b2
Reviewed-on: https://skia-review.googlesource.com/15523
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Hal Canary [Thu, 4 May 2017 18:15:40 +0000 (14:15 -0400)]
header cleanup
Change-Id: I9d93add4e7998d8a1aa37cba9e7829fcbda867d5
Reviewed-on: https://skia-review.googlesource.com/15318
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Hal Canary [Thu, 4 May 2017 18:23:55 +0000 (14:23 -0400)]
Revert "Revert "SkTypeface::getAdvancedMetrics(): cleanup""
This reverts commit
59ad782b2b05b07aa6eb961aa4d62e934093cbd1.
- SkAdvancedTypefaceMetrics is a struct not a class
- SkTypeface::PerGlyphInfo is gone
- s/getAdvancedTypefaceMetrics/getAdvancedMetrics/g
- s/onGetAdvancedTypefaceMetrics/onGetAdvancedMetrics/g
- [on]getAdvancedMetrics now return unique_ptr rather than bare ptr.
- [on]getAdvancedMetrics no longer has parameters. (Only caller always
used same arguments.)
- SkAdvancedTypefaceMetrics uses C++11 in-class member initializers.
- SkAdvancedTypefaceMetrics no longer inherits from SkRefCnt
Change-Id: I91b56e60f7d9de7d46c426c6bd34ce124e0cf00e
Reviewed-on: https://skia-review.googlesource.com/15360
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Mike Klein [Fri, 5 May 2017 13:16:00 +0000 (09:16 -0400)]
add -Wno-error=attributes for G3 Android builds
This warning is triggering spuriously on 32-bit Android opt builds.
This CL turns it off for {32,64}x{fastbuild,opt}, but I don't mind.
We can rely on our local builds' much more up to date toolchains.
Change-Id: I5210e87f540a1a425fc0abd07bb3c3986f0f78b0
Reviewed-on: https://skia-review.googlesource.com/15541
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Florin Malita [Thu, 4 May 2017 21:24:45 +0000 (17:24 -0400)]
Local matrix support for RP gradients
Change-Id: Id2cef26e0f91f14a0f1370fabe5ca15af9a4c07c
Reviewed-on: https://skia-review.googlesource.com/15317
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Klein [Thu, 4 May 2017 23:38:48 +0000 (19:38 -0400)]
Retry "Factor out common code from sweep and linear."
We weren't handing failure correctly, sending radials and two point
conics and any other unsupported cases back too far out, instead of
the default SkShader::onAppendStages().
This reverts commit
02ab8cc2909d99377e4200cd426a02c0b482a040.
Change-Id: I80cb028c37071e0146ee4b48b210fc8bc87b290f
Reviewed-on: https://skia-review.googlesource.com/15481
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Klein [Thu, 4 May 2017 22:41:05 +0000 (22:41 +0000)]
Revert "Factor out common code from sweep and linear."
This reverts commit
b7a330ff0048875e178b2d9a68cd5605d83baf8d.
Reason for revert: Oof, I hate to do this, but we didn't expect this to change any drawing did we? This draws a bunch of GMs differently in both 565 and sRGB mode, some very noticeably.
Original change's description:
> Factor out common code from sweep and linear.
>
> And, some file cleanup.
>
> Change-Id: I804db924bce3b5834f6cda481315dd2da38df5ca
> Reviewed-on: https://skia-review.googlesource.com/15226
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Florin Malita <fmalita@chromium.org>
>
TBR=mtklein@chromium.org,mtklein@google.com,herb@google.com,fmalita@chromium.org,fmalita@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I75bb6c3e4045a0f70c7e9552b84b22f0fed73b80
Reviewed-on: https://skia-review.googlesource.com/15464
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Amaury Le Leyzour [Thu, 4 May 2017 21:32:22 +0000 (14:32 -0700)]
CRC32 no longer restricted to ARM64
On a simple benchmark the CRC32 version is about 3x faster on
ARM Cortex A57 (Aarch32) than the Murmur3 scalar version.
BUG=skia:
Change-Id: I71515e8463a33924998b837ff9f32202690dd2fe
Reviewed-on: https://skia-review.googlesource.com/15480
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Greg Daniel [Thu, 4 May 2017 21:29:09 +0000 (17:29 -0400)]
Fix comma in vulkan
Fixes bug where comma was suppose to be a semi colon.
Bug: skia:
Change-Id: I4bbd890fdef46775a1dd687cca06293114ad8a1c
Reviewed-on: https://skia-review.googlesource.com/15460
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Greg Daniel [Thu, 4 May 2017 19:09:03 +0000 (15:09 -0400)]
Add support for Geom shaders in Vulkan backend.
Still requires SkSL support before it will work.
The main changes here involve support for uniforms in the geometry shader.
We use the same buffer for vertex and geometry shader stages. These
uniforms are not expected to be updated as often as frag data so we keep them
separate to avoid larger buffer uploads to the gpu.
BUG=skia:
Change-Id: I10b631c24071b6ffa258907a02a009ec6c8accd0
Reviewed-on: https://skia-review.googlesource.com/8413
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Herb Derby [Thu, 4 May 2017 18:37:13 +0000 (14:37 -0400)]
Factor out common code from sweep and linear.
And, some file cleanup.
Change-Id: I804db924bce3b5834f6cda481315dd2da38df5ca
Reviewed-on: https://skia-review.googlesource.com/15226
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Jim Van Verth [Thu, 4 May 2017 18:00:59 +0000 (14:00 -0400)]
Add ShadowUtils sample.
Also enables mouse support in Viewer.
Change-Id: Iaed08d42a64f591f0cd9b24684b3aee43404ed94
Reviewed-on: https://skia-review.googlesource.com/15313
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Ben Wagner [Thu, 4 May 2017 18:33:34 +0000 (14:33 -0400)]
Marker for Windows NVIDIA driver update.
No-Try: true
Change-Id: Ib275307c858e0a1c9a37881700aeeb2a9e8b83ac
Reviewed-on: https://skia-review.googlesource.com/15381
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Hal Canary [Thu, 4 May 2017 18:20:35 +0000 (18:20 +0000)]
Revert "SkTypeface::getAdvancedMetrics(): cleanup"
This reverts commit
cef018896e5cad8eb46a536b60cdf79ebe2b0191.
Reason for revert: broke chromium roll (windows).
Original change's description:
> SkTypeface::getAdvancedMetrics(): cleanup
>
> - SkAdvancedTypefaceMetrics is a struct not a class
> - SkTypeface::PerGlyphInfo is gone
> - s/getAdvancedTypefaceMetrics/getAdvancedMetrics/g
> - s/onGetAdvancedTypefaceMetrics/onGetAdvancedMetrics/g
> - [on]getAdvancedMetrics now return unique_ptr rather than bare ptr.
> - [on]getAdvancedMetrics no longer has parameters. (Only caller always
> used same arguments.)
> - SkAdvancedTypefaceMetrics uses C++11 in-class member initializers.
> - SkAdvancedTypefaceMetrics no longer inherits from SkRefCnt
>
> Change-Id: I37571ebcc383ba9eb21bc20c60c734e3ca317582
> Reviewed-on: https://skia-review.googlesource.com/15311
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>
>
TBR=halcanary@google.com,bungeman@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I84c7d53df566aaf83427e3368edaa02b7b5a9cb8
Reviewed-on: https://skia-review.googlesource.com/15319
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Brian Salomon [Thu, 4 May 2017 16:39:56 +0000 (12:39 -0400)]
Make GrSimpleMeshDrawOpHelper consider blend barriers/dst textures for batching.
Change-Id: Idc6f924e39a08da9fb4b441a72c4d9caa76b0fe0
Reviewed-on: https://skia-review.googlesource.com/15312
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Hal Canary [Thu, 4 May 2017 14:10:05 +0000 (10:10 -0400)]
SkTypeface::getAdvancedMetrics(): cleanup
- SkAdvancedTypefaceMetrics is a struct not a class
- SkTypeface::PerGlyphInfo is gone
- s/getAdvancedTypefaceMetrics/getAdvancedMetrics/g
- s/onGetAdvancedTypefaceMetrics/onGetAdvancedMetrics/g
- [on]getAdvancedMetrics now return unique_ptr rather than bare ptr.
- [on]getAdvancedMetrics no longer has parameters. (Only caller always
used same arguments.)
- SkAdvancedTypefaceMetrics uses C++11 in-class member initializers.
- SkAdvancedTypefaceMetrics no longer inherits from SkRefCnt
Change-Id: I37571ebcc383ba9eb21bc20c60c734e3ca317582
Reviewed-on: https://skia-review.googlesource.com/15311
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Mike Klein [Thu, 4 May 2017 15:38:05 +0000 (11:38 -0400)]
try re-enabling test_diagonal on 565
I just landed a CL that changed dithering enough that it's worth seeing
if this test passes again.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Android-Clang-PixelC-CPU-TegraX1-arm64-Release-Android,Test-Android-Clang-Nexus10-CPU-Exynos5250-arm-Release-Android
Change-Id: I1dfd27fdc7d8646e0008b667617383c08c7abd5a
Reviewed-on: https://skia-review.googlesource.com/15315
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Klein [Thu, 4 May 2017 15:16:57 +0000 (11:16 -0400)]
update Windows build docs
- mention 2017
- describe 32-bit builds a bit more
Change-Id: I386c51bcf4863f91db2eade01bad1e54c1049e6c
Reviewed-on: https://skia-review.googlesource.com/15314
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Reed [Thu, 4 May 2017 14:57:40 +0000 (10:57 -0400)]
force all colorfilters to implement 4f
high-contrast gms differ at most by 1 bit
Bug: skia:
Change-Id: I1308bd105020ea3cd5a30fd3dd322ed134fb5ed5
Reviewed-on: https://skia-review.googlesource.com/15249
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Mike Reed [Wed, 3 May 2017 19:48:22 +0000 (15:48 -0400)]
add virtual to support CTFontRef
Bug: skia:6583
Change-Id: I8525e63d3f43467289360d4b15c0153d2a43539e
Reviewed-on: https://skia-review.googlesource.com/15194
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Jim Van Verth [Thu, 4 May 2017 13:58:17 +0000 (09:58 -0400)]
Combine the ambient and spot alphas into the base color
for geometric shadows.
This matches the analytic shadow approach better, and
is color space invariant.
Also includes cleanup in SampleAndroidShadows.
Bug: skia:6546
Change-Id: I7a7cd060420dae741f967334c8b19542a14f0bcf
Reviewed-on: https://skia-review.googlesource.com/15228
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Mike Klein [Wed, 3 May 2017 21:57:48 +0000 (17:57 -0400)]
move dither after the transfer function
There's no single dither rate that we can use in linear space if we're
using a non-linear transfer function... if it's too high (like today)
we'll dither too much around zero (e.g. 0 -> 5), and if it's too low we
won't dither near one.
We were thinking it'd be a good idea to move the dither later in the
pipeline anyway. This has to be the right spot!
Now that we're moving dither from operating in linear space to operating
in bit-space (after transfer function, aware of bit-depth of
destination) we have to start clamping [0,1] instead of [0,a]...
But, I think I've rewritten things to make sure we don't need to clamp
at all. The main idea is to make sure 0-dither and 1+dither round to 0
and 1 respectively. We can do this by making the dither span exclusive,
switching from [-0.5,+0.5] to (-0.5,+0.5). In practice I'm doing that
as [-0.4921875,+0.4921875], a maximum dither of 63/128 of a bit.
Similarly, I don't think it makes sense to fold in the multiply by alpha
anymore if we're after the transfer function.
Change-Id: I55857bca80377c639fcdd29acc9b362931dd9d12
Reviewed-on: https://skia-review.googlesource.com/15254
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Jim Van Verth [Thu, 4 May 2017 13:51:29 +0000 (09:51 -0400)]
Fix spot shadow inset.
This handles negative values in the spot translation, and produces
a tight fit for rrects and circles.
Change-Id: Id2536347dca98f06f57b31518390037b86fd8a9e
Reviewed-on: https://skia-review.googlesource.com/15248
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Ben Wagner [Fri, 28 Apr 2017 19:55:35 +0000 (15:55 -0400)]
Turn on verbose logging for Valgrind_PreAbandonGpuContext bot.
Bug: skia:6575
Change-Id: I0e7d355ff8eea5af78585ef0eef78d509e52d580
Reviewed-on: https://skia-review.googlesource.com/14652
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Ben Wagner [Sun, 30 Apr 2017 01:15:00 +0000 (21:15 -0400)]
Remove Nexus5 experimental tryjob.
Replaced with GalaxyS6 in https://skia-review.googlesource.com/c/13982/
Bug: skia:
Change-Id: I57922c23857d934dc7176d5cc5aa4d96b552bf8d
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/14754
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Robert Phillips [Thu, 4 May 2017 12:52:22 +0000 (08:52 -0400)]
Add GrGpuTextureProxyRef
Basically a GrTextureProxified clone of GrGpuResourceRef
Change-Id: I8772550bb867ef2cf2d53efef0a0346bb7c90eb6
Reviewed-on: https://skia-review.googlesource.com/15221
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Matt Sarett [Thu, 4 May 2017 12:53:32 +0000 (08:53 -0400)]
Reland "Add SkImage::makeColorSpace() with correct transfer fn behavior"
Completes implementation for lazy and raster images. gpu is
still a TODO.
Bug: skia:6553
Change-Id: I898e4464ffc91442c7f98669f1203dd5c203621b
Reviewed-on: https://skia-review.googlesource.com/15307
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Ethan Nicholas [Thu, 4 May 2017 13:10:59 +0000 (13:10 +0000)]
Revert "Revert "Revert "eliminated GrGLSLExpr"""
This reverts commit
796001c82eca5651bc6a221204f6186918781daf.
Reason for revert: looks to be causing problems in Chrome (https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux_Trusty__dbg_/1553/layout-test-results/results.html)
Original change's description:
> Revert "Revert "eliminated GrGLSLExpr""
>
> This reverts commit
5e550ab57e0204bfadd2cb69c47d2a85e38d6a4c.
>
> Bug: skia:
> Change-Id: I4705e47dbd209aa8f43db3d28c856bd3aa9e49ab
> Reviewed-on: https://skia-review.googlesource.com/15187
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
>
TBR=ethannicholas@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I6455a4f16b2dc0d6d1265541f7117e0cfb8dd91c
Reviewed-on: https://skia-review.googlesource.com/15309
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Hal Canary [Mon, 17 Apr 2017 20:30:06 +0000 (16:30 -0400)]
src/pdf: code cleanup
* SkPDFCanon: remove unnecessary abstraction
* Make use of SkTHashMap<K, sk_sp<T>>.
* Remove unncessary struct constructors.
* More factory fns return sk_sp<T>
* SkPDFUtility::GetCachedT<T> factored out.
Change-Id: I4055a131b43fe2588fd042b769cd09fff8a3466c
Reviewed-on: https://skia-review.googlesource.com/13655
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Matt Sarett [Tue, 2 May 2017 15:41:30 +0000 (11:41 -0400)]
Finish removal of SkImageInfo from SkPixelRef
All of the clients are updated. We don't need this anymore.
Bug: skia:6535
Change-Id: I1399a08b7dda8f29c4f4016a1de50ee8310c1fef
Reviewed-on: https://skia-review.googlesource.com/15106
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Matt Sarett [Thu, 4 May 2017 12:40:30 +0000 (12:40 +0000)]
Revert "Add SkImage::makeColorSpace() with correct transfer fn behavior"
This reverts commit
9ad0531a18f854e5a2c8034880140dd6cd3ea3c1.
Reason for revert: Does not handle transfer fn behavior.
Original change's description:
> Add SkImage::makeColorSpace() with correct transfer fn behavior
>
> Completes implementation for lazy and raster images. gpu is
> still a TODO.
>
> Bug: skia:6553
> Change-Id: I04eea5c4fb53c50c0406c2e6b6778b0e21fd85f8
> Reviewed-on: https://skia-review.googlesource.com/14403
> Commit-Queue: Matt Sarett <msarett@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
>
TBR=mtklein@google.com,msarett@google.com,brianosman@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I3830321aea7d0dc5ab38a40f3318bb53a41df383
Reviewed-on: https://skia-review.googlesource.com/15306
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Stephen White [Wed, 3 May 2017 20:00:38 +0000 (16:00 -0400)]
GrTessellator: fix for vertex coincident with enclosing edge.
If a previously-enclosing edge coincides exactly with the current
vertex, there are no two adjacent edges which enclose the vertex.
Since find_enclosing_edges() ensures that the left enclosing edge
is to the left of the vertex, the fix is to split the right
enclosing edge on the current vertex and restart intersection
tests.
Bug: 716720
Change-Id: Id26c5b92a6d6139f348e99554638cded37e81a8e
Reviewed-on: https://skia-review.googlesource.com/15261
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
recipe-roller [Thu, 4 May 2017 00:21:30 +0000 (17:21 -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/
6996dc9baee654d53db4f2072c76e120f619470e Roll recipes. (iannucci@chromium.org)
depot_tools:
https://crrev.com/
2e664bfa92754ad40c14aa9cfa84296653b1591f Handle extra metrics xml files in git cl format. (holte@google.com)
https://crrev.com/
a297b40f8ad5acb1832ea136440017cc84f8693e [cipd.bat] Switch cipd.bat to use -Command. (iannucci@chromium.org)
https://crrev.com/
1123fea23588f0eace0791b37369d74a644820df [git_bootstrap.py] Remove unused options, use cipd in %PATH%. (iannucci@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id8e4c7bccd96753809f7926cdc98f75db3b41ad4
Reviewed-on: https://skia-review.googlesource.com/15303
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
recipe-roller [Wed, 3 May 2017 23:51:46 +0000 (16: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/
04cd4debec25fc4e66d22df265d6a848283bb616 Reland "Fix update scripts revision logic" (martiniss@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I237b29ec814385da68f76590f4c5de1550580e36
Reviewed-on: https://skia-review.googlesource.com/15302
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Matt Sarett [Wed, 3 May 2017 23:09:46 +0000 (19:09 -0400)]
Add SkImage::makeColorSpace() with correct transfer fn behavior
Completes implementation for lazy and raster images. gpu is
still a TODO.
Bug: skia:6553
Change-Id: I04eea5c4fb53c50c0406c2e6b6778b0e21fd85f8
Reviewed-on: https://skia-review.googlesource.com/14403
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Mike Klein [Wed, 3 May 2017 22:47:38 +0000 (22:47 +0000)]
Revert "treat SkPMColor as sRGB in SkPM4f::FromPMColor()"
This reverts commit
a4f3e14d896708376aa50b2a8804796e6e1ee644.
Reason for revert: affecting 565 in ways I didn't expect
Original change's description:
> treat SkPMColor as sRGB in SkPM4f::FromPMColor()
>
> We made the wrong call in SkPM4f::FromPMColor(). SkPM4f::FromPMColor()
> is only used by the color correct drawing pipeline, not legacy. That
> means it makes a lot more sense to treat SkPMColors as premul sRGB than
> premul linear.
>
> You can see the effect very clearly in any code path using the fallback
> SkShader::Context::shadeSpan4f(). We shade legacy 8888, then
> "linearize" to float by calling SkPM4f::FromPMColor(). At head we're
> not really linearizing, which means everything ends up too bright in the
> end. Things get double sRGB-encoded, etc.
>
> It is expected that this CL will make many color correct images look
> darker and a lot more like legacy mode. It may be jarring... we've
> gotten used to seeing this bug and thinking brighter == fixed.
>
> The only GM that changes in actual legacy 8888 is gamut, which
> explicitly creates non-legacy 8888 images... the diff there is expected.
>
> Change-Id: I77ac6cfe8f7ffb15e90f4aad798dbe8f9d3aafbd
> Reviewed-on: https://skia-review.googlesource.com/15227
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Herb Derby <herb@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
>
TBR=mtklein@chromium.org,herb@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I80d852cbb618e94744f786bc82a4648128e99c71
Reviewed-on: https://skia-review.googlesource.com/15300
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Brian Salomon [Wed, 3 May 2017 21:06:09 +0000 (17:06 -0400)]
Revert "Revert "Add a new non-AA rect op that does not inherit from GrLegacyMeshDrawOp.""
This reverts commit
0f353327968530506dd3dd15fca79ef59fe013f1.
Bug: skia:
Change-Id: I8def56fa55bfc70de4386bf0b7a7867f6e91c173
Reviewed-on: https://skia-review.googlesource.com/15251
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
recipe-roller [Wed, 3 May 2017 21:00:24 +0000 (14: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/
7f1967a10defc60c719bb24cd27f9631d3d71849 Revert "Fix update scripts revision logic" (martiniss@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I4a59fe1d8e14245639439ad0961666107e2fc1a3
Reviewed-on: https://skia-review.googlesource.com/15250
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Mike Klein [Wed, 3 May 2017 19:04:23 +0000 (15:04 -0400)]
treat SkPMColor as sRGB in SkPM4f::FromPMColor()
We made the wrong call in SkPM4f::FromPMColor(). SkPM4f::FromPMColor()
is only used by the color correct drawing pipeline, not legacy. That
means it makes a lot more sense to treat SkPMColors as premul sRGB than
premul linear.
You can see the effect very clearly in any code path using the fallback
SkShader::Context::shadeSpan4f(). We shade legacy 8888, then
"linearize" to float by calling SkPM4f::FromPMColor(). At head we're
not really linearizing, which means everything ends up too bright in the
end. Things get double sRGB-encoded, etc.
It is expected that this CL will make many color correct images look
darker and a lot more like legacy mode. It may be jarring... we've
gotten used to seeing this bug and thinking brighter == fixed.
The only GM that changes in actual legacy 8888 is gamut, which
explicitly creates non-legacy 8888 images... the diff there is expected.
Change-Id: I77ac6cfe8f7ffb15e90f4aad798dbe8f9d3aafbd
Reviewed-on: https://skia-review.googlesource.com/15227
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Brian Salomon [Wed, 3 May 2017 20:58:59 +0000 (20:58 +0000)]
Revert "Add a new non-AA rect op that does not inherit from GrLegacyMeshDrawOp."
This reverts commit
ff574e0eb79b83c2e797dec8f1661378876202d8.
Reason for revert: needs a merge
Original change's description:
> Add a new non-AA rect op that does not inherit from GrLegacyMeshDrawOp.
>
> This uses a new helper class, GrSimpleMeshDrawOpHelper, which it uses to fullfill the GrMeshDrawOp contract and to construct its GrPipline when flushed. The helper is intended to be used such that the op only stores a GrProcessorSet if it is constructed with a "nontrivial" GrPaint. "Trivial" currently means no fragment processors and src-over blending. The helper allows the op subclass to specify whether it supports stenciling via a template parameter. The helper class is initially intended to be used for ops that don't have per-vertex colors and construct a single GrPipeline at flush time, though perhaps this can be relaxed in future changes.
>
> On the microbenchmark "rotated_rects_bw_same_transparent_srcover" this produces a 18-20% reduction in time on my Z840 running Linux and 33% on my 2010 MacPro.
>
> Bug: skia:
> Change-Id: I9f655827a70bee585b0b0e1255371ffd995a0b80
> Reviewed-on: https://skia-review.googlesource.com/14604
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
>
TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I2893d6ff7c183a18f7d0ba82818701b80b681eb0
Reviewed-on: https://skia-review.googlesource.com/15280
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
recipe-roller [Wed, 3 May 2017 20:31:43 +0000 (13:31 -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/
0491824b7c2712d3b5450be15153a23a61cd6ec9 Fix update scripts revision logic (martiniss@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ieebda543110c4e2e6aaafe0839ab7053385fb809
Reviewed-on: https://skia-review.googlesource.com/15247
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Brian Salomon [Wed, 3 May 2017 18:00:51 +0000 (14:00 -0400)]
Add a new non-AA rect op that does not inherit from GrLegacyMeshDrawOp.
This uses a new helper class, GrSimpleMeshDrawOpHelper, which it uses to fullfill the GrMeshDrawOp contract and to construct its GrPipline when flushed. The helper is intended to be used such that the op only stores a GrProcessorSet if it is constructed with a "nontrivial" GrPaint. "Trivial" currently means no fragment processors and src-over blending. The helper allows the op subclass to specify whether it supports stenciling via a template parameter. The helper class is initially intended to be used for ops that don't have per-vertex colors and construct a single GrPipeline at flush time, though perhaps this can be relaxed in future changes.
On the microbenchmark "rotated_rects_bw_same_transparent_srcover" this produces a 18-20% reduction in time on my Z840 running Linux and 33% on my 2010 MacPro.
Bug: skia:
Change-Id: I9f655827a70bee585b0b0e1255371ffd995a0b80
Reviewed-on: https://skia-review.googlesource.com/14604
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Mike Klein [Wed, 3 May 2017 19:55:10 +0000 (15:55 -0400)]
fix G3 opt android_arm build?
We suspect that having SkTDPQueue inherit from SkNoncopyable is
what's causing this error:
third_party/skia/HEAD/src/gpu/GrResourceCache.h:44:7: error: 'GrResourceCache' declared with greater visibility than the type of its field 'GrResourceCache::fPurgeableQueue' [-Werror=attributes]
class GrResourceCache {
^
Change-Id: Idc737aa64f5cb159edbe59e8baf70d711f7e07d9
Reviewed-on: https://skia-review.googlesource.com/15243
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Mike Klein [Wed, 3 May 2017 20:16:41 +0000 (16:16 -0400)]
disable test_diagonal on 565
We're no longer necessarily going to get exact results as we go along.
Lots of little things like dither, FMA, whether we're using the full
precision pipeline or the old paths, etc.
Change-Id: Iacba1820e79cd1e380d3af7861d9678ca7b93ad8
Reviewed-on: https://skia-review.googlesource.com/15246
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Florin Malita [Wed, 3 May 2017 19:23:21 +0000 (15:23 -0400)]
Validate SkSpecialSurface raster info
BUG=chromium:716311
Change-Id: I01ea2e77ba8920f735395dd46ef2cea78a858308
Reviewed-on: https://skia-review.googlesource.com/15230
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Hal Canary [Wed, 5 Apr 2017 16:55:32 +0000 (12:55 -0400)]
headers: fix
Change-Id: I0cd10f735c25686e41831ad1d0c99981c9d22d9a
Reviewed-on: https://skia-review.googlesource.com/11383
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Florin Malita [Wed, 3 May 2017 17:07:28 +0000 (13:07 -0400)]
Add a GM to exercise some complex gradient constructs
Change-Id: Ic6bd68be74619fad1babbe2b969f337208e1a3b3
Reviewed-on: https://skia-review.googlesource.com/15191
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Florin Malita [Wed, 3 May 2017 19:16:58 +0000 (19:16 +0000)]
Revert "Revert "Reland: Remove SkLights include from SkCanvas.h""
This reverts commit
9d5f66d9c21eda7d3e2ed47654180c0c4b6e38b1.
Reason for revert: Leon landed Android fixes.
Original change's description:
> Revert "Reland: Remove SkLights include from SkCanvas.h"
>
> This reverts commit
fed00319c9bafa41c8df658708030c072b301a41.
>
> Reason for revert: breaking the Android roll.
>
> Original change's description:
> > Reland: Remove SkLights include from SkCanvas.h
> >
> > SkLights.h pulls in a bunch of other headers and is not needed (fwdecl
> > works fine).
> >
> > Change-Id: I3ed97cd7861e51dcb7cfa7950a97b420dbc6fbfb
> > TBR=reed@google.com
> > Reviewed-on: https://skia-review.googlesource.com/15143
> > Commit-Queue: Florin Malita <fmalita@chromium.org>
> > Reviewed-by: Florin Malita <fmalita@chromium.org>
> >
>
> TBR=fmalita@chromium.org,reed@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I3b0e69f1d04d160f16a5567b09982d35cc9ca84e
> Reviewed-on: https://skia-review.googlesource.com/15195
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Florin Malita <fmalita@chromium.org>
>
TBR=msarett@google.com,reviews@skia.org,fmalita@chromium.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I0a1c2f9df61f16987ab72dfb4f3a205fbcc37667
Reviewed-on: https://skia-review.googlesource.com/15229
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
recipe-roller [Wed, 3 May 2017 18:41:47 +0000 (11: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/
f956104a4ef19f1d93cf51de2fb66f858e2f62be Reland: zip_build.py: Exclude secondary toolchain obj and gen, as well as .ninja (agrieve@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I4bc41a1f5da365a51338113d768c474b775c52aa
Reviewed-on: https://skia-review.googlesource.com/15224
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Chris Dalton [Wed, 3 May 2017 18:36:54 +0000 (14:36 -0400)]
Convert GrMesh to a struct
Converts GrMesh to a struct and changes the names/semantics of its
fields to be more inline with their GL counterparts. Also renames the
"instancing" feature to "pattern", to avoid ambiguity with hardware
instancing.
Bug: skia:
Change-Id: Ia0999d4f9c83b5dd31f81b9bf4f36ed9abd26286
Reviewed-on: https://skia-review.googlesource.com/15157
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>