Commit Graph

47366 Commits

Author SHA1 Message Date
Brian Salomon
c70fd90334 GrAALinearizingConvexPathRenderer can't batch across view matrix changes
This op does not use explicit local coords and thus only supports one
view matrix per draw.

Bug: chromium:1060865
Change-Id: I5c44d58068f35587df73a281dd6f5dff1d26b188
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278459
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-25 12:55:06 +00:00
Brian Salomon
367374894a Reland x3 "Drawing YUVA images does not flatten for bicubic."
Fixes:

Workaround GL_ALPHA texture issue in GM.

Don't crash in GM on null image.

Snap both coords in 1D bicubic (restores old behavior).

This reverts commit 97c98f9596.

Change-Id: I14bf0f8c6acf87cac0a13b9166fac73a2f3520b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278862
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-25 12:26:18 +00:00
Mike Reed
6e9b179d20 move ducky images into images
Change-Id: I819c23d38989f81d2e493ad8eea0c22cfd364284
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279036
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-03-25 12:19:56 +00:00
Florin Malita
ae58199380 [skottie] Initial drop shadow style support
Plumb layer style parsing, and extend existing DropShadowAdapter to
support both drop shadow style and drop shadow effect.

Change-Id: Id99a419dacd06dc38dc4cf84ff4ecb92218c45f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279020
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-03-25 12:14:26 +00:00
skia-autoroll
9686528ac8 Roll ../src 6af71a8d4b35..772d20849991 (401 commits)
6af71a8d4b..772d208499


Created with:
  gclient setdep -r ../src@772d208499

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
Tbr: robertphillips@google.com
Change-Id: Iac16e96d20f389ef3cf01364fb532344591678fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278980
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-25 05:07:26 +00:00
skia-autoroll
4261fe753b Roll third_party/externals/angle2 6fead3754375..107e4e989e94 (7 commits)
6fead37543..107e4e989e

git log 6fead3754375..107e4e989e94 --date=short --first-parent --format='%ad %ae %s'
2020-03-25 ynovikov@chromium.org Lift SwANGLE dEQP-GLES3.functional.fbo.blit.conversion.* suppression
2020-03-24 ianelliott@google.com Vulkan: Fix crashes/failures in array-of-struct uniforms
2020-03-24 jmadill@chromium.org Speculative fix for assertion failure with samplers.
2020-03-24 kbr@chromium.org Fix robust resource initialization with clipped CopyTexSubImage2D.
2020-03-24 jmadill@chromium.org Supress test failing with new Intel driver.
2020-03-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 60104cd97446..1346dd5de119 (4 commits)
2020-03-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 22d73d15e778..6c11cf2ad9ca (5 commits)

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: robertphillips@google.com
Change-Id: I17b6fbe12a08101071ce5b4b728137ad86b1d6b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278981
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-25 04:46:06 +00:00
skia-autoroll
8ec90f4c93 Roll third_party/externals/swiftshader 6c11cf2ad9ca..540bdf92531d (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/6c11cf2ad9ca..540bdf92531d

git log 6c11cf2ad9ca..540bdf92531d --date=short --first-parent --format='%ad %ae %s'
2020-03-24 bclayton@google.com Regres: Add new run_testlist flags
2020-03-24 bclayton@google.com Merge changes I9862d8e2,Ie1024655

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: robertphillips@google.com
Change-Id: I40e33a029932f612ac4a887f43aa312ddeb2b82c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278979
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-25 04:33:06 +00:00
Brian Osman
81c8f4b802 Revert "Switch sRGB color filter to use GrColorSpaceXformEffect"
This reverts commit 6beb1dd941.

Reason for revert: GPUs are terrible.

Original change's description:
> Switch sRGB color filter to use GrColorSpaceXformEffect
> 
> Guarded for chrome layout tests, then the GrSRGBEffect code can be
> deleted.
> 
> Change-Id: Ib04efe79e39a353803e3f8361770f6180f392ab6
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278859
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>

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

Change-Id: I3e26222aa954b54e3ede53b53615a530530ce60a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279016
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-03-25 00:26:08 +00:00
Brian Osman
6beb1dd941 Switch sRGB color filter to use GrColorSpaceXformEffect
Guarded for chrome layout tests, then the GrSRGBEffect code can be
deleted.

Change-Id: Ib04efe79e39a353803e3f8361770f6180f392ab6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278859
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-03-25 00:00:43 +00:00
Mike Klein
9a378addaf refactor apply_transfer_function()
Rats, only +42,-68 lines.  I promised half.  :/

Change-Id: Ia9ce47f3a4586ce5475dfe1486df9b7e28cb72ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278886
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-24 21:38:33 +00:00
Mike Reed
0113d29ea0 Add skvm program to colorspacexformsteps
Lots of tiny (but acceptable) diffs running fm:

skvm=true backend=cpu ct=8888
skvm=true backend=cpu ct=8888 gamut=p3      tf=srgb
skvm=true backend=cpu ct=8888 gamut=srgb    tf=linear
skvm=true backend=cpu ct=8888 gamut=rec2020 tf=rec2020

Change-Id: I4d747789e807532f1542e1fcd13fba467d0dadf8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278421
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-03-24 21:07:13 +00:00
Greg Daniel
4105e45752 Add support for tracking resources on d3d command list.
Change-Id: I9f1db0d099d2071af0028a3c1e563671b4b2b18c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278860
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-03-24 21:05:03 +00:00
Jim Van Verth
8b932b157b Fill in the D3DTexture class.
Bug: skia:9935
Change-Id: Idd37e677462fec7ed0beca0fe578fb1a2f497eb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278784
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-03-24 20:12:13 +00:00
Greg Daniel
7a5f1fa1fb Add support for recycle d3d command lists.
Change-Id: I2e72be1bd6c456568d2d4fcde1bc919520c4c43a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278856
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-03-24 19:24:53 +00:00
Brian Salomon
97c98f9596 Revert "Reland x2 "Drawing YUVA images does not flatten for bicubic.""
This reverts commit 9b22838da3.

Reason for revert: bad GM results.

Original change's description:
> Reland x2 "Drawing YUVA images does not flatten for bicubic."
> 
> With fix for dumb coord mistake.
> 
> This reverts commit 6cb8168c2b.
> 
> Change-Id: If5385d16339c2b2b03eeff4ddd65c601e672d3dc
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278783
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com

Change-Id: I1143413f841182d39f5dc3eb4593fa98edf1bed4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278858
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-24 18:59:43 +00:00
Greg Daniel
83ed213216 Implement submission of d3d command lists and tracking of when they finish.
Also moves the ownership of the command list allocator to the GrD3DCommandList.
Added a destroyReosurce method to GrD3DGpu to start handling destruction of
objects that we make.

Change-Id: I28dbaf2b8c9d45fe70992879afb8211346eeb269
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278778
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-03-24 18:06:53 +00:00
skia-autoroll
0f4eba56b7 Roll skia/third_party/skcms cbf3b9df1ae1..bd0abcd0646a (1 commits)
https://skia.googlesource.com/skcms.git/+log/cbf3b9df1ae1..bd0abcd0646a

git log cbf3b9df1ae1..bd0abcd0646a --date=short --first-parent --format='%ad %ae %s'
2020-03-24 mtklein@google.com add _sRGB 8888 formats

Created with:
  gclient setdep -r skia/third_party/skcms@bd0abcd0646a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC robertphillips@google.com,mtklein@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

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

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Bug: None
Change-Id: Ia22a284653b8b16f2738518d426027ad0449afa3
Tbr: robertphillips@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278803
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-24 18:03:33 +00:00
Michael Ludwig
4519134e07 Implement GrTAllocator in terms of GrBlockAllocator
Previously, the GrAllocator header defined three types: GrAllocator,
GrTAllocator, and GrSTAllocator. GrAllocator was generic, and would
manage the blocks of memory (fixed size to hold N * sizeof(item)). It
stored an SkTArray of pointers to each block. GrTAllocator wrapped
the GrAllocator to add template support for a specific T. GrSTAllocator
extended GrTAllocator to include a template arg for inline storage.

In this CL, GrAllocator is no longer defined, and its memory functionality
is replaced with the use of GrBlockAllocator. For the most part, the
implementation of GrTAllocator on top of GrBlockAllocator remains the
same, although there is explicit array to the block pointers so indexing
is slightly different. GrSTAllocator is also removed entirely, so that
GrTAllocator's template includes initial storage size.

The iteration over the allocated items
is updated to wrap GrBlockAllocator's block iterator, and then iterate
by index within each block. Documentation on GrAllocator already recommended
using the iterator instead of random access, and these changes further
reinforce it. It turns out that many of the use cases of GrAllocator
were written to use random access, so many of the files outside of
GrAllocator.h have just been updated to use the new for-range iteration
instead of a random access for loop.


Change-Id: I28b0bc277c323fd7035d4a8442ae67f058b2b64c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272058
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2020-03-24 18:00:33 +00:00
Brian Salomon
9b22838da3 Reland x2 "Drawing YUVA images does not flatten for bicubic."
With fix for dumb coord mistake.

This reverts commit 6cb8168c2b.

Change-Id: If5385d16339c2b2b03eeff4ddd65c601e672d3dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278783
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-24 17:32:13 +00:00
Ben Wagner
9069bfe32c BlendFormula to validate in constructor.
A now removed comment claimed that validation could not be done in the
constructor in C++11, but it turns out that it can be done. Move the
validation to construction time and remove all validation done at other
times.

Change-Id: I267d3063fac3dc702efae71841cbd7424b19af31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278597
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-03-24 17:23:13 +00:00
Robert Phillips
9b00f1ff54 Make skia_use_xps option work on Windows
Some may not want to always compile XPS on Windows

Change-Id: Icd4cc993667fdce740216b9c52a0a649dcf79645
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278782
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-24 17:09:33 +00:00
Dominic Mazzoni
c227f4a826 Add support for tagging link annotations in PDFs.
Properly tagging links in PDFs just required a small change: at the time
an annotation is drawn, we need to keep track of the bounding rect, the
url and/or named destination, and now additionally the node ID. Instead
of keeping track of separate maps of rects/urls and rects/dests, this
patch combines them into a vector of SkPDFLinks.

Then, at the time the annotation is written to the file, an object
reference to that annotation can be saved and passed to the document
structure tree, where it can be included as an additional child of
the node with that node ID.

That allows for properly tagging the link and optionally giving it alt
text (like for an image link).

Bug: chromium:1039816
Change-Id: I97e47d3c70949020c3e0a69b8c9fc743748f3a7b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/277426
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-03-24 15:52:55 +00:00
Brian Salomon
14ed8855ba Ignore local matrix when choosing CT uni type with explicit sampling.
The GP's local matrix is ignored when explicitly sampling FPs.

Add asserts to check consistency.

Change-Id: I6fc063e223affa3115f00eb63454ae5e6c1c27eb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278779
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-24 15:17:24 +00:00
Robert Phillips
0cf2b644a5 Add missing files to Dawn build
This adds the RenderPassBuilderD3D12 files and ignores a narrowing error in them.

Change-Id: Ie9ebc1608ad6bbbc48e0f1cd8d54a9213d9836a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278777
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-24 14:42:54 +00:00
Robert Phillips
cb77eab343 Revert "Switch to using a Float32Array (bound as value array) for color."
This reverts commit 4e79b6730d.

Reason for revert: Bad canvaskit GM images

Original change's description:
> Switch to using a Float32Array (bound as value array) for color.
> 
> Change-Id: I1bcca931954b1399c79f4074a3d57a68847ac785
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276757
> Commit-Queue: Nathaniel Nifong <nifong@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>

TBR=kjlubick@google.com,nifong@google.com

Change-Id: I2f5e995ccee415a49f813b5ba61c095acbc445b5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278766
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-24 14:20:04 +00:00
Nathaniel Nifong
4e79b6730d Switch to using a Float32Array (bound as value array) for color.
Change-Id: I1bcca931954b1399c79f4074a3d57a68847ac785
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276757
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-03-24 13:32:55 +00:00
skia-autoroll
e5ca6ba2c8 Roll third_party/externals/angle2 31e36a631345..6fead3754375 (1 commits)
31e36a6313..6fead37543

git log 31e36a631345..6fead3754375 --date=short --first-parent --format='%ad %ae %s'
2020-03-23 jmadill@chromium.org Vulkan: No-op redundant FB state changes.

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: robertphillips@google.com
Change-Id: If53d3586bcc344b288b7923f3c265bb64e050f1a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278739
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-24 04:45:04 +00:00
skia-autoroll
e0d7bd448e Roll third_party/externals/swiftshader 22d73d15e778..6c11cf2ad9ca (5 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/22d73d15e778..6c11cf2ad9ca

git log 22d73d15e778..6c11cf2ad9ca --date=short --first-parent --format='%ad %ae %s'
2020-03-24 capn@google.com Remove unused sampler parameter
2020-03-24 capn@google.com Specialize sampling routine for immutable sampler data
2020-03-23 amaiorano@google.com CMake: make SWIFTSHADER_DCHECK_ALWAYS_ON work on Windows
2020-03-23 chrisforbes@google.com Refactor vertex fetch to use VkFormat more aggressively
2020-03-23 bclayton@google.com Merge changes I2b7adc3c,I5873dfa8

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: robertphillips@google.com
Change-Id: I5a4766b738603631cb14fc71088015fffbe5a868
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278737
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-24 04:32:34 +00:00
skia-autoroll
efc9d4f0ec Roll ../src be0a271f02d3..6af71a8d4b35 (354 commits)
be0a271f02..6af71a8d4b


Created with:
  gclient setdep -r ../src@6af71a8d4b

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
Tbr: robertphillips@google.com
Change-Id: I2b47f242fd9a996cfacda6b3ccfcaca8697742c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278738
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-24 04:29:24 +00:00
Brian Salomon
6cb8168c2b Reland "Revert "Drawing YUVA images does not flatten for bicubic.""
This reverts commit 0bfb7a5206.

Reason for revert: bad async_rescale_and_read_dog_up results

Original change's description:
> Revert "Revert "Drawing YUVA images does not flatten for bicubic.""
> 
> This reverts commit d198821906.
> 
> Change-Id: I53c8d7dd783130266cb5a3e96586baf62896f82c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278676
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com

Change-Id: Ic400ddf273d747eaeea39a104fde3cb456ba9d17
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278678
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-24 02:50:14 +00:00
Florin Malita
c97c900724 [sksg] Remove redundant BUILD.gn deps
Skottie pulls SkSG as needed, we prolly don't need all these explicit
deps.

TBR=
Change-Id: I7a641c5b0a5be52185c240ba522f0758e79aff85
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278677
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Auto-Submit: Florin Malita <fmalita@chromium.org>
2020-03-23 23:50:04 +00:00
Brian Salomon
0bfb7a5206 Revert "Revert "Drawing YUVA images does not flatten for bicubic.""
This reverts commit d198821906.

Change-Id: I53c8d7dd783130266cb5a3e96586baf62896f82c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278676
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-23 23:46:34 +00:00
Brian Salomon
d198821906 Revert "Drawing YUVA images does not flatten for bicubic."
This reverts commit ecd58077b2.

Reason for revert: red

Original change's description:
> Drawing YUVA images does not flatten for bicubic.
> 
> Simplifies bicubic relationship with child FP. Does not propagate coord
> transform up. It does not need a uniform to control offsetting and
> normalization.
> 
> Modifies imagefromyuvtextures GM to test all filter qualities with
> drawImage, drawImageRect, and image shader for YUVA and pre-flattened
> image for comparison.
> 
> Change-Id: Ic07cfdaac8a0fd1968314afe151dc218db862705
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278472
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

TBR=bsalomon@google.com,ethannicholas@google.com,michaelludwig@google.com

Change-Id: I237c7965af00dece40d0d7ef3f3e93db7b2b3c02
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278656
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-23 22:32:24 +00:00
Mike Reed
bcb46c06c7 Add approx_pow/log2/pow2 to SkVM builder
... in support of programs for colorspacexforms

Change-Id: I72ace09f10511ef8994038a4af3feab8bc1a299e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278466
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-03-23 22:17:04 +00:00
Brian Salomon
ecd58077b2 Drawing YUVA images does not flatten for bicubic.
Simplifies bicubic relationship with child FP. Does not propagate coord
transform up. It does not need a uniform to control offsetting and
normalization.

Modifies imagefromyuvtextures GM to test all filter qualities with
drawImage, drawImageRect, and image shader for YUVA and pre-flattened
image for comparison.

Change-Id: Ic07cfdaac8a0fd1968314afe151dc218db862705
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278472
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-03-23 21:22:43 +00:00
Brian Osman
3c358420df Support for custom vertex data in SkSL and drawVertices
Adds a 'varying' modifier to the SkSL frontend. Only valid
for pipeline stage (runtime effect) SkSL programs, and only
on variables that are float, or float[2-4].

Runtime effect SkSL can declare varyings. The effect gathers
and reflects them. The GPU backend uses SkShader_Base's new
asRuntimeEffect() to get this data.

GrDrawVerticesOp and its GP get the shader's effect, if any.
They use this to add vertex attributes, varyings, and global
variables (in the fragment shader) of the appropriate width.
The globals have procedurally generated names, based on
their index in the list ("_vtx_attr_%d"). The GP's fragment
code copies the varyings to the globals.

When PipelineStageCodeGenerator sees a varying reference,
it just replaces that with the procedurally generated name
that matches the logic in the op.

Change-Id: I0effbc4f3425d452cb7d62e51e268f3b48fa3c74
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275962
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-03-23 19:52:53 +00:00
Mike Reed
f5ff4c25a0 add loadF() and storeF() helpers to Builder
Change-Id: I5fe1ca090868cfb9fa930753232e9cbb42737d9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278473
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-03-23 19:25:43 +00:00
Greg Daniel
e52c9784f0 Add GrD3DCommandList class.
This doesn't do much except creates the new class.

Change-Id: I157abaddd173bf1b6ab5eba2539e90c4d530a273
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278469
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-03-23 18:58:27 +00:00
Brian Osman
0b22f3bc53 Remove workaround for ANGLE + NVPR + Persistent Shader Cache
ANGLE no longer supports NVPR, so this isn't necessary.

Change-Id: I68e720f17238c960e6f6ca07fe108f5fefed7705
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278467
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-03-23 18:48:53 +00:00
Robert Phillips
709e2408fe Revert "Make TessellationTestOp and GrPipelineDynamicStateTestOp surface their programInfos at record time"
This reverts commit bc0fe058f8.

Reason for revert: red

Original change's description:
> Make TessellationTestOp and GrPipelineDynamicStateTestOp surface their programInfos at record time
> 
> These aren't high priority but it would be nice to have all the ops go through the same system.
> 
> Bug: skia:9455
> Change-Id: Idbd8b0829faf12703c82f5a016f5b0e7c3efb762
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/277757
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

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

Change-Id: I579ad16f144d17afaec9ee1b9000eaaa5c04228c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9455
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278508
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-23 18:29:33 +00:00
Mike Reed
165b68ebb6 Add onProgram to ModeColorFilter
Change-Id: Id82cfc632f378054f5ecded2c5a77d2824982288
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278420
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-23 18:21:33 +00:00
Mike Reed
cb1a2df616 skvm for picture-shader
After this, it appears that the only remaining shaders w/o skvm are:
- perlinnoise
- lighting
- runtime (sksl)

EmptyShader doesn't, but it is supposed to return failure.

Change-Id: Iab2393e1846b92089de837614ba1fb5543a76432
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278419
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-23 18:02:53 +00:00
Robert Phillips
bc0fe058f8 Make TessellationTestOp and GrPipelineDynamicStateTestOp surface their programInfos at record time
These aren't high priority but it would be nice to have all the ops go through the same system.

Bug: skia:9455
Change-Id: Idbd8b0829faf12703c82f5a016f5b0e7c3efb762
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/277757
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-23 17:39:23 +00:00
Mike Klein
913a6f5508 impl A8/G8 skvm image shaders
Update the shader convention to pass unpremul paint color instead of
premul, still in dst color space.  This is what A8 image shaders need,
and it's cheaper to premul if we end up needing that than to unpremul.

Change-Id: I25d0ef60433670513e2cd24a385d74a506e8af58
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278496
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-03-23 17:22:33 +00:00
Mike Klein
a434e0feb0 pass paint color and full dst info to shaders
- SkImageShader and SkRuntimeEffect will need the paint color
  - SkPictureShader will want the dst color type

Most of the interesting changes are in SkVMBlitter.cpp.

Incidentally factors Builder::uniformPremul() out of SkColorShader.
I thought I'd use it in SkVMBlitter, but ended up not using it.

For now I pass the real SkAlphaType to shaders, not a masked version.
Probably harmless, maybe useful... let's find out.

No diffs.

Change-Id: I49c2639f6a8d2d6a45eaceed9d8c33dbc0d9a538
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278484
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-23 17:21:43 +00:00
Julia Lavrova
99ede42ffe Some bengali text does not have cluster index in ascending order
Bug: skia:10050
Change-Id: Ia8933d43e9c08687e52398528460b98eb5d59935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/277464
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-03-23 16:23:43 +00:00
skia-recreate-skps
15fc10269d Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Id266b0c1776d0e305020770588992b3f371f0f53
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278491
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-03-23 16:08:33 +00:00
skia-autoroll
4098719375 Roll third_party/externals/angle2 cb7e7387e61f..31e36a631345 (2 commits)
cb7e7387e6..31e36a6313

git log cb7e7387e61f..31e36a631345 --date=short --first-parent --format='%ad %ae %s'
2020-03-23 lexa.knyazev@gmail.com Reland "Refactor BitCount"
2020-03-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 1c9f24263e6c..22d73d15e778 (1 commits)

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC robertphillips@google.com,brianosman@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: robertphillips@google.com,brianosman@google.com
Change-Id: Ic34429611278eb739560390ff19d207b9ad40ab5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278486
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-23 15:36:04 +00:00
Robert Phillips
cad8fba253 Make GrFillRRectOp a GrMeshDrawOp
I don't know why this wasn't always a meshDrawOp. Bringing it into the fold reduces some of the boiler plate code and centralizes things.

Bug: skia:9455
Change-Id: Icd71907c3dc2ecefe4a2040293f94884678bbf45
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278179
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-23 15:01:43 +00:00
Brian Salomon
8d1dcd7d98 Specialize scale+translate transforms for explicitly sampled FPs.
This is to support using YUV->RGB in more places where we would incur a
full 3x3 matrix multiply for each plane in the fragment shader without
this.

Change-Id: I27c2a403429c36662eba91f61b08e5331ec678b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278356
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-23 15:00:33 +00:00