Commit Graph

42306 Commits

Author SHA1 Message Date
Greg Daniel
46cfbc67f6 Reland "Reland "Remove support for copyAsDraw in gpu copySurface.""
This reverts commit 4c6f9b7670.

Reason for revert: Landing with neuxs 7 and androind one fixes

Original change's description:
> Revert "Reland "Remove support for copyAsDraw in gpu copySurface.""
>
> This reverts commit 84ea04949c.
>
> Reason for revert: nexus 7 and android one broken
>
> Original change's description:
> > Reland "Remove support for copyAsDraw in gpu copySurface."
> >
> > This reverts commit c5167c053b.
> >
> > Reason for revert: fixed
> >
> > Original change's description:
> > > Revert "Remove support for copyAsDraw in gpu copySurface."
> > >
> > > This reverts commit 6565506463.
> > >
> > > Reason for revert: seems to break things?
> > >
> > > Original change's description:
> > > > Remove support for copyAsDraw in gpu copySurface.
> > > >
> > > > The major changes on a higher lever are:
> > > > 1) The majority of all copies now go through GrSurfaceProxy::Copy which
> > > > takes in a proxy and returns a new one with the data copied to it. This
> > > > is the most common use case within Ganesh.
> > > >
> > > > 2) The backend copy calls no longer do draws, require origins to be the
> > > > same, and won't do any swizzling or adjustment of subrects. They are
> > > > all implemented to be dumb copy this data to this other spot.
> > > >
> > > > 3) The GrSurfaceContext copy call has now been moved to priv and renamed
> > > > copyNoDraw, and a new priv copyAsDraw was added to GrRenderTargetContext.
> > > >
> > > > 4) WritePixels and ReplaceRenderTarget both need to specifiy the destination
> > > > of copies. They are the only users (besides the GrSurfaceProxy::Copy) which
> > > > call the priv methods on GrSurfaceContext.
> > > >
> > > > Change-Id: Iaf1eb3a73ccaf39a75af77e281dae594f809186f
> > > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217459
> > > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > >
> > > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
> > >
> > > Change-Id: Id43aa8aa1451e794342e930441d9975b90e6b59f
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218549
> > > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> >
> > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
> >
> > Change-Id: I1a96f85ae2ff7622a6b57406755d478e7fbcf56e
> > No-Presubmit: true
> > No-Tree-Checks: true
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218797
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
>
> Change-Id: I310930a9df30535f45a065263a40239141e15562
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219384
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

Change-Id: I88df4f19aa26ed77b5af4e25d138387cbabd1934
No-Presubmit: true
No-Tree-Checks: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219386
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-07 17:38:33 +00:00
Herb Derby
33a6f7c0a8 Remove advance only mode from SkGlyph.
SkGlyph would be initialized with advances, but the bounding box, etc.
would be calculated later. Initialize the glyphs everything except, image
and path data.

+ Clean up private: section.

Change-Id: I016e820563690fc4a74c85cd73442675119dacbf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219524
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-07 17:29:45 +00:00
Julia Lavrova
10ad0b9b01 SkParagraph
Change-Id: I0a4be75fd0c18021c201bcc1edfdfad8556edeff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/192100
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2019-06-07 17:23:23 +00:00
skia-autoroll
2866a5b747 Roll skia/third_party/skcms 386ae89d2b64..ed2c978cdeef (1 commits)
https://skia.googlesource.com/skcms.git/+log/386ae89d2b64..ed2c978cdeef

2019-06-07 mtklein@google.com test wasm with node instead of a browser


The AutoRoll server is located here: https://autoroll.skia.org/r/skcms-skia-autoroll

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=luci.chromium.try:linux-blink-rel
TBR=jcgregorio@google.com,mtklein@google.com

Change-Id: I3c2522550c8de1f51edf8e690c13427ea59aa967
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219540
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-07 17:14:43 +00:00
Jim Van Verth
7bd76643aa Another attempt at a shim to get sk_cf_obj landed.
Add retain() instead (this will be added to sk_cf_obj as well).
The issue is that Chrome is storing their objects in a unique_ptr<>
style class which wishes to retain ownership, so we can't use reset(),
which transfers ownership.

Change-Id: I84fd453128963c11c6c8b6e950be8a0851e03066
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219523
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-06-07 16:59:19 +00:00
recipe-roller
ac53c42b09 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/4c5c8ab626d5e9e4e19271490cb895a6ef8a41da Reland "Reland "gclient: Require a target ref when applying patches."" (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I6ebe40b2e23a6b6e06d4e49b374dd7b9d992c137
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219525
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-06-07 16:30:39 +00:00
Robert Phillips
fe18de5060 Experimental: Add R_16 and RG_1616 to Ganesh (take 2)
This is to support the P016 and P010 YUV formats. Initially, only Vulkan and GL support these formats.

Change-Id: I4e896f1d3fb32207227a755517ae5a00a58e6045
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219403
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-06-07 14:00:58 +00:00
skia-autoroll
6faf8d662a Roll third_party/externals/angle2 b91f87b6ce1c..ea49f6f5d4e3 (8 commits)
b91f87b6ce..ea49f6f5d4


git log b91f87b6ce1c..ea49f6f5d4e3 --date=short --no-merges --format='%ad %ae %s'
2019-06-06 dongja@google.com Debug: Add LOG_INFO logging level
2019-06-06 timvp@google.com Vulkan: Handle VK_ERROR_OUT_OF_DATE returned by vkAcquireNextImageKHR()
2019-06-06 jgilbert@mozilla.com Use execv instead of execve w/ environ.
2019-06-06 geofflang@chromium.org Don't remove the symbol_visibility_hidden config in asan builds.
2019-06-06 courtneygo@google.com Avoid recreating swapchain for preRotation
2019-06-06 dongja@google.com Vulkan: fix uint indices causing incomplete buffer
2019-06-06 jmadill@chromium.org Vulkan: Move descriptor pools into ProgramVk.
2019-06-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 2f4a8dfd3a59..d3692c701b12 (1 commits)


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

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

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

Change-Id: I67e478d0dc1f79d3fb8218e3ea28fe95f80d6b1c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219498
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-07 06:00:34 +00:00
skia-autoroll
0e8362655a Roll ../src 5f60135c7766..6406ce90edf0 (429 commits)
5f60135c77..6406ce90ed


Created with:
  gclient setdep -r ../src@6406ce90ed

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll

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:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=jcgregorio@google.com

Change-Id: I2db67d051b23578362734e51f29457358047f9bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219499
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-07 04:52:34 +00:00
skia-autoroll
44425cc746 Roll third_party/externals/swiftshader 5c9e165bc4d5..c2c829bc9a63 (4 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/5c9e165bc4d5..c2c829bc9a63


git log 5c9e165bc4d5..c2c829bc9a63 --date=short --no-merges --format='%ad %ae %s'
2019-06-06 swiftshader.regress@gmail.com Regres: Update test lists @ 5c9e165b
2019-06-06 capn@google.com Fix image sampling with divergent LOD
2019-06-06 samans@chromium.org Add missing files to LLVM's Build.gn
2019-06-06 sugoi@google.com Better 32 bit Windows Fix


Created with:
  gclient setdep -r third_party/externals/swiftshader@c2c829bc9a63

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

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:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=jcgregorio@google.com

Change-Id: I5d05f79ded446d5f2829e2a8a71f72fc13eac923
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219497
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-07 04:36:04 +00:00
recipe-roller
3431d9d1dc 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/fe4c61ad2331739d9278befba776d9eee912256a [buildbucket] Split wait and fetch (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If61afc3aa751e5d05b6d9f749307439ff996a574
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219402
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-06-07 01:44:35 +00:00
Ben Wagner
2b4dcd381c Remove duplicate simple samples, make one a gm.
SampleBigBlur is super simple and now covered by gms and AnimBlur
sample.

SampleBigGradient now has a gm shallow_gradient_linear.

SampleConcavePaths has a more complete gm concavepaths.

SamplePoints now has an almost exact gm.

RasterAllocatorSample is made into a gm so that it will be run by d. It
appears to be the only test of SkRasterHandleAllocator, so it should
probably run.

Change-Id: Iad7b99d0f92898fc4b2fdccc5aae35d0277f2fff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219400
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-06-07 01:39:32 +00:00
Brian Osman
25132b6841 Remove unused caps: UnsignedSupport and ImageLoadStoreSupport
Change-Id: I67c5a8c313438018ccafe5f760e291a31410e56c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219397
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-07 01:39:30 +00:00
Florin Malita
04462d12c8 [skottie] Fix text selector sub-unit range handling
The current logic modulates the shape generator output by its fractional
coverage, ignoring constant lo/hi contributions.

But RampUp/RampDown have non-zero hi/lo constant coverage, which needs
to be accounted for.

The correct behavior is to perform a 3-way weighted average of the
lo/hi/generator, based on their relative weights.

Change-Id: Ide0ed2ae590bbce2b56c0c65008b64632b987905
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218962
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-07 01:34:27 +00:00
Brian Osman
1e2d4a1159 Fix line numbering problem when reporting SkSL compile errors
We were pretty-printing the source after feeding it to the compiler, so
line numbers didn't match up. Instead, pretty-print before compilation
(but only in debug builds), and remove any reformatting that happens
downstream.

Change-Id: I2b032ed01f725ca27e17436510d93505f7924aa5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218961
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-07 01:34:26 +00:00
Stan Iliev
8231031613 Small fixes to C API. Add SK_API and fix function signature mismatch.
Test: Built and linked C API so
Change-Id: I1a4126851fb2e70b7592e0d7d21d771eb9c26440
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218798
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
2019-06-07 01:29:23 +00:00
Herb Derby
ac7182773e Make FindOrCreateStrikeWithNoDeviceExclusive analog for SkStrikeSpec
Add MakeWithNoDevice to avoid the threshold of converting to
paths when using MakeCanonicalized.

Change-Id: I73b49dd35ffb2f4fa3b70ba3324bfcb348ca913b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218960
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-07 01:29:21 +00:00
Greg Daniel
aee5714be0 Manual revert of "Revise GrDataUtils to be more self-contained"
This reverts commit c70ed90f59.

Change-Id: Id418285ec3fb84d28630ba2da0e7435ed92b62ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218957
Auto-Submit: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-06 20:10:05 +00:00
Greg Daniel
d8a7408ee4 remove unused metal variable
TBR:ethannicholas@google.com

No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I376d24fa8e722e90c75c8f9db636330771e7553f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219401
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-06 19:05:02 +00:00
Greg Daniel
992df579a4 Revert "Experimental: Add R_16 and RG_1616 to Ganesh"
This reverts commit 93d0146dc6.

Reason for revert: revertting so we can revert previous change

Original change's description:
> Experimental: Add R_16 and RG_1616 to Ganesh
> 
> This is to support the P016 and P010 YUV formats. Initially, only Vulkan and GL support these formats.
> 
> Change-Id: Ie9609e59c12528079f8d379359ddb9bac85b6a29
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218546
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

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

Change-Id: I00e1bf32404983b09f0933b2a9d65aa40a5ee754
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218959
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-06 18:47:53 +00:00
Greg Daniel
9e3169b2f6 Remove version from copy shaders.
TBR: ethannicholas@google.com

No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: Ibb55b03fdf7b41dc9d2d46418f9be7d50977258d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219398
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-06 18:39:37 +00:00
Herb Derby
36a54c1b1a Rename SkStrikeSpecStorage -> SkStrikeSpec
SkStrikeSpecStorage was a temporary name until all uses of
SkStrikeSpec were cleaned up. Do the final rename.

Change-Id: Iaba987ecdfe46ca9eee8d530d5095840cdca300d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219209
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-06 18:01:02 +00:00
Herb Derby
11697dcdfb Move Glyph Intercept code from SkStrike to SkGlyph
This remove one of the main reasons that SkGlyph friends SkStrike.

Change-Id: Ia568f2d8e73b08a3ae552147a251067e21bf7f1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219210
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-06-06 17:57:12 +00:00
Greg Daniel
4c6f9b7670 Revert "Reland "Remove support for copyAsDraw in gpu copySurface.""
This reverts commit 84ea04949c.

Reason for revert: nexus 7 and android one broken

Original change's description:
> Reland "Remove support for copyAsDraw in gpu copySurface."
>
> This reverts commit c5167c053b.
>
> Reason for revert: fixed
>
> Original change's description:
> > Revert "Remove support for copyAsDraw in gpu copySurface."
> >
> > This reverts commit 6565506463.
> >
> > Reason for revert: seems to break things?
> >
> > Original change's description:
> > > Remove support for copyAsDraw in gpu copySurface.
> > >
> > > The major changes on a higher lever are:
> > > 1) The majority of all copies now go through GrSurfaceProxy::Copy which
> > > takes in a proxy and returns a new one with the data copied to it. This
> > > is the most common use case within Ganesh.
> > >
> > > 2) The backend copy calls no longer do draws, require origins to be the
> > > same, and won't do any swizzling or adjustment of subrects. They are
> > > all implemented to be dumb copy this data to this other spot.
> > >
> > > 3) The GrSurfaceContext copy call has now been moved to priv and renamed
> > > copyNoDraw, and a new priv copyAsDraw was added to GrRenderTargetContext.
> > >
> > > 4) WritePixels and ReplaceRenderTarget both need to specifiy the destination
> > > of copies. They are the only users (besides the GrSurfaceProxy::Copy) which
> > > call the priv methods on GrSurfaceContext.
> > >
> > > Change-Id: Iaf1eb3a73ccaf39a75af77e281dae594f809186f
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217459
> > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> >
> > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
> >
> > Change-Id: Id43aa8aa1451e794342e930441d9975b90e6b59f
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218549
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
>
> Change-Id: I1a96f85ae2ff7622a6b57406755d478e7fbcf56e
> No-Presubmit: true
> No-Tree-Checks: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218797
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

Change-Id: I310930a9df30535f45a065263a40239141e15562
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219384
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-06 17:42:02 +00:00
Greg Daniel
b0c7ad1e89 Reland "Fix vulkan async transfer from call to not submit command buffer to early."
This reverts commit bd986b1044.

Reason for revert: didn't mean to revert

Original change's description:
> Revert "Fix vulkan async transfer from call to not submit command buffer to early."
> 
> This reverts commit 10e259e958.
> 
> Reason for revert: breaks nexus 7 and android one
> 
> Original change's description:
> > Fix vulkan async transfer from call to not submit command buffer to early.
> > 
> > Change-Id: I657758070261a6365975d9c7d61489b1ccb0e437
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219201
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> 
> TBR=egdaniel@google.com,bsalomon@google.com
> 
> Change-Id: Ie3685c84be77e5bfbfbe83278c1341bed5dc20d9
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218958
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

Change-Id: Iba7975bb7ff0202299c995e71e911b7836e85953
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219383
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-06 17:23:47 +00:00
Greg Daniel
bd986b1044 Revert "Fix vulkan async transfer from call to not submit command buffer to early."
This reverts commit 10e259e958.

Reason for revert: breaks nexus 7 and android one

Original change's description:
> Fix vulkan async transfer from call to not submit command buffer to early.
> 
> Change-Id: I657758070261a6365975d9c7d61489b1ccb0e437
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219201
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

Change-Id: Ie3685c84be77e5bfbfbe83278c1341bed5dc20d9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218958
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-06 17:23:03 +00:00
Mike Klein
4b432fa87b run rewrite_includes.py
Just your basic periodic cleanup.

Change-Id: I04d9ca5cfff05e6e2c29dd9caef3ce12cda45247
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219340
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>
2019-06-06 17:11:02 +00:00
Jim Van Verth
6e4fee8c81 Fix MetalWindowContext setup.
Previous changes fixed the zombie device and queue, assuming that
they're bridged correctly.

Bug: skia:8243
Change-Id: Id4c2d10beacbb2ac749187d8d54fc2d276cf7b3d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219378
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-06 17:04:42 +00:00
recipe-roller
de832b9f29 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/42b03c34539b29f2018295486724904f5549e2a4 Revert "Reland "gclient: Require a target ref when applying patches."" (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iabdf33f0da61e7af67cf1839e4314e1391a0a94c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219377
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-06-06 16:50:02 +00:00
Florin Malita
54c8411c27 [skottie] Fix zero-overlap selector handling
The current implementation applies constant coverage (outside selector
range) based on computed integral edges.

But the integral range is clamped to the valid index domain and its
extremes are always assumed to have partial coverage - so we never get
to constant-blit the full buffer when the interval is outside, which
can yield incorrect coverage for the first/last fragments.

Update the constant coverage logic to operate in full domain coordinates.

Change-Id: I23902674fe5e822081fb8262167511df1cc3463e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219206
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-06-06 16:09:39 +00:00
Greg Daniel
10e259e958 Fix vulkan async transfer from call to not submit command buffer to early.
Change-Id: I657758070261a6365975d9c7d61489b1ccb0e437
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219201
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-06 14:38:52 +00:00
Ethan Nicholas
fc9941665b Major rearchitecture of SkSL parsing, focused on improving performance.
Bug: skia:
Change-Id: I83e3a094d26085fc4d586e5d2581e0d61c55634e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/145080
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-06 14:33:32 +00:00
Greg Daniel
84ea04949c Reland "Remove support for copyAsDraw in gpu copySurface."
This reverts commit c5167c053b.

Reason for revert: fixed

Original change's description:
> Revert "Remove support for copyAsDraw in gpu copySurface."
>
> This reverts commit 6565506463.
>
> Reason for revert: seems to break things?
>
> Original change's description:
> > Remove support for copyAsDraw in gpu copySurface.
> >
> > The major changes on a higher lever are:
> > 1) The majority of all copies now go through GrSurfaceProxy::Copy which
> > takes in a proxy and returns a new one with the data copied to it. This
> > is the most common use case within Ganesh.
> >
> > 2) The backend copy calls no longer do draws, require origins to be the
> > same, and won't do any swizzling or adjustment of subrects. They are
> > all implemented to be dumb copy this data to this other spot.
> >
> > 3) The GrSurfaceContext copy call has now been moved to priv and renamed
> > copyNoDraw, and a new priv copyAsDraw was added to GrRenderTargetContext.
> >
> > 4) WritePixels and ReplaceRenderTarget both need to specifiy the destination
> > of copies. They are the only users (besides the GrSurfaceProxy::Copy) which
> > call the priv methods on GrSurfaceContext.
> >
> > Change-Id: Iaf1eb3a73ccaf39a75af77e281dae594f809186f
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217459
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
>
> Change-Id: Id43aa8aa1451e794342e930441d9975b90e6b59f
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218549
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

Change-Id: I1a96f85ae2ff7622a6b57406755d478e7fbcf56e
No-Presubmit: true
No-Tree-Checks: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218797
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-06 13:56:31 +00:00
Florin Malita
711f39fb45 [skottie] Add support for RangeSelector shapes
Introduce square/ramp/triangle/round/smooth shape generators,
and use them to seed the range selector coverage pipeline.

Change-Id: Ib7b94ceecd2ccf66820f4dd2443fdd62e2ac6a1b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218828
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-06 13:51:11 +00:00
Ben Wagner
a797cc9260 Fix GrBackendRenderTarget and GrBackendTexture operator=
Only check that the backends are different if both 'this' and 'that'
are valid.

Change-Id: I0b5701281c6b3fb7584b2d8bda3a78552d4ff99e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218979
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-06-06 12:47:05 +00:00
Robert Phillips
93d0146dc6 Experimental: Add R_16 and RG_1616 to Ganesh
This is to support the P016 and P010 YUV formats. Initially, only Vulkan and GL support these formats.

Change-Id: Ie9609e59c12528079f8d379359ddb9bac85b6a29
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218546
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-06 11:57:14 +00:00
skia-autoroll
c5fae22bce Roll third_party/externals/angle2 3c219171135d..b91f87b6ce1c (6 commits)
3c21917113..b91f87b6ce


git log 3c219171135d..b91f87b6ce1c --date=short --no-merges --format='%ad %ae %s'
2019-06-05 dongja@google.com Vulkan: enable OES_element_index_uint for Vulkan
2019-06-05 jmadill@chromium.org Vulkan: Minor cleanup to UtilsVk.
2019-06-05 geofflang@chromium.org Don't request backend version in the sample application.
2019-06-05 syoussefi@chromium.org Vulkan: add GLSL placeholder for transform feedback output
2019-06-05 syoussefi@chromium.org Remove unused bindGenericBuffer from TransformFeedback*
2019-06-05 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src a549bb817523..2f4a8dfd3a59 (2 commits)


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

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

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

Change-Id: I0de53a06e27c18b2977578e7382085417a406bae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218921
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-06 05:53:02 +00:00
skia-autoroll
f9515b7b1e Roll ../src 72cb69b7908e..5f60135c7766 (425 commits)
72cb69b790..5f60135c77


Created with:
  gclient setdep -r ../src@5f60135c77

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll

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:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=jcgregorio@google.com

Change-Id: Ibe524f4571628b06579e3f97613fcbf31c23fbf1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218922
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-06 04:41:42 +00:00
skia-autoroll
a5de1e311e Roll third_party/externals/swiftshader 5b424e69101a..5c9e165bc4d5 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/5b424e69101a..5c9e165bc4d5


git log 5b424e69101a..5c9e165bc4d5 --date=short --no-merges --format='%ad %ae %s'
2019-06-05 chrisforbes@google.com Remove residue of texcoord replacement


Created with:
  gclient setdep -r third_party/externals/swiftshader@5c9e165bc4d5

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

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:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=jcgregorio@google.com

Change-Id: I3c8f1487e036149bb44bb75ea794a5b6d0e212ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218920
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-06 04:36:32 +00:00
Ben Wagner
642178396b Use DirectWrite for default font.
This avoids the problematic use of SystemParametersInfoW when
better fallback is available.

Bug: chromium:969107,chromium:963636
Change-Id: Idaa1526f3307cd3dbe61a5ca02a40dc1b0ac5e07
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217944
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-06-06 00:28:09 +00:00
recipe-roller
20bcbacf5b 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/6e79d3e9d3b185a31cb4720498b13677f73378a6 Revert "[isolated] Roll client" (joshuaseaton@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I8a57a5cbc9a899c03716d0c54a1a8f4fdc9c178b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218824
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-06-05 23:30:44 +00:00
Michael Ludwig
0f809020ec Add GrQuadUtils namespace to hold ResolveAAType function
Change-Id: I6357af83b55be8efa8dfd709acde908296c05f82
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216605
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-06-05 23:06:02 +00:00
recipe-roller
fc33e01353 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/5e72c468299a968684d6d458536719dc41085faf [buildbucket] Field mask in schedule requests (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I589740310f8c85d00ee73e185f318bc78890d9fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218819
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-06-05 22:42:33 +00:00
Mike Klein
6b43c30cd7 add mad_unorm8 instruction
At some point adding more and more complex instructions reduces
to the absurdity of SolveTheWholeProblem-The-Instruction, but
I think this one will come up often enough to still make sense.
mad() makes sense for unorm8 just about everywhere mad() makes
sense for f32.

This instruction won't matter to a JIT, but helps the interpreter.

Change-Id: Iace92296cffbb6fbc3acd1f853cb01c51792f796
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218716
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-05 20:46:02 +00:00
Mike Klein
e4227613e7 use u32 in mul_unorm8
This lets the compiler know the /256 can be >>8 like we'd want it to be.
At head the compiler does a signed divide using two shifts and an add.

Before:
 49b:   49 c1 e1 07                     shl    $0x7,%r9
 49f:   48 c1 e0 07                     shl    $0x7,%rax
 4a3:   c5 fd 6f 04 01                  vmovdqa (%rcx,%rax,1),%ymm0
 4a8:   c4 a2 7d 40 04 09               vpmulld (%rcx,%r9,1),%ymm0,%ymm0
 4ae:   c5 fd 6f 4c 01 20               vmovdqa 0x20(%rcx,%rax,1),%ymm1
 4b4:   c4 a2 75 40 4c 09 20            vpmulld 0x20(%rcx,%r9,1),%ymm1,%ymm1
 4bb:   c5 fd 6f 54 01 40               vmovdqa 0x40(%rcx,%rax,1),%ymm2
 4c1:   c4 a2 6d 40 54 09 40            vpmulld 0x40(%rcx,%r9,1),%ymm2,%ymm2
 4c8:   c5 fd 6f 5c 01 60               vmovdqa 0x60(%rcx,%rax,1),%ymm3
 4ce:   c4 a2 65 40 5c 09 60            vpmulld 0x60(%rcx,%r9,1),%ymm3,%ymm3
 4d5:   c4 e2 7d 58 25 00 00 00 00      vpbroadcastd 0x0(%rip),%ymm4        # 255
 4de:   c5 e5 fe dc                     vpaddd %ymm4,%ymm3,%ymm3
 4e2:   c5 ed fe d4                     vpaddd %ymm4,%ymm2,%ymm2
 4e6:   c5 f5 fe cc                     vpaddd %ymm4,%ymm1,%ymm1
 4ea:   c5 fd fe c4                     vpaddd %ymm4,%ymm0,%ymm0
 4ee:   c5 dd 72 e0 1f                  vpsrad $0x1f,%ymm0,%ymm4
 4f3:   c5 dd 72 d4 18                  vpsrld $0x18,%ymm4,%ymm4
 4f8:   c5 fd fe c4                     vpaddd %ymm4,%ymm0,%ymm0
 4fc:   c5 fd 72 e0 08                  vpsrad $0x8,%ymm0,%ymm0
 501:   c5 dd 72 e1 1f                  vpsrad $0x1f,%ymm1,%ymm4
 506:   c5 dd 72 d4 18                  vpsrld $0x18,%ymm4,%ymm4
 50b:   c5 f5 fe cc                     vpaddd %ymm4,%ymm1,%ymm1
 50f:   c5 f5 72 e1 08                  vpsrad $0x8,%ymm1,%ymm1
 514:   c5 dd 72 e2 1f                  vpsrad $0x1f,%ymm2,%ymm4
 519:   c5 dd 72 d4 18                  vpsrld $0x18,%ymm4,%ymm4
 51e:   c5 ed fe d4                     vpaddd %ymm4,%ymm2,%ymm2
 522:   c5 ed 72 e2 08                  vpsrad $0x8,%ymm2,%ymm2
 527:   c5 dd 72 e3 1f                  vpsrad $0x1f,%ymm3,%ymm4
 52c:   c5 dd 72 d4 18                  vpsrld $0x18,%ymm4,%ymm4
 531:   c5 e5 fe dc                     vpaddd %ymm4,%ymm3,%ymm3
 535:   c5 e5 72 e3 08                  vpsrad $0x8,%ymm3,%ymm3
 53a:   e9 71 02 00 00                  jmpq   7b0

After:
 49b:   49 c1 e1 07                     shl    $0x7,%r9
 49f:   48 c1 e0 07                     shl    $0x7,%rax
 4a3:   c5 fd 6f 04 01                  vmovdqa (%rcx,%rax,1),%ymm0
 4a8:   c4 a2 7d 40 04 09               vpmulld (%rcx,%r9,1),%ymm0,%ymm0
 4ae:   c5 fd 6f 4c 01 20               vmovdqa 0x20(%rcx,%rax,1),%ymm1
 4b4:   c4 a2 75 40 4c 09 20            vpmulld 0x20(%rcx,%r9,1),%ymm1,%ymm1
 4bb:   c5 fd 6f 54 01 40               vmovdqa 0x40(%rcx,%rax,1),%ymm2
 4c1:   c4 a2 6d 40 54 09 40            vpmulld 0x40(%rcx,%r9,1),%ymm2,%ymm2
 4c8:   c5 fd 6f 5c 01 60               vmovdqa 0x60(%rcx,%rax,1),%ymm3
 4ce:   c4 a2 65 40 5c 09 60            vpmulld 0x60(%rcx,%r9,1),%ymm3,%ymm3
 4d5:   c4 e2 7d 58 25 00 00 00 00      vpbroadcastd 0x0(%rip),%ymm4        # 255
 4de:   c5 e5 fe dc                     vpaddd %ymm4,%ymm3,%ymm3
 4e2:   c5 ed fe d4                     vpaddd %ymm4,%ymm2,%ymm2
 4e6:   c5 f5 fe cc                     vpaddd %ymm4,%ymm1,%ymm1
 4ea:   c5 fd fe c4                     vpaddd %ymm4,%ymm0,%ymm0
 4ee:   c5 fd 72 d0 08                  vpsrld $0x8,%ymm0,%ymm0
 4f3:   c5 f5 72 d1 08                  vpsrld $0x8,%ymm1,%ymm1
 4f8:   c5 ed 72 d2 08                  vpsrld $0x8,%ymm2,%ymm2
 4fd:   c5 e5 72 d3 08                  vpsrld $0x8,%ymm3,%ymm3
 502:   e9 79 02 00 00                  jmpq   780

Change-Id: If38f59aeb3c37aba365e647cda1a753819a16aa8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218613
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-05 20:37:44 +00:00
Mike Klein
f1df3979c6 tidy up register allocation
- stack allocate up to 16 registers (up to 2KB)
   - align the heap fallback without loop
   - assert the heap fallback is aligned

Change-Id: I8d314c29967731a78aeceea179adfc40694f0606
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218601
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-05 20:28:42 +00:00
recipe-roller
e0d90c84e4 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/affd410d415a1bb443b695b673e8175c3f0bcd4c gclient: Report only the origin to metrics collection. (ehmaldonado@chromium.org)
  https://crrev.com/822dbc51a298688c61e4dd8c40fbc714e1460663 Reland "gclient: Require a target ref when applying patches." (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ibbbf77de568a77a1e6768b6bd09d1accb72ef54a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218605
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-06-05 18:49:08 +00:00
Chris Dalton
5b5403e75b ccpr: Preserve fill rules for cached paths
Fixes a bug where even-odd fill rule was not being preserved on paths
that were reused from a stashed fp16 coverage count atlas.

Bug: skia:8782
Change-Id: I6698498a6f4c8df8eff10b19beb80e49663a577c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218047
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-06-05 18:24:08 +00:00
recipe-roller
928b2997b3 Roll recipe dependencies (nontrivial).
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).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/075cb05bdeb5eb7f42cf259a5a40eebf54dc21dd tryserver: add a 10 minute timeout on fetching CL info from gerrit. (jbudorick@chromium.org)


R=stephana@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I35bba11e42d94b1f91735ee503331f7b60153ab3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218540
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: John Budorick <jbudorick@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
2019-06-05 18:04:47 +00:00
Greg Daniel
c5167c053b Revert "Remove support for copyAsDraw in gpu copySurface."
This reverts commit 6565506463.

Reason for revert: seems to break things?

Original change's description:
> Remove support for copyAsDraw in gpu copySurface.
> 
> The major changes on a higher lever are:
> 1) The majority of all copies now go through GrSurfaceProxy::Copy which
> takes in a proxy and returns a new one with the data copied to it. This
> is the most common use case within Ganesh.
> 
> 2) The backend copy calls no longer do draws, require origins to be the
> same, and won't do any swizzling or adjustment of subrects. They are
> all implemented to be dumb copy this data to this other spot.
> 
> 3) The GrSurfaceContext copy call has now been moved to priv and renamed
> copyNoDraw, and a new priv copyAsDraw was added to GrRenderTargetContext.
> 
> 4) WritePixels and ReplaceRenderTarget both need to specifiy the destination
> of copies. They are the only users (besides the GrSurfaceProxy::Copy) which
> call the priv methods on GrSurfaceContext.
> 
> Change-Id: Iaf1eb3a73ccaf39a75af77e281dae594f809186f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217459
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

Change-Id: Id43aa8aa1451e794342e930441d9975b90e6b59f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218549
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-05 17:37:11 +00:00