Commit Graph

35657 Commits

Author SHA1 Message Date
Cary Clark
3c3db72e69 build debug on linux for gdb
Building with this define enables additional
checks for standard library functions when
running gdb, and allows printing std::string.

R=halcanary@google.com

Bug: skia:
Change-Id: Ib71c179d8cbacbcd7f17a1c85f912072918e6be8
Reviewed-on: https://skia-review.googlesource.com/140786
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-07-12 00:16:48 +00:00
Ben Wagner
0954a19703 Update Win10 in Skolo.
No-Try: true
Change-Id: Ic939bc0b2b18d00c29b753fe7626951c3930e211
Reviewed-on: https://skia-review.googlesource.com/140790
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-07-12 00:16:43 +00:00
Mike Klein
fcc10da18e fix color management in sprite blitter
Basically exactly the same as the SkImageShader CL.

441 diffs -> 360 diffs

Change-Id: Ib0d5498d0a286a879ba39bdc28979b20881f4acb
Reviewed-on: https://skia-review.googlesource.com/140573
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-07-11 21:42:26 +00:00
Cary Clark
80247e594d Publish docs for rrect, picture, blendmode
Complete basic docs for SkRRect, SkPicture, SkBlendMode.
Add a new rule that checks the main description tense.
Check for spelling errors.

R=caryclark@google.com

Docs-Preview: https://skia.org/?cl=138542
Bug: skia:6898
Change-Id: Iba547873775a89f1d652be9b0219b84ffa8d0628
Reviewed-on: https://skia-review.googlesource.com/138542
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-07-11 21:21:28 +00:00
Ben Wagner
8885550dbc Make CR and trailing whitespace errors.
The canned CR and trailing whitespace presubmit checks only emit
warnings, so no one pays any attention to them and they don't fail the
build. All trailing whitespace was removed recently, and it has already
returned. This makes these checks actual errors so they will fail the
presubmit check on the bots, so that they will actually be seen.

Change-Id: I5d774ae45a68b8eb881548d0158c37a8f5fe052e
Reviewed-on: https://skia-review.googlesource.com/59164
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-07-11 20:48:38 +00:00
Brian Salomon
238069b3f5 Reland "Make GPU cache invalidation SkMessageBus messages go to one GrContext."
This is a reland of f4c5bb9aba

Original change's description:
> Make GPU cache invalidation SkMessageBus messages go to one GrContext.
> 
> Makes it so the template param to SkMessageBus must implement:
> bool shouldSend(uint32_t inboxID) const
> 
> Updates all GPU backend message types to only go to the GrContext that
> is adding a cache entry.
> 
> Bug: skia:
> Change-Id: I3e8a4eb90654b7b8ac57cac9fb508c0ef1d51058
> Reviewed-on: https://skia-review.googlesource.com/140220
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>

Bug: skia:
Change-Id: I8402bfe3ed0170c99936d47050458817030b473b
Reviewed-on: https://skia-review.googlesource.com/140801
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-07-11 20:36:38 +00:00
Ben Wagner
97c6a0ee41 Remove interal use of SkRefCnt_SafeAssign.
It turns out that SkDeviceProfile is no longer used and can just be
deleted. The ResourceCacheTest and DebugGLTestContext are changed to use
smart pointers where possible. This also clarifies the squirrelly part of
the test. DebugGLTestContext is going away soon anyway.

Change-Id: I95ef24afa58aa4d356429b93d4dec0d72e3fd827
Reviewed-on: https://skia-review.googlesource.com/140577
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-07-11 20:31:18 +00:00
Mike Klein
4eebd9eed0 collapse parametric_{r,g,b} into parametric, remove _a and gamma_dst
parametric_a and gamma_dst were unused outside of unit tests.

In all other cases, we always use parametric_{r,g,b} together
and always pass them the same argument.  So we can collapse
them into a single stage like gamma and to/from_srgb.

Change-Id: I08cea896c7744f97b4f4bf9e029f5d643e45e177
Reviewed-on: https://skia-review.googlesource.com/140576
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-07-11 20:14:38 +00:00
Herb Derby
c0a2708172 Revert "Use new SkGlyphIDSet - v2"
This reverts commit 0421083a44.

Reason for revert: fushia page fault

Original change's description:
> Use new SkGlyphIDSet - v2
> 
> Add bzero to make msan and valgrind happy.
> 
> Change-Id: I9b4e2f2b8e690da4b4b920fef27d5a8854092219
> Reviewed-on: https://skia-review.googlesource.com/140563
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=mtklein@google.com,herb@google.com

Change-Id: I4e5e16644cbf56b5ff0b21afd6f3962e3976a1da
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/140803
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-07-11 20:08:23 +00:00
Brian Salomon
00a5eb8c12 Add gltestpersistentcache config that tests GrContextOption's cache.
Uses a new GPU sink that runs each test twice, once to populate the
cache and then again with a new GrContext but a warmed cache. It
verifies that the two generated images are the same.

Change-Id: Iaba195a69751f14ea946afe7174228a813b83a63
Reviewed-on: https://skia-review.googlesource.com/140567
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-07-11 20:06:33 +00:00
Herb Derby
ba38320804 Revert "Use simple buffers instead of vectors"
This reverts commit b188da121c.

Reason for revert: Patch on a rollback

Original change's description:
> Use simple buffers instead of vectors
> 
> Start using simple buffers, these will be used for
> multiple runs latter on.
> 
> Change-Id: I8dadbed036b7a60d708c49b84bb5e3bb3710f704
> Reviewed-on: https://skia-review.googlesource.com/140578
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=mtklein@google.com,herb@google.com

Change-Id: I51d9ad9bc0fd7efb93e5db4dc504d8dc31e7cfb4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/140802
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-07-11 20:03:19 +00:00
Brian Salomon
143cf8e599 Revert "Make GPU cache invalidation SkMessageBus messages go to one GrContext."
This reverts commit f4c5bb9aba.

Reason for revert: Accidentally submitted without CQ

Original change's description:
> Make GPU cache invalidation SkMessageBus messages go to one GrContext.
> 
> Makes it so the template param to SkMessageBus must implement:
> bool shouldSend(uint32_t inboxID) const
> 
> Updates all GPU backend message types to only go to the GrContext that
> is adding a cache entry.
> 
> Bug: skia:
> Change-Id: I3e8a4eb90654b7b8ac57cac9fb508c0ef1d51058
> Reviewed-on: https://skia-review.googlesource.com/140220
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>

TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com

Change-Id: Iadb667d8027341703d254325320ddaa528fb33a1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/140800
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-07-11 20:01:28 +00:00
Brian Salomon
f4c5bb9aba Make GPU cache invalidation SkMessageBus messages go to one GrContext.
Makes it so the template param to SkMessageBus must implement:
bool shouldSend(uint32_t inboxID) const

Updates all GPU backend message types to only go to the GrContext that
is adding a cache entry.

Bug: skia:
Change-Id: I3e8a4eb90654b7b8ac57cac9fb508c0ef1d51058
Reviewed-on: https://skia-review.googlesource.com/140220
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2018-07-11 20:00:11 +00:00
Herb Derby
b188da121c Use simple buffers instead of vectors
Start using simple buffers, these will be used for
multiple runs latter on.

Change-Id: I8dadbed036b7a60d708c49b84bb5e3bb3710f704
Reviewed-on: https://skia-review.googlesource.com/140578
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-07-11 19:51:32 +00:00
Hal Canary
d4998178ae Whitespace Fixup
Change-Id: I6c4c4b43dfa6b59832c63f8fcf43192b4973d88b
Reviewed-on: https://skia-review.googlesource.com/140565
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-07-11 19:27:58 +00:00
Mike Klein
71573c2c27 also rm Perf-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-All
While we're on the topic of CPU bots whose performance I don't care much
about, Perf-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-All is another.

Once again, we've got Clang bots covering this configuration.

Change-Id: Ia96f28f8adaf675ec7cf63320e001641054e23cb
Reviewed-on: https://skia-review.googlesource.com/140574
Auto-Submit: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-07-11 19:26:58 +00:00
Brian Osman
28f8393e19 Only generate valid premul test data in SRGBReadWritePixels test
Change-Id: I9ca830b2bcf3341b06bc4e261dba40809b452194
Reviewed-on: https://skia-review.googlesource.com/140572
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-07-11 18:53:38 +00:00
Jim Van Verth
061cc21b61 Add more tests for PolyUtils
* Add fuzzer
* Add bench tests
* Add additional unit test
* Fix some bugs these exposed.

Bug: skia:
Change-Id: I6c587c92cb6cff32ab8300020b78f9f247d2bf64
Reviewed-on: https://skia-review.googlesource.com/139169
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-07-11 18:37:38 +00:00
Mike Klein
3ae98ffc96 might as well use SkRasterPipeline::gamma too
This is a pretty good speedup over parametric_* when we hit it.
It's both less math and fewer stages to hop through.

Change-Id: I97b6e6b6c290441238f0f61bea47786eacc2a9c7
Reviewed-on: https://skia-review.googlesource.com/140569
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-07-11 18:34:08 +00:00
Ethan Nicholas
ad77dce5e1 fix for persistent shader cache
Bug: skia:
Change-Id: I43b4dc58ab4dde3fa8140de0d73134c38f7d79db
Reviewed-on: https://skia-review.googlesource.com/140566
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2018-07-11 18:30:38 +00:00
Greg Daniel
37329b3332 Reland "Reland "Move Vulkan DebugCallback code into tools.""
This reverts commit 3148f802af.

Reason for revert: hopefully fuchsia is fixed

Original change's description:
> Revert "Reland "Move Vulkan DebugCallback code into tools.""
> 
> This reverts commit be0ab883e7.
> 
> Reason for revert: fuchsia change reverted
> 
> Original change's description:
> > Reland "Move Vulkan DebugCallback code into tools."
> > 
> > This reverts commit 05d3fe3f10.
> > 
> > Reason for revert: relanding after fuchsia fixes are in
> > 
> > Original change's description:
> > > Revert "Move Vulkan DebugCallback code into tools."
> > > 
> > > This reverts commit d4b2adeaa9.
> > > 
> > > Reason for revert: Need to revert earlier changes cause of fucshia
> > > 
> > > Original change's description:
> > > > Move Vulkan DebugCallback code into tools.
> > > > 
> > > > Bug: skia:
> > > > Change-Id: Ib356200e86e54f9ff0ba16396874e6fd10cf0465
> > > > Reviewed-on: https://skia-review.googlesource.com/137424
> > > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > > 
> > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com
> > > 
> > > # Not skipping CQ checks because original CL landed > 1 day ago.
> > > 
> > > Bug: skia:
> > > Change-Id: I38d4e71dc29c6503f92712be54e22c58956498c5
> > > Reviewed-on: https://skia-review.googlesource.com/137902
> > > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > 
> > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com
> > 
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> > 
> > Bug: skia:
> > Change-Id: Idb88f21018b9c0e23b62f0a5b12f0fab60373921
> > Reviewed-on: https://skia-review.googlesource.com/138300
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> 
> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com
> 
> Change-Id: I40d5ba1067248066403f843c0739b885a2bfc834
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/138421
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:
Change-Id: I5d24bb2df3bd9ecf6bb3870886114ef98478dc7a
Reviewed-on: https://skia-review.googlesource.com/139001
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-07-11 18:20:28 +00:00
Timothy Liang
ff19c8f5e7 implemented uploading intial texture data for metal gpu backend
Bug: skia:
Change-Id: I76c820beb9b29b230a2f7d82fe8b6b141eee43d7
Reviewed-on: https://skia-review.googlesource.com/139163
Commit-Queue: Timothy Liang <timliang@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-07-11 18:05:28 +00:00
Mike Klein
f3dc33e4c6 rm Perf-Win2016-MSVC-GCE-CPU-AVX2-x86_64-Release-All
I'm not super interested in CPU perf numbers when compiled by MSVC.
We've got existing bots that cover the same with Clang.

Change-Id: I23cdb91d50bda12a82578c5ddb78cde2fab80c9a
Reviewed-on: https://skia-review.googlesource.com/140568
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-07-11 17:55:38 +00:00
Robert Phillips
e923cccb25 Revert "SkDEBUGF: use __VA_ARGS__"
This reverts commit 2267a09235.

Reason for revert: It looks like Google 3 is failing to compile w/ this CL

Original change's description:
> SkDEBUGF: use __VA_ARGS__
> 
> Change-Id: I42a47e821ff7a7f6cec65b38a8216cabbf0acfce
> Reviewed-on: https://skia-review.googlesource.com/139860
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>

TBR=mtklein@google.com,halcanary@google.com,reed@google.com

Change-Id: I3aab490f3d2fea103fc915ca01cb0e294df86739
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/140660
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-07-11 16:45:18 +00:00
angle-skia-autoroll
23863179b1 Roll third_party/externals/angle2 a6a7842fdbf5..5c8113d3c20f (1 commits)
a6a7842fdb..5c8113d3c2


git log a6a7842fdbf5..5c8113d3c20f --date=short --no-merges --format='%ad %ae %s'
2018-07-11 lucferron@chromium.org Vulkan/D3D11: Improve blit framebuffer tests and fix bug in D3D11


Created with:
  gclient setdep -r third_party/externals/angle2@5c8113d3c20f

The AutoRoll server is located here: https://angle-skia-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=robertphillips@google.com

Change-Id: I233faf0f0a72cd37d7e4838c006c72a82ad814d4
Reviewed-on: https://skia-review.googlesource.com/140598
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-07-11 16:34:08 +00:00
Timothy Liang
58f153db31 refactored where texture descriptors are made for metal gpu backend
Bug: skia:
Change-Id: Ic90660b5ad5c1e795cd768bb7471e9ac80a59f47
Reviewed-on: https://skia-review.googlesource.com/138999
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Timothy Liang <timliang@google.com>
2018-07-11 16:27:28 +00:00
Herb Derby
0421083a44 Use new SkGlyphIDSet - v2
Add bzero to make msan and valgrind happy.

Change-Id: I9b4e2f2b8e690da4b4b920fef27d5a8854092219
Reviewed-on: https://skia-review.googlesource.com/140563
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-07-11 16:08:58 +00:00
Mike Klein
c3a5419423 use from/to_srgb
Change-Id: I256dd98e1e918943195772954bc114e54b9325cd
Reviewed-on: https://skia-review.googlesource.com/140564
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-07-11 15:54:39 +00:00
Hal Canary
2267a09235 SkDEBUGF: use __VA_ARGS__
Change-Id: I42a47e821ff7a7f6cec65b38a8216cabbf0acfce
Reviewed-on: https://skia-review.googlesource.com/139860
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-07-11 15:40:18 +00:00
Kevin Lubick
22647d0e84 Adventures with Skia, WASM and a JS API for Pathkit
See shell.html::entrypoint() for the JS side of things.

See wasm_main.cpp for the C++ side of things
(EMSCRIPTEN_BINDINGS at the bottom is what glues the two parts
together - in general the strings are for JS and the not strings
are the C++)

To build this yourself, follow the getting started instructions:
https://kripken.github.io/emscripten-site/docs/getting_started/downloads.html

and download this patch.  Then, update compile.sh to point at your
sdk and run it (e.g. $SKIA_ROOT/experimental/wasm/compile.sh)

Then navigate a browser (e.g. Chrome) to
http://localhost:8000/out/wasm/pathkit.html

So far, can compile with compile.sh, but not really with
GN/ninja (the compilation into many object files and a link
at the end seems to mess emscripten up)


Bug: skia:
Change-Id: If6b300e2b102469e17841265c7866f1a81094d70
Reviewed-on: https://skia-review.googlesource.com/137422
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-11 15:38:08 +00:00
Cary Clark
1857ddbe21 propogate simple angles in pathops
If an edge is unsortable, its winding value is untrustworthy;
it cannot be added to the output on that alone. If one end
adjoins a trusted edge, and that edge is added to the output,
the untrusted edge can be added as well.

Also add in msvs debugging for angles.

With this change, all extended tests pass.

TBR=reed@google.com

Bug: skia:8125
Change-Id: I049c6efa2fa83edd7b49cdd598ec94c356481b0f
Reviewed-on: https://skia-review.googlesource.com/140562
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-07-11 15:30:28 +00:00
Mike Klein
cd3e13a130 Reland "transform paint color to dst colorspace"
This is a reland of 6eb3621446

I've added an unbounded_uniform_color stage to allow lowp
to keep working when colors are in range and to force floats
when colors go out of range, most commonly in "narrow" config.

Original change's description:
> transform paint color to dst colorspace
>
> Hopefully I can start to knock off effects that need
> to be converted to dst colorspace one at a time now.
>
> My rough list is,
>    - paint color               <----
>    - image shader
>    - sprite blitter
>    - gradients?
>    - mode color filter
>    - lighting color filter
>    - high contrast filter
>    - toSRGB color filter
>
> This change cuts the diffs between 8888 and srgb from
> ~540 to ~500.
>
> I left myself a note about not being able to interpret null
> to sRGB at a high level yet.  That'd cause a ton of 8888 diffs,
> and I think SkColorSpaceXformCanvas diffs too.
>
> Change-Id: Id66a63e0e92130927f267719aeccb8bbcd92973a
> Reviewed-on: https://skia-review.googlesource.com/140244
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

Change-Id: I56dbf3ad3547d668e4b41f3126ef61d70b295f7c
Reviewed-on: https://skia-review.googlesource.com/140460
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-07-11 14:48:38 +00:00
Brian Osman
532b3f944a Remove clamping of kPlus with F16 configs
The most common use-case for F16 is to draw things that are explicitly
outside of [0,1]. We can't prevent out-of-range values in general, users
could just draw out-of-range content in src mode. We've decided that
it's best to avoid surprising behavior, and trust the user in these
situations.

This effectively reverts https://skia-review.googlesource.com/c/skia/+/48183

Bug: skia:
Change-Id: I71c2dd925c567e2862d96ab70c752f19245a69c4
Reviewed-on: https://skia-review.googlesource.com/140500
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-07-11 14:30:58 +00:00
Brian Osman
c87cfb674b Remove old lazy image decoding heuristic logic
This led to removing a lot of transfer function behavior code. There is
more that could be done, and we need to add in decoding to dst color
space, but this CL is almost entirely mechanical.

Change-Id: I91b2169f95aadcfaacdd2b9821bb1a01ce53f9a6
Reviewed-on: https://skia-review.googlesource.com/140349
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-07-11 14:07:08 +00:00
Greg Daniel
f730c1820f Reland "Reland "Make GrVkBackendContext no longer derive from SkRefCnt.""
This reverts commit 007267bdb5.

Reason for revert: Hopefully fuchsia is fixed this time

Original change's description:
> Revert "Reland "Make GrVkBackendContext no longer derive from SkRefCnt.""
> 
> This reverts commit 0db3a8846a.
> 
> Reason for revert: fuchsia change reverted
> 
> Original change's description:
> > Reland "Make GrVkBackendContext no longer derive from SkRefCnt."
> > 
> > This reverts commit 059a9ab4bc.
> > 
> > Reason for revert: Fix landed in Fuchsia
> > 
> > Original change's description:
> > > Revert "Make GrVkBackendContext no longer derive from SkRefCnt."
> > > 
> > > This reverts commit 93ae233773.
> > > 
> > > Reason for revert: <INSERT REASONING HERE>
> > > 
> > > Original change's description:
> > > > Make GrVkBackendContext no longer derive from SkRefCnt.
> > > > 
> > > > Also moves the helper Create functions to VkTestUtils since no clients
> > > > are using them anymore.
> > > > 
> > > > Bug: skia:
> > > > Change-Id: I7e8e4912e7ef6fb00a7e2a00407aed5e83211799
> > > > Reviewed-on: https://skia-review.googlesource.com/135323
> > > > Reviewed-by: Jim Van Verth <jvanverth@google.com>
> > > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > > 
> > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com
> > > 
> > > # Not skipping CQ checks because original CL landed > 1 day ago.
> > > 
> > > Bug: skia:
> > > Change-Id: If7201917631dc22753ea3fa6e9d2984463e38e4c
> > > Reviewed-on: https://skia-review.googlesource.com/137903
> > > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > 
> > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com
> > 
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> > 
> > Bug: skia:
> > Change-Id: Ia4b7c0bb2c7b5dba809d85c69f0b41b473140526
> > Reviewed-on: https://skia-review.googlesource.com/138181
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> 
> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com
> 
> Change-Id: I3f7bc4a5e4e09512fe165303685c123ec3527e58
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/138422
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:
Change-Id: I5705f1ae306707fe28559797e1bb8c2d57e12204
Reviewed-on: https://skia-review.googlesource.com/139000
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-07-11 13:54:57 +00:00
Brian Osman
d17444d5f3 Remove unused GrPixelConfig functions
Change-Id: I1847a96cb8253a8bd047c06d24cba92c8dc04667
Reviewed-on: https://skia-review.googlesource.com/140440
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-07-11 13:54:08 +00:00
Ruiqi Mao
4ec72f7cc7 added skeletal animation support to GPU backend
Pulled from reverted CL: https://skia-review.googlesource.com/c/skia/+/139282

Bug: skia:
Change-Id: Iad8e834aa5bbd085b2dee679cb343c5736c57907
Reviewed-on: https://skia-review.googlesource.com/140383
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ruiqi Mao <ruiqimao@google.com>
2018-07-11 13:46:08 +00:00
angle-skia-autoroll
2229b76258 Roll third_party/externals/angle2 569b9cb983b1..a6a7842fdbf5 (2 commits)
569b9cb983..a6a7842fdb


git log 569b9cb983b1..a6a7842fdbf5 --date=short --no-merges --format='%ad %ae %s'
2018-07-11 jiawei.shao@intel.com ES31: Support atomic functions on D3D11 - Part I
2018-07-10 jmadill@chromium.org dEQP: Implement platform error handling.


Created with:
  gclient setdep -r third_party/externals/angle2@a6a7842fdbf5

The AutoRoll server is located here: https://angle-skia-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=robertphillips@google.com

Change-Id: I233115b2a07edc1d830ac761a7c413ac9a563d12
Reviewed-on: https://skia-review.googlesource.com/140421
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-07-11 09:16:26 +00:00
skia-bookmaker
61cc9fabf2 Update markdown files
Automatic commit by the Housekeeper-Nightly-Bookmaker bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Iac5668f8ebfa3dece2cdd77c7a9c852e76944005
Reviewed-on: https://skia-review.googlesource.com/140408
Reviewed-by: <skia-bookmaker@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-bookmaker@skia-swarming-bots.iam.gserviceaccount.com>
2018-07-11 05:55:35 +00:00
angle-skia-autoroll
e8d674dd7c Roll third_party/externals/angle2 d8b1c5c5bba2..569b9cb983b1 (16 commits)
d8b1c5c5bb..569b9cb983


git log d8b1c5c5bba2..569b9cb983b1 --date=short --no-merges --format='%ad %ae %s'
2018-07-10 fjhenigman@chromium.org Fix run_code_generation.py hash calculation.
2018-07-10 theoking@google.com Enabled Vulkan backend on as many tests as possible
2018-07-10 geofflang@chromium.org Vulkan: Support RGB/BGR backbuffers emulated on RGBA/BGRA.
2018-07-10 jmadill@chromium.org Vulkan: Apply driver uniforms descriptor set.
2018-07-10 jmadill@chromium.org Vulkan: Add driver uniforms to shader.
2018-07-10 jmadill@chromium.org translator: Refactor interface block layout qualifiers.
2018-07-10 tobine@google.com Roll Vulkan repos fwd as of 7/10
2018-07-10 jmadill@chromium.org Vulkan: Fix last parameter of viewport driver uniform.
2018-07-10 lucferron@chromium.org Vulkan: Fix all depth/stencil related failures due to Y flip
2018-07-10 jmadill@chromium.org SwapchainD3D: Take Display instead of Context.
2018-07-10 jmadill@chromium.org D3D: Move Incomplete Textures to Context9/11.
2018-07-10 jmadill@chromium.org Surface: Don't use a BindingPointer for BindTexImage.
2018-07-10 lucferron@chromium.org Vulkan: Fix all copyTexImage/copySubTexImage cases with Y flip
2018-07-10 lucferron@chromium.org Vulkan: Fix for framebuffer blit and Y flip
2018-07-10 jmadill@chromium.org DisplayImpl: Make waitClient/waitNative non-const.
2018-07-10 cjacek@gmail.com Fix PMurHash.cpp mingw clang 64-bit compilation.


Created with:
  gclient setdep -r third_party/externals/angle2@569b9cb983b1

The AutoRoll server is located here: https://angle-skia-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=robertphillips@google.com

Change-Id: Iebaf9a1d04832289c9d8b3044ec562a299b81cf8
Reviewed-on: https://skia-review.googlesource.com/140420
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-07-11 00:08:25 +00:00
Ben Wagner
36fe60d19a Move SkRefSet / pipe code to smart pointer.
This clarifies the ownership and simplifies the code.

Change-Id: I18ce981aaabfdd4749a344276bd19d62aa2c3210
Reviewed-on: https://skia-review.googlesource.com/140350
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-07-10 23:36:05 +00:00
Herb Derby
83a355d698 Revert "Use new SkGlyphIDSet"
This reverts commit 819f73c23c.

Reason for revert: uninitialized memory - this is expected but

Original change's description:
> Use new SkGlyphIDSet
> 
> Change-Id: I6b8080393a22a56577528f66630ad39372edf712
> Reviewed-on: https://skia-review.googlesource.com/140243
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,herb@google.com

Change-Id: I43e204520710738e9e8c84b0eb00260ca06fe6a2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/140384
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-07-10 22:59:26 +00:00
Herb Derby
819f73c23c Use new SkGlyphIDSet
Change-Id: I6b8080393a22a56577528f66630ad39372edf712
Reviewed-on: https://skia-review.googlesource.com/140243
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-07-10 22:15:05 +00:00
Ben Wagner
02ca49fc46 Move SkWriteBuffer to smart pointers.
The fields fFactorySet and fTFSet and their setting member functions are
changed to use smart pointers instead of manually handling the reference
counting.

Change-Id: I7d8e9f3dff5a7b4770959c5cc143a3ac7289d108
Reviewed-on: https://skia-review.googlesource.com/140348
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-07-10 21:33:25 +00:00
Brian Osman
351f4daca4 Revert "transform paint color to dst colorspace"
This reverts commit 6eb3621446.

Reason for revert: UBSAN/ASAN failures

Original change's description:
> transform paint color to dst colorspace
> 
> Hopefully I can start to knock off effects that need
> to be converted to dst colorspace one at a time now.
> 
> My rough list is,
>    - paint color               <----
>    - image shader
>    - sprite blitter
>    - gradients?
>    - mode color filter
>    - lighting color filter
>    - high contrast filter
>    - toSRGB color filter
> 
> This change cuts the diffs between 8888 and srgb from
> ~540 to ~500.
> 
> I left myself a note about not being able to interpret null
> to sRGB at a high level yet.  That'd cause a ton of 8888 diffs,
> and I think SkColorSpaceXformCanvas diffs too.
> 
> Change-Id: Id66a63e0e92130927f267719aeccb8bbcd92973a
> Reviewed-on: https://skia-review.googlesource.com/140244
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,brianosman@google.com

Change-Id: I31a17b6e70916c463d38488703cfade347c05f2b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/140382
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-07-10 20:42:06 +00:00
Joe Gregorio
383c9bbf0f Revert "added skeletal animation support to GPU backend"
This reverts commit d275ef501c.

Reason for revert: Failing to compile on debian9.

Original change's description:
> added skeletal animation support to GPU backend
> 
> Pulled from reverted CL: https://skia-review.googlesource.com/c/skia/+/138596
> 
> Bug: skia:
> Change-Id: Ie07f1c76bae65c219ebe93d071bb19f1a30100c2
> Reviewed-on: https://skia-review.googlesource.com/139282
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Ruiqi Mao <ruiqimao@google.com>

TBR=robertphillips@google.com,brianosman@google.com,ruiqimao@google.com

Change-Id: Ibc0da6ce16f078ff74a2c1bcab30750baff460f7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/140381
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2018-07-10 20:35:26 +00:00
Brian Salomon
1b112cc560 Revert "Remove interpolants are inaccurate workaround for Adreno 3xx."
This reverts commit a7a278205b.

Reason for revert: Chrome change had to be reverted because of new failures on Nexus 9 and 6P.

Original change's description:
> Remove interpolants are inaccurate workaround for Adreno 3xx.
> 
> The chrome screenshot unit test that led to adding this workaround has
> been adjusted to avoid testing AA edges of rendered rectangles. We're
> accepting the inaccuracy in favor of increased performance.
> 
> Chrome change: https://chromium-review.googlesource.com/c/chromium/src/+/1129041
> 
> Bug: chromium:847984
> Change-Id: I9b714ade2a67e956ebb2773ebe3b8632dc3a50c6
> Reviewed-on: https://skia-review.googlesource.com/140180
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Auto-Submit: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

TBR=bsalomon@google.com,brianosman@google.com

Change-Id: Ic6b0e5a343556e59d144852f9fa5b561302f9781
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:847984
Reviewed-on: https://skia-review.googlesource.com/140380
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-07-10 20:34:26 +00:00
Ruiqi Mao
d275ef501c added skeletal animation support to GPU backend
Pulled from reverted CL: https://skia-review.googlesource.com/c/skia/+/138596

Bug: skia:
Change-Id: Ie07f1c76bae65c219ebe93d071bb19f1a30100c2
Reviewed-on: https://skia-review.googlesource.com/139282
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Ruiqi Mao <ruiqimao@google.com>
2018-07-10 20:25:55 +00:00
Brian Osman
c69c4410be Remove matrixconvolution GM hacks for linear blending
GMs now match betwen gl and glsrgb

Change-Id: Ibc6acf29d93d8bfab81a14be5d794d6e24844324
Reviewed-on: https://skia-review.googlesource.com/140346
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-07-10 20:14:05 +00:00
Mike Klein
b82edcc92b update (non-sprite) image shader color management
Just another little step...  diffs down to ~450 from ~500.

The A8 handling has changed a little, keeping the paint
color in sRGB just to make the append_misc() logic a bit
more streamlined.

I may want to refactor things a little later so that I can
get an easy signal to use to_srgb and from_srgb stages instead
of sending them through the generic parametric stages.

Change-Id: Iefff3206b06a3aa7d81f85fd169272b6ac9c20e0
Reviewed-on: https://skia-review.googlesource.com/140250
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-07-10 20:13:26 +00:00