Commit Graph

52565 Commits

Author SHA1 Message Date
Brian Osman
93aed9ac05 SkRuntimeEffect: Implement and test matrixCompMult intrinsic
Bug: skia:10913
Change-Id: I430e5eb3fecb0f15775db03699819194d44271b6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347958
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-12-30 14:08:49 +00:00
Florin Malita
697e2467bd Reland "drawGlyphRunRSXform: post-compose shader local matrix adjustments"
This reverts commit d150a58c04.

Reason for revert: hopefully not to culprit for roller issues

Original change's description:
> Revert "drawGlyphRunRSXform: post-compose shader local matrix adjustments"
>
> This reverts commit ff49f92e26.
>
> Reason for revert: Likely the CL that's making fushcia_x64 grumpy
>
> Original change's description:
> > drawGlyphRunRSXform: post-compose shader local matrix adjustments
> >
> > Bug: skia:11113
> > Change-Id: Ic34a0c80b44031d77d361d35e64301297b3f3189
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347047
> > Commit-Queue: Florin Malita <fmalita@chromium.org>
> > Commit-Queue: Florin Malita <fmalita@google.com>
> > Reviewed-by: Mike Reed <reed@google.com>
>
> TBR=fmalita@chromium.org,fmalita@google.com,reed@google.com
>
> Change-Id: Ieb9ac7597f518f4209d07b063b5752a2265244b4
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:11113
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348656
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=csmartdalton@google.com,fmalita@chromium.org,fmalita@google.com,reed@google.com

# Not skipping CQ checks because this is a reland.

Bug: skia:11113
Change-Id: I598653d9b79f00d36e7a0f700af92d273bbf6305
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348193
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-12-30 14:05:39 +00:00
Derek Sollenberger
8f924ac0ce Revert "Add new virts, hide old ones"
This reverts commit c56e2e5aa6.

Reason for revert: suspected of breaking chrome roll

Original change's description:
> Add new virts, hide old ones
>
> Add virtuals for the draw methods that now take sampling/filtermode.
>
> drawImage
> drawImageRect
> drawImageLattice
> drawAtlas
>
> Add a flag that can remove the older virtuals, once each client has
> stopped overriding them. In that situation, the older public methods
> will simplify extract the sampling from the paint, and call the new
> public methods.
>
> Bug: skia:11105, skia:7650
> Change-Id: I8b0029727295caa983e8148fc743a55cfbecd043
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347022
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,fmalita@chromium.org,reed@google.com

Change-Id: I0a90952c11a180d918126ea06a630f4a0bf9b49b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11105
Bug: skia:7650
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348194
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2020-12-30 13:41:52 +00:00
skia-autoroll
d3a91db48d Roll Chromium from c7d00ca78822 to d5feee8b481c (163 revisions)
c7d00ca788..d5feee8b48

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 djsollen@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/+doc/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
Tbr: djsollen@google.com
Change-Id: I41ca780dbb90d6d798fa02189fa3110f43060a6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348636
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-12-30 05:15:39 +00:00
skia-autoroll
b8eb732e10 Roll ANGLE from 220642a93da1 to de62b251b73b (5 revisions)
220642a93d..de62b251b7

2020-12-30 jiajia.qin@intel.com Make sure the queried resources are active
2020-12-29 penghuang@chromium.org Add build flags to disable desktop gl backend
2020-12-29 jmadill@chromium.org Vulkan: Make shader variable info maps a class.
2020-12-29 thomasanderson@chromium.org [GLX] Don't request exposure events for child windows
2020-12-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from e02e8b371308 to aba6331a18cb (134 revisions)

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 djsollen@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-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
Tbr: djsollen@google.com
Change-Id: I8e48fe35cc36b5b6ccce2b5ac0e88e0fb175dd93
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348255
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-12-30 05:08:49 +00:00
skia-autoroll
936b808201 Roll Dawn from 0eb61724c8f1 to 9a38e5b60dcc (1 revision)
https://dawn.googlesource.com/dawn.git/+log/0eb61724c8f1..9a38e5b60dcc

2020-12-29 enga@chromium.org Make HLSL cache key guard comment ASSERT more specific

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC kainino@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: kainino@google.com
Change-Id: I32ffe7c797eab4c21a0fe0253ee7fac189c0bf7c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348254
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-12-30 05:02:50 +00:00
Chris Dalton
d150a58c04 Revert "drawGlyphRunRSXform: post-compose shader local matrix adjustments"
This reverts commit ff49f92e26.

Reason for revert: Likely the CL that's making fushcia_x64 grumpy

Original change's description:
> drawGlyphRunRSXform: post-compose shader local matrix adjustments
>
> Bug: skia:11113
> Change-Id: Ic34a0c80b44031d77d361d35e64301297b3f3189
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347047
> Commit-Queue: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Florin Malita <fmalita@google.com>
> Reviewed-by: Mike Reed <reed@google.com>

TBR=fmalita@chromium.org,fmalita@google.com,reed@google.com

Change-Id: Ieb9ac7597f518f4209d07b063b5752a2265244b4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11113
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348656
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-12-30 04:25:05 +00:00
Brian Salomon
f84dfd6986 Move GPU read pixels tests to new file.
To share code with forthcoming write pixels tests.

Bug: skia:8862
Change-Id: I4953cc8b6358ff6514c645296a4baf60b65da905
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348187
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-12-30 01:26:23 +00:00
Brian Osman
791f8d8c3b Code cleanup in runtimeintrinsics.cpp GMs
Add some helper functions to reduce copy-paste, make column advance
automatic, etc.

Change-Id: I65c7ed1b7b1b357017e79e14b211686584ed3b7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348186
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-12-29 22:37:43 +00:00
Mike Reed
c56e2e5aa6 Add new virts, hide old ones
Add virtuals for the draw methods that now take sampling/filtermode.

drawImage
drawImageRect
drawImageLattice
drawAtlas

Add a flag that can remove the older virtuals, once each client has
stopped overriding them. In that situation, the older public methods
will simplify extract the sampling from the paint, and call the new
public methods.

Bug: skia:11105, skia:7650
Change-Id: I8b0029727295caa983e8148fc743a55cfbecd043
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347022
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-12-29 21:36:08 +00:00
Florin Malita
ff49f92e26 drawGlyphRunRSXform: post-compose shader local matrix adjustments
Bug: skia:11113
Change-Id: Ic34a0c80b44031d77d361d35e64301297b3f3189
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347047
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-12-29 21:30:18 +00:00
Adlai Holler
6e9bf51dd8 Revert "Have DDLs honor the reduceOpsTaskSplittingFlag"
This reverts commit d7b59c091d.

Reason for revert: Regression in chrome:1146701

Original change's description:
> Have DDLs honor the reduceOpsTaskSplittingFlag
>
> Especially while I'm fiddling with the implementation, we don't
> want the user to be surprised when using DDLs also triggers
> this other codepath.
>
> Bug: skia:10877
> Change-Id: I660ea08189fff45acd7a45df12e15c45f607758a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/332720
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Auto-Submit: Adlai Holler <adlai@google.com>

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

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

Bug: skia:10877 chromium:1146701
Change-Id: Ieab2853b54663e7633bec6d71929db9885251ed2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/346659
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
2020-12-29 21:13:18 +00:00
John Stiles
36129133f1 Prevent half type from being emitted in Metal matrixConstructHelpers.
This code was not using typeName() to emit its types, inadvertently
generating Metal code containing the `half` type.

We didn't have any unit tests which synthesized a matrix-construct
helper with half types, so Matrices.sksl was cloned into two separate
test files--MatricesFloat and MatricesHalf. These should be equivalent
except for float vs half types.

Change-Id: I19ecea994b8bc45594bb3f69e596896a3bcefe4d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348180
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-12-29 21:01:27 +00:00
Mike Reed
fe4611c18e Alias two sets of enums
Change-Id: Id5104dea2987945d572d60135ee0fe374e980f26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348182
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-12-29 19:10:17 +00:00
John Stiles
67a477b85b Remove stale FrExp test files.
FrExp testing was moved to the intrinsic tests as part of
http://review.skia.org/341977, and the shared versions were removed from
sksl_tests.gni at that time.

Change-Id: Ife7f3622034d97a77b60d5a98c01f71630c161d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348183
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-12-29 18:36:47 +00:00
Mike Reed
d9b9c83e87 Use sampling in bitmapdevice
Bug: skia:7650
Change-Id: I41bca34561cc042291572cc4238dcb843435cce4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348179
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-12-29 17:39:17 +00:00
John Stiles
368db7cde0 Improve Metal matrix *= support.
In Metal, matrix *= matrix is not natively supported and needs to be
injected via a helper function. This helper function now properly
converts `halfNxM` types to `floatNxM` types (as Metal does not support
half types). It also returns the result by reference instead of by
value to avoid an unnecessary copy.

Matrices.sksl now includes tests for operators += -= *=. Previously we
did not have any coverage for `matrix *= matrix` at all.

Change-Id: I7dfe468ced67eaf7c2405960e8c5efe6f2acf9e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348178
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-12-29 17:26:52 +00:00
Brian Osman
964f0a028e Fix bugs/formatting in MSL inverse helpers
4x4 was dividing a matrix by a scalar - this isn't allowed, multiply by
the scalar's inverse instead.

The types in the signature were derived from type.name(), which wasn't
applying the half->float re-mapping.

Finally, use raw strings so the resulting shader code isn't all crammed
on one line.

Bug: skia:10913
Change-Id: Ie28373fc138445b8c195dbd37687e4ad4504e918
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348177
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-12-29 16:33:16 +00:00
Brian Salomon
dd4087d1e8 GrSurfaceContext::read/writePixels takes GrPixmap
Change readPixels contract to allow unknown->unknown AT reads, but
fail if one side is unknown and the other isn't (and update GPU read
pixels test accordingly).

Also, ProxyUtils::MakeTextureProxyViewFromData takes GrPixmap.

Bug: skia:8862
Change-Id: I771c154833408e666f860413c1a711714696326d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347196
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-12-29 16:31:56 +00:00
John Stiles
12739dffec Handle values above int32 safely during IR generation.
Previously, SKSL_INT was limited to an int32_t, so we couldn't
differentiate between -1 and 4294967295. We could paper over the
difference in some cases by relying on the expression's type, but this
was imperfect and left us unable to differentiate between an overflow
and valid results. SKSL_INT is now an int64_t; the code has been
updated to fix bugs that shook out as a result of the change.

This isn't a complete solution for overflow handling. There are still
lots of obvious places for improvement--e.g. constant folding can
easily overflow, and statements like `byte x = 1000;` are still
happily accepted.

Change-Id: I30d1f56b6f264543f3aa83046f43c2eb56d5fce4
Bug: skia:10932
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/345173
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-12-29 16:26:56 +00:00
Mike Reed
7027aa0ae7 add sampling param to drawAtlas
Bug: skia:7650
Change-Id: I8e72870775736c8bab7b077208b275372f632bc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347961
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-12-29 16:13:37 +00:00
skia-autoroll
9dc8a8ce40 Roll Chromium from 6fa6f0c8b65b to c7d00ca78822 (125 revisions)
6fa6f0c8b6..c7d00ca788

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 djsollen@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/+doc/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
Tbr: djsollen@google.com
Change-Id: I4d1174f9969aabfdc254b6639ddb85ee4323305e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348139
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-12-29 16:13:36 +00:00
Mike Reed
ffe5d545f0 Simplify GrInterpretSamplingOptions
Change-Id: I6067d43cffc745720e838b547098930d16ae44ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347960
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-12-29 16:08:32 +00:00
skia-autoroll
5b36503513 Roll Dawn from c8d5277e86ee to 0eb61724c8f1 (1 revision)
https://dawn.googlesource.com/dawn.git/+log/c8d5277e86ee..0eb61724c8f1

2020-12-28 jiawei.shao@intel.com Enable CompressedTextureFormatTests on Win/Intel/Vulkan

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC kainino@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: kainino@google.com
Change-Id: I6a3b24905b9bf38c5c40246327fd3dcd7e5f6989
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348137
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-12-29 16:08:32 +00:00
Joe Gregorio
7ae1b4cae7 Add particles and svg support to fiddle.
Change-Id: If7b0a8ca7f9555e863117f86612ce1e96bd0d2ec
Bug: skia:10906
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347616
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-12-29 16:03:27 +00:00
skia-autoroll
b9191f3d17 Roll ANGLE from 5e606e5bfce2 to 220642a93da1 (2 revisions)
5e606e5bfc..220642a93d

2020-12-28 timvp@google.com Allow Drawing with Immutable Persistent Mapped Buffers
2020-12-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from abaaee149813 to e02e8b371308 (106 revisions)

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 djsollen@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-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
Tbr: djsollen@google.com
Change-Id: I3bfe2fe4f7a2b68c258004879948771a5613f8bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348138
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-12-29 16:03:27 +00:00
Brian Salomon
c85bce8ea6 Revert "Make textures used with alpha-only color-types produce 0s for RGB"
This reverts commit 16d86135b7.

No-Tree-Checks: true
Change-Id: Ia5ba78259a3a406c4c0f8ddca9aaf495d29b34f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348176
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-12-29 15:18:07 +00:00
Brian Osman
d1b593f446 Implement matrixCompMult in SPIR-V backend
Bug: skia:10913
Change-Id: I59f5b0fb2d015f8543b4038c2c5b18ce24c194a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347956
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-12-28 22:33:11 +00:00
Mike Reed
52130b0909 Pass samplingoptions to GrArgs
Also, add control over kMedium mapping

Seems like a loss that GrInterpret throws away the cubic coefficients...

A step towards https://skia-review.googlesource.com/c/skia/+/347022

Bug: skia:11105, skia:7650
Change-Id: I2564c29b0eeffd4df92c0baa78e2c04f6348d7d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347636
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-12-28 21:19:21 +00:00
Mike Reed
869a717c1a More migration away from filter-quality
Bug: skia:11105, skia:7650
Change-Id: Ice9bc3f377d31ae67c69acdebfac9470338fb3b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347861
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-12-28 20:41:41 +00:00
Brian Salomon
16d86135b7 Make textures used with alpha-only color-types produce 0s for RGB
channels in shader.

This matches how CPU backend and 3D APIs do things.

Change-Id: I455e89e5782f6653ccd4e29e0f23ec087687aac0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/317763
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-12-28 19:13:19 +00:00
Brian Salomon
05487abf81 Add GrPixmap. Like SkPixmap but uses GrColorType.
Will be used to simplify current and forthcoming code that needs
GrImageInfo, void* pixels, size_t rowbytes. The motivation here is
to make GrSurfaceContext::writePixels support mip levels via an array
of GrPixmap. The goal of that is to remove special purpose
updateBackendTexture code. That code path doesn't support the three
GrColorType paradigm used by GrSuraceContext::writePixele: src color
type, dst color type, intermediate color type used for upload.


Bug: skia:8862
Change-Id: I1f09e1ee017c8a2637ac9f630a13a1ed8040d891
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/345175
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-12-28 18:18:49 +00:00
Ben Wagner
f73a029506 Make onCreateScalerContext return unique_ptr.
Change SkTypeface::onCreateScalerContext to return std::unique_ptr
instead of a bare pointer. The public SkTypeface::createScalerContext
implementation already returns std::unique_ptr, so this is an internal
change only.

Move SkTypeface::createScalerContext implementation from
SkScalerContext.cpp to SkTypeface.cpp for consistency.

Also change the return type of SkScalerContext::MakeEmptyContext to
std::unique_ptr and rename to SkScalerContext::MakeEmpty.

Change-Id: I965308e8f9c78b887811e428f0de873dc6196479
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/346658
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
2020-12-28 17:31:09 +00:00
Florin Malita
c8f9f68b07 Add explicit int -> size_t casts to SkTDArray.h
To unblock https://skia-review.googlesource.com/c/skia/+/347616:

In file included from ../../../../../../skia/tools/public_headers_warnings_check.cpp:8:
In file included from gen\skia.h:19:
In file included from ../../../../../../skia\include/core/SkContourMeasure.h:11:
In file included from ../../../../../../skia\include\core\SkPath.h:13:
In file included from ../../../../../../skia\include/private/SkPathRef.h:16:
In file included from ../../../../../../skia\include/private/SkIDChangeListener.h:13:
../../../../../../skia\include/private/SkTDArray.h(76,48): error: implicit conversion changes signedness: 'const int' to 'unsigned long long' [-Werror,-Wsign-conversion]
                 !memcmp(a.fArray, b.fArray, a.fCount * sizeof(T)));
                                             ~~^~~~~~ ~

...

Change-Id: I1b55580ae5e73bde41cecb20d137295bbaf8cbb6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347860
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-12-28 17:23:49 +00:00
Chris Dalton
ad48280dd0 Avoid uninitialized values in strokeIndirect SIMD queues
Bug: skia:10419
Change-Id: Ia4bf6fce06e69163a50e80e56f82bfd0f8b00072
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347138
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-12-28 17:01:19 +00:00
John Stiles
f94348fdd5 Detect and report numeric overflows in the SkSL parser.
Previously, some types of overflow were detected, but most would assert
or silently generate invalid code. Now, the parser will properly report
an error if it encounters any integer that exceeds UINT_MAX or any float
that exceeds FLT_MAX.

This fixes test OverflowUintLiteral.sksl. Added a test for floats as
well, OverflowFloatLiteral.sksl.

OverflowIntLiteral.sksl does not fail yet, because its values are larger
than INT_MAX, not UINT_MAX. These are legal from the perspective of the
parser. This must be caught later at IR generation time.

Change-Id: Ia5a904d01427cdc9f2ab5f4174154418737835e6
Bug: skia:10932
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347176
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-12-28 16:39:19 +00:00
Greg Daniel
831e13324a Fix vk framebuffer attachment views to only have 1 mip level.
Bug: skia:10979
Change-Id: Ib7329056a72d2dd2255758ee992dbf93578ee12b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347858
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-12-28 16:30:10 +00:00
Ravi Mistry
b5d30dc414 Update remaining Skia docs to point to new inclusive rotations
Bug: skia:11034
Change-Id: I36a46116c89ff1b4f04ed1d563e49547d5cc4cb5
No-Try: true
Docs-Preview: https://skia.org/?cl=347859
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347859
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2020-12-28 16:01:01 +00:00
Ravi Mistry
4cb6beed9b Update rotation docs with inclusive names and point to new rotations
Bug: skia:11034
Change-Id: Ic749f428d8c5a129834e128d5d5c434798c00413
No-Try: true
Docs-Preview: https://skia.org/?cl=347857
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347857
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2020-12-28 15:59:31 +00:00
Ravi Mistry
56a6b3e917 Update task drivers to point to new rotations
Bug: skia:11034
Change-Id: I5968d1ebfa940c9cbe03e1367a793ab569d0448a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347856
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2020-12-28 15:58:10 +00:00
Brian Osman
30b6729352 Add/test integer versions of vector-relational intrinsics
These are part of the GLSL ES 1.0 spec.

Bug: skia:10913
Change-Id: I61bfcadc92209fb3a6aa07b3d6ad579460ad2ecd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347049
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-12-28 15:46:51 +00:00
Joe Gregorio
b4689f5782 Add Pixel 5 tests to the tree.
Change-Id: I96e60d20a0bf56c23f311444b8e3b03ef6fa80be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347776
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2020-12-28 15:39:59 +00:00
skia-autoroll
7f9a84ee67 Roll ANGLE from c6e63da8ed53 to 5e606e5bfce2 (1 revision)
c6e63da8ed..5e606e5bfc

2020-12-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 8baa5d6f121f to abaaee149813 (66 revisions)

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 djsollen@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-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
Tbr: djsollen@google.com
Change-Id: I3d69f371faf0217ecc422bcac837cdee808e4306
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347721
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-12-28 14:58:39 +00:00
skia-recreate-skps
a6368bc984 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I806aec8c1a236d037f23f883500d28fbd8d2c37c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347383
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-12-28 14:52:25 +00:00
skia-autoroll
2a1234a698 Roll Chromium from 3aea25283a73 to 6fa6f0c8b65b (113 revisions)
3aea25283a..6fa6f0c8b6

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 djsollen@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/+doc/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
Tbr: djsollen@google.com
Change-Id: I37100e24dc5404383b16e4e00d27410f7d091cda
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347756
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-12-28 14:48:19 +00:00
Kevin Lubick
70019c6085 [canvaskit] Fix bug if webgl context not available
Bug: skia:11107
Change-Id: Ibf697a2c0b471ea79bee1a33d8230086509147ca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347677
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2020-12-28 14:47:43 +00:00
Mike Reed
9a27566e0c Add customization for kMedium
Change-Id: If08d7d71be59179b22bbf27dacca5942f1832a11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347637
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-12-27 13:30:39 +00:00
Brian Osman
caca7bfff9 Remove nullable type support from SkSL
This was only used for nullable fragment processors, which are gone.

Change-Id: I1ea805c683995367a7525b787c9113ae6d2d0ae0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347051
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-12-26 03:15:47 +00:00
skia-autoroll
69a9983967 Roll ANGLE from cde0e3ab3d71 to c6e63da8ed53 (3 revisions)
cde0e3ab3d..c6e63da8ed

2020-12-25 syoussefi@chromium.org Suppress IOBlocksSeparate xfb test on AMD/Linux/GL
2020-12-24 ynovikov@chromium.org Skip TransformFeedbackTestES31.IOBlocks* on Linux AMD Vulkan
2020-12-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 75537d54458b to 8baa5d6f121f (63 revisions)

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 bungeman@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-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
Tbr: bungeman@google.com
Change-Id: I3938204a90862adf43ecea681175a81a21ddd671
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347397
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-12-25 04:56:56 +00:00
skia-autoroll
5a107d009b Roll Chromium from 715a601a9a6d to 3aea25283a73 (65 revisions)
715a601a9a..3aea25283a

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 bungeman@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/+doc/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
Tbr: bungeman@google.com
Change-Id: I92cff2dba9f22e9877ee54d72b2428fc2871075f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/347398
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-12-25 04:50:16 +00:00