Commit Graph

36125 Commits

Author SHA1 Message Date
Mike Klein
015c899d34 port most SkAtomic<T> to std::atomic<T>
The only SkAtomic<T> left are the ones overriding the default memory
order in SkPath.  I think I'd like to try switching them to std::atomic
too, but in another CL.

Trim unused APIs in SkAtomics.h.

Change-Id: Ia1c283355902ccb8fcdad70cdf27bb577e8ca407
Reviewed-on: https://skia-review.googlesource.com/146529
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-08-09 23:40:31 +00:00
Joe Gregorio
448ddcff82 Fix typo in docs.
No-Try: true
Docs-Preview: https://skia.org/?cl=146653
Bug: skia:
Change-Id: I1c0fb8bfb6f03291939215cceec603c578f68e63
Reviewed-on: https://skia-review.googlesource.com/146653
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2018-08-09 23:05:01 +00:00
Herb Derby
bc6f9c9a8c Remove GrTextUtil::Paint
This was just acting like a pair of SkPaint, GrColor. But,
had an additional pointer to a color space. I changed
everything to just pass the pair around.

BUG=chromium:864564

Change-Id: I9858556b8bca0d5359d4d6e9784d63ff8c4f467b
Reviewed-on: https://skia-review.googlesource.com/146381
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-08-09 22:25:13 +00:00
Florin Malita
73154babe5 [skottie] Avoid UB while parsing 1-based indices
Current impl can underflow int due to unchecked arithmetic.

Add a Parse<size_t> specialization and convert call sites which use
inline arithmetic.  Underflowing unsigned types should be well defined
and caught in later tests.

Bug: oss-fuzz:9798
Change-Id: Iaebe8aad4009e2511fe1d8733d336f5f119bb384
Reviewed-on: https://skia-review.googlesource.com/146648
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-09 22:05:32 +00:00
Mike Klein
94c4f41ab8 in MS land, -include is /FI
Change-Id: Ibfead1121f22277297e16196b37e6e86dc2d2166
Reviewed-on: https://skia-review.googlesource.com/146649
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-08-09 22:03:27 +00:00
Timothy Liang
2eb8e02756 Reland "implemented GrMtlSampler for metal gpu backend"
This reverts commit 35f9637a78.

Reason for revert: <Removed setting border color since we don't clamp to border anyway>

Original change's description:
> Revert "implemented GrMtlSampler for metal gpu backend"
>
> This reverts commit 93fa10fbbc.
>
> Reason for revert: <Breaking build on macOS ver < 10.12>
>
> Original change's description:
> > implemented GrMtlSampler for metal gpu backend
> >
> > Bug: skia:
> > Change-Id: I936e5510e5ee146c0fc6bdbc0d5f5352359fbe7d
> > Reviewed-on: https://skia-review.googlesource.com/145893
> > Commit-Queue: Timothy Liang <timliang@google.com>
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
>
> TBR=egdaniel@google.com,timliang@google.com
>
> Change-Id: I4184890610e3147abc63b7d9bdfa8ec8120a11ef
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/146580
> Reviewed-by: Timothy Liang <timliang@google.com>
> Commit-Queue: Timothy Liang <timliang@google.com>

Bug: skia:
Change-Id: Icbf31144cba79c621eff4741871d27172f1004b7
Reviewed-on: https://skia-review.googlesource.com/146581
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Timothy Liang <timliang@google.com>
2018-08-09 22:00:28 +00:00
Adrienne Walker
87785d5573 Add max_fragment_uniform_vectors_32 workaround
Bug: chromium: 829614
Change-Id: I0ce008d8ebadd90758510ea069f0f4384a95751e
Reviewed-on: https://skia-review.googlesource.com/146622
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Adrienne Walker <enne@chromium.org>
2018-08-09 21:13:16 +00:00
Mike Klein
475c5e93fe turn on alignment sanitizer
This sanitizer checks for overaligned reads and writes,
or put another way, use of underaligned pointers.

This usually happens when you cast, e.g. char* to int*
without checking that the char* is 4-byte aligned.  Each
of the changes under src/ fixes something just like that.

The unusual setup for tools/xsan.blacklist is there to
force a rebuild whenever tools/xsan.blacklist changes.
I spent a good few minutes debugging rebuilds not happening
this morning, perhaps from some strange ccache interaction.

Align SkTextBlobs as void* (today they're just 4-byte) so the
SkTextBlob::RunRecords we put after them in SkTextBlobBuilder
buffers are properly aligned (for the SkTypeface* inside).

There's no obvious error in void SkRRect::computeType(),
but one bot seems to have seen some sort of issue with

    SK_AT_SCOPE_EXIT(SkASSERT(this->isValid()));

I can't reproduce it locally, so I'm just going to unroll it.

Change-Id: I904d94f65f695e1b626b684c32216a4930b72b0c
Reviewed-on: https://skia-review.googlesource.com/146104
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-08-09 21:13:15 +00:00
Ethan Nicholas
f1b1464d81 fixed early return breaking things in .fp files
Bug: skia:
Change-Id: If91e8cb2f312cb7546967bd9af0d1ae180177870
Reviewed-on: https://skia-review.googlesource.com/146644
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2018-08-09 21:08:14 +00:00
Brian Osman
11e6d95005 Allow any color space when making a picture backed image
Change-Id: Icb6d56f8e88396b5d2c82d61afd7fd633b39e00c
Reviewed-on: https://skia-review.googlesource.com/146528
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-08-09 21:08:13 +00:00
Florin Malita
e1c9d3c9e2 [skottie] Optimize color filter layerization
Use the deferred paint override mechanism, similar to opacity.

Change-Id: I78fa7f5d73ef333480ec72b0cb663819b1de2404
Reviewed-on: https://skia-review.googlesource.com/146527
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-09 21:03:12 +00:00
Ben Wagner
a191597a96 Viewer to resize Samples with window resize.
This adds onResize to sk_app::Window::Layer and uses it to resize
samples in Viewer.

Change-Id: Ia5ec5cf6dc74fbdf712291b9ba8707b076cb625d
Reviewed-on: https://skia-review.googlesource.com/146642
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-08-09 21:03:11 +00:00
Herb Derby
9f491487df Remove RunPaint
Change-Id: I3742cbf3b636f10bb2006e0c86390661deb9f9b8
Reviewed-on: https://skia-review.googlesource.com/146164
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-08-09 20:58:10 +00:00
angle-skia-autoroll
b8aa1442c6 Roll third_party/externals/angle2 c43cdad25851..468484201532 (1 commits)
c43cdad258..4684842015


git log c43cdad25851..468484201532 --date=short --no-merges --format='%ad %ae %s'
2018-08-09 jmadill@chromium.org Vulkan: Fix perftests null driver.


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

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=djsollen@google.com

Change-Id: I6e8935e869677db178add0256953b58163b725f3
Reviewed-on: https://skia-review.googlesource.com/146660
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-08-09 20:58:09 +00:00
Kevin Lubick
644d8e7175 [PathKit] Add PathOps Op and Simplify tests imported from the C++ tests.
Because of https://skia-review.googlesource.com/c/skia/+/146165 and
https://skia-review.googlesource.com/c/skia/+/146100 we have a way
to turn PathOps tests into JSON, which has input paths (as Cmd arrays),
combination verb and expected output.

In this CL, we make tests from the JSON, compare them to the expected
output and, optionally, create SVGs to visualize the difference if any.

API changes (nothing breaking on release builds):
 - Exposes SkRect as a JS Object.  No need to call delete() on this.
 - expose path.getBounds() and path.computeTightBounds()
 - Remove SkRegion exposure (debug/test only), which was going to be
used for this purpose, but the approach in this CL works fine.
 - Add loadCmdsTypedArray(cmd) helper function to JS [see helper.js].
This was previously known as `floatTypedArrayFrom2D` in the
old shell.html, and is now exposed to avoid clients having to
implement this boilerplate by themselves.
 - Add set/getFillType - mostly for testing the difference between
a Winding and an EvenOdd path.

Bug: skia:8216
Change-Id: I2cd25ce2e1e7f285c79c596678678e62135963f0
Reviewed-on: https://skia-review.googlesource.com/146524
Reviewed-by: Cary Clark <caryclark@google.com>
2018-08-09 18:13:48 +00:00
Brian Osman
2d010b66a6 Remove old sRGB config support from backend render target tool utilities
Bug: skia:
Change-Id: Ie88c16ddb2b072d8bdd7efc3acabc1d9ad89012f
Reviewed-on: https://skia-review.googlesource.com/146526
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-09 15:27:24 +00:00
Ben Wagner
b2c4ea6219 Move Views into Sample and Viewer.
What is left of the SkView system is used only by samples or viewer.
As a result, move it out of the Skia source tree and re-organize so it
is a bit easier to understand and use more shared code.

Move samplecode/ClockFaceView.cpp to samplecode/SampleTextEffects.cpp,
sice that's what's actually in it.

Move SkAnimTimer.h to tools/timer, since it's actually shared between gm
and samples.

Change-Id: I55dafd94c64e4f930ddbd19168e0f812af86c455
Reviewed-on: https://skia-review.googlesource.com/146161
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-08-09 15:25:32 +00:00
Ben Wagner
d1910d5664 Add jobs for GTX1050 eGPU.
No-Try: true
Change-Id: I47ccf632537a71eb0e2957158ce38c4a4421952b
Reviewed-on: https://skia-review.googlesource.com/145334
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-08-09 15:22:21 +00:00
Timothy Liang
35f9637a78 Revert "implemented GrMtlSampler for metal gpu backend"
This reverts commit 93fa10fbbc.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> implemented GrMtlSampler for metal gpu backend
> 
> Bug: skia:
> Change-Id: I936e5510e5ee146c0fc6bdbc0d5f5352359fbe7d
> Reviewed-on: https://skia-review.googlesource.com/145893
> Commit-Queue: Timothy Liang <timliang@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,timliang@google.com

Change-Id: I4184890610e3147abc63b7d9bdfa8ec8120a11ef
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/146580
Reviewed-by: Timothy Liang <timliang@google.com>
Commit-Queue: Timothy Liang <timliang@google.com>
2018-08-09 15:18:08 +00:00
Brian Osman
05271aedaa Stop treating 2.2 gamma as sRGB
Bug: skia:
Change-Id: I023dfbabf691b498363fb227b1d4580dca51bc89
Reviewed-on: https://skia-review.googlesource.com/146525
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-09 15:17:17 +00:00
Cary Clark
e12a090a63 make some textblob builders private for now
Move SkTextBlobBuilder::allocRunText* to private: for the time
being, to reduce the documented interface footprint.

No code is deleted; the functions may be restored when a
client is ready to call them.

Also, add SkTextBlob::MakeFromString to complement
SkTextBlob::MakeFromText.

R=halcanary@google.com,fmalita@google.com
TBR=reed@google.com
Bug: skia:6818
Change-Id: If09d4da4ce38b680d73f25d187e3d06eeb0ec652
Reviewed-on: https://skia-review.googlesource.com/146521
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-08-09 15:01:31 +00:00
Florin Malita
c0132ffa64 [skottie] Optimize opacity layerization
- plumb a RenderContext RenderNode::render() argument to track pending
    opacity

  - defer opacity application until we can determine whether a layer is
    required (group with multiple children) or the opacity can be pushed
    onto the draw paint (for single/atomic draws)

Bug: skia:
Change-Id: I962ba08bad780395d5d738307bde986e9efa502b
Reviewed-on: https://skia-review.googlesource.com/146445
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-09 14:48:02 +00:00
Herb Derby
919a784423 Remove use of RunPaint from regenerateGlyphRunList
Change uses of RunPaint and Paint to uses of SkPaint and a GrColor.

Change-Id: I44d4c41a53e570f316e10dee26754c21d9593de0
Reviewed-on: https://skia-review.googlesource.com/145962
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-09 14:43:02 +00:00
Mike Klein
9faf9fdee9 clean up SK_LEGACY_COLORSPACE_XFORMER_IMPL
Change-Id: Ie4e1f9141847705afd1a11e57bc41a9b2019517a
Reviewed-on: https://skia-review.googlesource.com/146520
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-09 14:34:11 +00:00
Brian Osman
eb7e5299be Remove CachedFormat remnants
Portions of this API will be updated again to support decode-to-dst, but
I want to clean up the old API first. I left a bunch of TODO breadcrumbs
for that work.

Change-Id: I25a29ccc14aa568e5ea84747d74244874afab9d9
Reviewed-on: https://skia-review.googlesource.com/146380
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-09 14:26:19 +00:00
Kevin Lubick
92c9171125 [Pathkit] Add recipe for running JS tests using Docker
This adds a few JS tests (see *.spec.test) and runs them
using Karma and a Docker image containing Karma, node, and
Chrome (currently at 68).

We only add a Debug Test here because the Release version
has some test helpers (e.g. Region) compiled out.  If those
end up not mattering for tests, we can add in a Release version.


Bug: skia:8216
Change-Id: Ica6ab3a4f21688cfa175a90d42c2254d38e8fcf1
Reviewed-on: https://skia-review.googlesource.com/145723
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-08-09 14:17:28 +00:00
Brian Osman
e581aaad4d Remove picture_utils
More pointless hoop-jumping

Change-Id: I0123e0a1e27140a82ffe08ad88e0d115c060436d
Reviewed-on: https://skia-review.googlesource.com/146449
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-08-09 14:14:17 +00:00
Timothy Liang
93fa10fbbc implemented GrMtlSampler for metal gpu backend
Bug: skia:
Change-Id: I936e5510e5ee146c0fc6bdbc0d5f5352359fbe7d
Reviewed-on: https://skia-review.googlesource.com/145893
Commit-Queue: Timothy Liang <timliang@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-09 14:00:12 +00:00
Brian Osman
d9ea816b1f Cleanup and simplify some skiaserve and utility code
This started with a search for gammaCloseToSRGB and turned into me
removing a bunch of really crazy bitmap code here. Like DM, just use
SkPngEncoder to encode PNGs. With that change, we don't need the custom
raster pipeline step, and we can remove that (along with several other
unused functions) from picture_utils. (The one remaining function should
just move to tool_utils, but I'll save that for another rainy day).

In getPixel, we can skip ALL of the processing work, and also only read
the one pixel we need. That makes break-on-change feel much faster from
my anecdotal testing.

Change-Id: I3d18f1e7a15dd12ac4661da1b724e9d8e1cdee96
Reviewed-on: https://skia-review.googlesource.com/146442
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-09 13:08:48 +00:00
Brian Osman
1e4a4daebe Remove dead code from Benchmark
Spotted the VisualBench hooks the other day, then found some more dead
code when I went to remove them.

Change-Id: Ia07f0556faf33cc69e3ec590f7a8f47f2c1f298a
Reviewed-on: https://skia-review.googlesource.com/146360
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-09 13:07:28 +00:00
Cary Clark
8af4c40014 use atomic for global test counters
TSAN is failing because
multiple threads are incrementing the
same global

TBR=mtklein@google.com

Bug: skia:
Change-Id: I9c3bc6bb4aa7cbe7ced5b3080790d3c4ad1ff798
Reviewed-on: https://skia-review.googlesource.com/146446
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-08-09 03:43:12 +00:00
angle-skia-autoroll
81aa38d815 Roll third_party/externals/angle2 c86c8b0cecf0..c43cdad25851 (6 commits)
c86c8b0cec..c43cdad258


git log c86c8b0cecf0..c43cdad25851 --date=short --no-merges --format='%ad %ae %s'
2018-08-08 jmadill@chromium.org StateCache: Make external API easier to understand.
2018-08-08 jmadill@chromium.org Validate transform feedback conflicts on zero draw.
2018-08-08 jmadill@chromium.org Refactor ValidateDrawBase.
2018-08-08 jmadill@chromium.org Add a perf test for draw calls with texture changes.
2018-08-08 jmadill@chromium.org Fix vertex array element limit condition.
2018-08-08 jmadill@chromium.org Don't use ErrorOrResult in VertexBuffer.h.


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

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=djsollen@google.com

Change-Id: I7a5ff1b943af311072f4198423fc117142e5fa8d
Reviewed-on: https://skia-review.googlesource.com/146502
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-08-09 02:59:39 +00:00
Herb Derby
97879cbbd0 Performance: Move GPU code to GlyphRun and inline - v3
Move the GPU glyph drawing code into the glyph run drawing translation
unit. Inline the per glyph/path functions. This results in about 15%
speedup.

There was a compile error where a static function was used
in a template. This caused some compilers to freak.

Change-Id: I9619e538875edd989f129450dc9fc12ba7be9560
Reviewed-on: https://skia-review.googlesource.com/146340
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2018-08-08 23:49:20 +00:00
Brian Osman
0d5d0659a6 Remove ContextRect::DstType
This wasn't doing anything any longer. Is there more to be deleted?

Change-Id: Ib317a3760b874503a2deac3385625ea2fbc48ef7
Reviewed-on: https://skia-review.googlesource.com/146384
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-08-08 22:05:28 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
89094cce74 Roll skia/third_party/skcms 5b1292eaeda5..f1e2b45d18fa (1 commits)
https://skia.googlesource.com/skcms.git/+log/5b1292eaeda5..f1e2b45d18fa

2018-08-08 benjaminwagner@google.com [infra] Use Xcode from CIPD.


The AutoRoll server is located here: https://skcms-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=master.tryserver.blink:linux_trusty_blink_rel
TBR=djsollen@google.com

Change-Id: Id9a8b7b4ddbe85012678f12fa9313efb2ab26fec
Reviewed-on: https://skia-review.googlesource.com/146464
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-08-08 22:04:29 +00:00
recipe-roller
33790b252d 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.
recipe_engine:
  https://crrev.com/4f89beb3e0d1c128aa748398fe619ec38a4452b3 [tricium] Add repo and ref access properties (juliehockett@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic944242cd43752a7de6e518c7bdcbeb785df16e4
Reviewed-on: https://skia-review.googlesource.com/146443
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-08-08 21:56:48 +00:00
Florin Malita
3c9929698d [skottie] Animator tweaks
* reserve SkPath storage to avoid incremental allocations
  * refactor eval() to avoid copying data when interpolation is not
    triggered

Change-Id: I467affbbfd652e8fa2a486acab7d6c7b9165d49f
Reviewed-on: https://skia-review.googlesource.com/146166
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-08 21:15:47 +00:00
Mike Reed
b547579d00 switch SkTDArray from push to push_back
Bug: skia:
Change-Id: I5d7252cf67a201612813597047f1ea3584c57854
Reviewed-on: https://skia-review.googlesource.com/146386
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-08-08 21:13:57 +00:00
Greg Daniel
53956d9bfd Add iOS Metal Build job.
Bug: skia:8230
Change-Id: Ic8c17954c5dcaeebcfd028e24a0556d0b09a5b62
Reviewed-on: https://skia-review.googlesource.com/146168
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-08-08 20:22:35 +00:00
Timothy Liang
4e67984bec made GrMtlBuffer compatible with iOS
also fixed the fact that we were actually creating managed buffers at times.

Bug: skia:
Change-Id: I7ffe12b5decc8bceee30d671e1ab3cc30f7fad99
Reviewed-on: https://skia-review.googlesource.com/146170
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-08-08 19:28:44 +00:00
Cary Clark
9c9611fcc1 dump pathops tests as hex json
Dump as hex instead of SVG to more accurately
capture pathops tests.

Use SkBits2Float to reconstruct SkScalar data.

Exclude tests with conics since, for the moment,
pathkit maps conics to quads.

R=kjlubick@google.com

Bug: skia:
Change-Id: Iba2836bde8f737f42c8da31cc26e83ce55de924a
Reviewed-on: https://skia-review.googlesource.com/146165
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-08-08 19:01:30 +00:00
Ben Wagner
ce1db863ef [infra] Update Skolo Win NVIDIA drivers.
No-Try: true
Change-Id: If464ad647084aa141de9952ef8185df87a975d0f
Reviewed-on: https://skia-review.googlesource.com/145524
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-08-08 19:00:37 +00:00
Timothy Liang
44636e9ab5 created GrMtlPipelineStateDataManager for metal gpu backend
Bug: skia:
Change-Id: I630b1fc2e3a4195b8df8b04a02be8fc95bb9c4fe
Reviewed-on: https://skia-review.googlesource.com/145329
Commit-Queue: Timothy Liang <timliang@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-08 18:51:58 +00:00
angle-skia-autoroll
c09e2b9eae Roll third_party/externals/angle2 c93eeaab1526..c86c8b0cecf0 (1 commits)
c93eeaab15..c86c8b0cec


git log c93eeaab1526..c86c8b0cecf0 --date=short --no-merges --format='%ad %ae %s'
2018-08-08 jmadill@chromium.org D3D9: Use angle::Result error pattern.


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

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=djsollen@google.com

Change-Id: Ice348b63cc6cb0b1f09d94abab38ccde101e6c6b
Reviewed-on: https://skia-review.googlesource.com/146260
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-08-08 18:07:49 +00:00
Chris Dalton
a44436f19f Allow SkChopCubicAt to have the same src and dst
Also updates SkConvertQuadToCubic to do the same.

Bug: skia:
Change-Id: Id1da5182b0696492ca9c8e99243cb86fbdbfcd2f
Reviewed-on: https://skia-review.googlesource.com/146212
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-08-08 18:06:29 +00:00
Herb Derby
44a017efa3 Revert "Performance: Move GPU code to GlyphRun and inline - v2"
This reverts commit c7ef517875.

Reason for revert: GCC clang differences

Original change's description:
> Performance: Move GPU code to GlyphRun and inline - v2
> 
> Move the GPU glyph drawing code into the glyph run drawing translation
> unit. Inline the per glyph/path functions. This results in about 15%
> speedup.i
> 
> There was a compile error where a static function was used
> in a template. This caused some compilers to freak.
> 
> Change-Id: I4dbcea5d4a7ef97f38c95772076736d6ec92c535
> Reviewed-on: https://skia-review.googlesource.com/146169
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

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

Change-Id: I785759e86ffaad76937c9aaa60b19abbbce226c2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/146241
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-08-08 17:59:47 +00:00
Brian Salomon
d1b8a166db Add ability to specify different GP textures for each mesh in a draw.
Uses GrPipeline::DynamicStateArrays to allow per-mesh GP textures when
drawing an array of GrMeshes.

Uses this along with op-chaining to make drawing multiple TextureOps
with different textures faster.

Change-Id: Iec4da1b72a13d0e0c94c8a8568fe4221c539dfcf
Reviewed-on: https://skia-review.googlesource.com/145960
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-08 17:48:53 +00:00
Herb Derby
c7ef517875 Performance: Move GPU code to GlyphRun and inline - v2
Move the GPU glyph drawing code into the glyph run drawing translation
unit. Inline the per glyph/path functions. This results in about 15%
speedup.i

There was a compile error where a static function was used
in a template. This caused some compilers to freak.

Change-Id: I4dbcea5d4a7ef97f38c95772076736d6ec92c535
Reviewed-on: https://skia-review.googlesource.com/146169
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-08-08 17:41:54 +00:00
Robert Phillips
df25e3af32 Add fast path for tail insertion in GrResourceAllocator::IntervalList
Change-Id: I8953036d61b4ea4989c8722f536db9cd520a1e24
Reviewed-on: https://skia-review.googlesource.com/146167
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-08 17:18:57 +00:00
Brian Salomon
d25f5bcc18 Allow GrOps to chain themselves together instead of merging.
This allows GrOp subclasses to chain themselves together in linked
lists. The GrOp head instance is able to iterate over the ops in
the chain. The head op of the list draws the contents of all the
chained ops. GrRenderTargetOpList is updated to use this chaining
and to skip non-head ops when preparing/executing ops.

With this change no op uses the new chaining facility. That will come
in subsequent changes.

Change-Id: I7fe99252ad7e23a9ea80c9ed1fc4d060700da2e0
Reviewed-on: https://skia-review.googlesource.com/145899
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-08 17:02:47 +00:00