Commit Graph

48774 Commits

Author SHA1 Message Date
Mike Klein
746473b904 remove sse4.1 opts level
This has become a weird target to optimize for.  It's not hugely better
than SSE2, and AVX2 is common nowadays, so SSE4.1's sweet spot is small.

Change-Id: I31c62fb371a4902f084f78309e7a43955f1fc0c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294320
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-06-05 12:00:09 +00:00
skia-recreate-skps
ddb6fc24f3 Update Go Deps
Change-Id: I3760f9a0993a9541d9a18560fc524f5336e66d98
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294481
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-06-05 05:40:49 +00:00
skia-autoroll
1e561ae31a Roll ANGLE from 989c790d4b8b to b10f4b94aa17 (11 revisions)
989c790d4b..b10f4b94aa

2020-06-04 ynovikov@chromium.org doc: Chromium branch autorollers
2020-06-04 etienneb@chromium.org Add trace event to angle Program compilation API
2020-06-04 syoussefi@chromium.org Allow lines up to 72 characters in commit messages
2020-06-04 jmadill@chromium.org Roll third_party/vulkan_memory_allocator/ dac952eb0..431d6e572 (4 commits)
2020-06-04 jmadill@chromium.org Rename Platform.h to PlatformMethods.h.
2020-06-04 nguyenmh@google.com Allow line formats to pass description body's line length check
2020-06-04 spang@chromium.org Re-enable ShouldClearOpaqueFdRGBA8 on Pixel2 Vulkan
2020-06-04 xiaoxuan.liu@arm.com Vulkan: Cleanup unused variable in submitFrame()
2020-06-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from 78a3c915a1d7 to 232ba0d848d1 (1 revision)
2020-06-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from d43f5107400d to 4685ffce93ad (5 revisions)
2020-06-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 3ad285a60d82 to 0711869b5f20 (1 revision)

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 tdenniston@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
Bug: chromium:1064662
Tbr: tdenniston@google.com
Change-Id: I6403b64bac593b5fe3daa2acce8afdcd7af7c00a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294453
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-05 04:54:59 +00:00
skia-autoroll
a903f4885b Roll Chromium from 2f74454086a5 to b7bb5840cba2 (462 revisions)
2f74454086..b7bb5840cb

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 tdenniston@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: tdenniston@google.com
Change-Id: I929015ffa35c35d65eb79bd9f57c4e236a77f882
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294450
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-05 04:51:19 +00:00
skia-autoroll
5ba8cbda81 Roll SwiftShader from 0711869b5f20 to e3eb327e8c3c (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/0711869b5f20..e3eb327e8c3c

2020-06-05 caio.oliveira@intel.com Convert Vulkan headers from CRLF to LF endings

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 tdenniston@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:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: tdenniston@google.com
Change-Id: Idf27c2e833f7862435a58282b83579ed58a85fc2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294451
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-05 04:49:29 +00:00
skia-autoroll
ab4b215658 Roll dawn from 783cd5a79c8a to 0a6a9d86926e (1 revision)
https://dawn.googlesource.com/dawn.git/+log/783cd5a79c8a..0a6a9d86926e

2020-06-05 jiawei.shao@intel.com Test all formats used as readonly storage texture in StorageTextureTests

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 cwallez@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: cwallez@google.com
Change-Id: I584dc8f6f9212abf97de53252f6cded2828e90b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294452
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-05 04:40:49 +00:00
Julia Lavrova
149f22d447 ICU optimization
Mainly rearranging the code to perform all ICU iterations once
and cache the results for the next text layouts.

Change-Id: I514d04229d04778c1f2238064acccddf6b548c00
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294400
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-06-04 23:46:24 +00:00
Brian Salomon
59f31b143c Revert "Add 2x2 bilinear downscale steps to GrSurfaceContext::rescale."
This reverts commit 9c6f6bf031.

Reason for revert: likely hurt flutter perf
https://github.com/flutter/flutter/issues/58716

Original change's description:
> Add 2x2 bilinear downscale steps to GrSurfaceContext::rescale.
>
> Currently just uses 2x2 configuration but could be adapted easily
> to support other sample position layouts.
>
> Change-Id: If857bac5d1fab1b6ee04694e445d0f19431646f1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292079
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

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

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

Change-Id: I8c322c02e22622ab61b99e4a8c241b30a2a31b12
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294399
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-06-04 23:19:24 +00:00
John Stiles
cdc39bda92 Update GrBlurredEdgeFragmentProcessor to use a child FP.
We are updating FPs to receive their input via a child FP where
possible, instead of relying on the input color.

Change-Id: Ib2bac2c7865d4285fbbf45c9de29bbd4d139d04b
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294396
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-06-04 21:03:30 +00:00
Michael Ludwig
d1d997e11f Reland "Improve scissor state tracking in GrRTC"
This reverts commit 4926b07217.

Reason for revert: fix wip

Original change's description:
> Revert "Improve scissor state tracking in GrRTC"
> 
> This reverts commit 3b923a880b.
> 
> Reason for revert: GrAppliedHardClip isn't tracking scissor state properly
> 
> Original change's description:
> > Improve scissor state tracking in GrRTC
> > 
> > At a low level, this changes GrScissorState from a rect+bool to a rect+size.
> > The scissor test is considered enablebd if the rect does not fill the
> > device bounds rect specified by the size. This has a number of benefits:
> > 
> > 1. We can always access the scissor rect and know that it will be
> > restricted to the render target dimensions.
> > 2. It helps consolidate code that previously had to test the scissor rect
> > and render target bounds separately.
> > 3. The clear operations can now match the proper backing store dimensions
> > of the render target.
> > 4. It makes it easier to reason about scissors applying to the logical
> > dimensions of the render target vs. its backing store dimensions.
> > 
> > Originally, I was going to have the extra scissor guards for the logical
> > dimensions be added in a separate CL (with the cleanup for
> > attemptQuadOptimization). However, it became difficult to ensure correct
> > behavior respecting the vulkan render pass bounds without applying this
> > new logic at the same time.
> > 
> > So now, with this CL, GrAppliedClips are sized to the backing store
> > dimensions of the render target. GrOpsTasks also clip bounds to the
> > backing store dimensions instead of the logical dimensions (which seems
> > more correct since that's where the auto-clipping happens). Then when
> > we convert a GrClip to a GrAppliedClip, the GrRTC automatically enforces
> > the logical dimensions scissor if we have stencil settings (to ensure
> > the padded pixels don't get corrupted). It also may remove the scissor
> > if the draw was just a color buffer update.
> > 
> > Change-Id: I75671c9cc921f4696b1dd5231e02486090aa4282
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/290654
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> 
> TBR=bsalomon@google.com,csmartdalton@google.com,michaelludwig@google.com
> 
> Change-Id: Ie98d084158e3a537604ab0fecee69bde3e744d1b
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294340
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

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

# Not skipping CQ checks because this is a reland.

Change-Id: I2116e52146890ee4b7ea007f3c3d5c3e532e4bdd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294257
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-06-04 20:52:41 +00:00
Julia Lavrova
c11ab9ac93 Revert "ICU optimization"
This reverts commit cc6349d390.

Reason for revert: Problems with MSAN

Original change's description:
> ICU optimization
> 
> Mainly rearranging the code to perform all ICU iterations once
> and cache the results for the next text layouts.
> 
> Change-Id: I2c2a502c705510eb169bf62efbfcc13b658591e3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293336
> Commit-Queue: Julia Lavrova <jlavrova@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

TBR=bungeman@google.com,jlavrova@google.com

Change-Id: I7f7f759178c10349b4c879bafc68a7f8e1065b6a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294398
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-06-04 20:34:52 +00:00
skia-autoroll
fcddaf2aa9 Roll skcms from 5404be4a2703 to 403d32176ebc (1 revision)
https://skia.googlesource.com/skcms.git/+log/5404be4a2703..403d32176ebc

2020-06-04 brianosman@google.com Add another test profile, where A2B/B2A and XYZ+TRC disagree strongly

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

Change-Id: I407af182ada4a06700b9e113c7c7a447d44f5b0a
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: tdenniston@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294361
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-04 20:09:04 +00:00
Nathaniel Nifong
ed827bcf91 Make shadow in drawShadow test much more prominent
Change-Id: Iea50f4fb6cdd611ceeb77e5ab1dfe6e703ca201d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293681
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-06-04 20:05:24 +00:00
Mike Klein
a5fc154260 remove AVX raster pipeline stages
It's rare these days to find a CPU with AVX but not AVX2.

The memsets still make sense to leave, as we don't do anything
different there even with AVX2... all the instructions we want
are available with AVX.

Change-Id: I412f95c4548cfcc56c19b72348deceee83ba0610
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294319
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-06-04 19:59:24 +00:00
Julia Lavrova
cc6349d390 ICU optimization
Mainly rearranging the code to perform all ICU iterations once
and cache the results for the next text layouts.

Change-Id: I2c2a502c705510eb169bf62efbfcc13b658591e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293336
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-06-04 19:43:37 +00:00
Michael Ludwig
4926b07217 Revert "Improve scissor state tracking in GrRTC"
This reverts commit 3b923a880b.

Reason for revert: GrAppliedHardClip isn't tracking scissor state properly

Original change's description:
> Improve scissor state tracking in GrRTC
> 
> At a low level, this changes GrScissorState from a rect+bool to a rect+size.
> The scissor test is considered enablebd if the rect does not fill the
> device bounds rect specified by the size. This has a number of benefits:
> 
> 1. We can always access the scissor rect and know that it will be
> restricted to the render target dimensions.
> 2. It helps consolidate code that previously had to test the scissor rect
> and render target bounds separately.
> 3. The clear operations can now match the proper backing store dimensions
> of the render target.
> 4. It makes it easier to reason about scissors applying to the logical
> dimensions of the render target vs. its backing store dimensions.
> 
> Originally, I was going to have the extra scissor guards for the logical
> dimensions be added in a separate CL (with the cleanup for
> attemptQuadOptimization). However, it became difficult to ensure correct
> behavior respecting the vulkan render pass bounds without applying this
> new logic at the same time.
> 
> So now, with this CL, GrAppliedClips are sized to the backing store
> dimensions of the render target. GrOpsTasks also clip bounds to the
> backing store dimensions instead of the logical dimensions (which seems
> more correct since that's where the auto-clipping happens). Then when
> we convert a GrClip to a GrAppliedClip, the GrRTC automatically enforces
> the logical dimensions scissor if we have stencil settings (to ensure
> the padded pixels don't get corrupted). It also may remove the scissor
> if the draw was just a color buffer update.
> 
> Change-Id: I75671c9cc921f4696b1dd5231e02486090aa4282
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/290654
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

Change-Id: Ie98d084158e3a537604ab0fecee69bde3e744d1b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294340
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-06-04 19:39:58 +00:00
Michael Ludwig
3b923a880b Improve scissor state tracking in GrRTC
At a low level, this changes GrScissorState from a rect+bool to a rect+size.
The scissor test is considered enablebd if the rect does not fill the
device bounds rect specified by the size. This has a number of benefits:

1. We can always access the scissor rect and know that it will be
restricted to the render target dimensions.
2. It helps consolidate code that previously had to test the scissor rect
and render target bounds separately.
3. The clear operations can now match the proper backing store dimensions
of the render target.
4. It makes it easier to reason about scissors applying to the logical
dimensions of the render target vs. its backing store dimensions.

Originally, I was going to have the extra scissor guards for the logical
dimensions be added in a separate CL (with the cleanup for
attemptQuadOptimization). However, it became difficult to ensure correct
behavior respecting the vulkan render pass bounds without applying this
new logic at the same time.

So now, with this CL, GrAppliedClips are sized to the backing store
dimensions of the render target. GrOpsTasks also clip bounds to the
backing store dimensions instead of the logical dimensions (which seems
more correct since that's where the auto-clipping happens). Then when
we convert a GrClip to a GrAppliedClip, the GrRTC automatically enforces
the logical dimensions scissor if we have stencil settings (to ensure
the padded pixels don't get corrupted). It also may remove the scissor
if the draw was just a color buffer update.

Change-Id: I75671c9cc921f4696b1dd5231e02486090aa4282
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/290654
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-06-04 18:44:46 +00:00
Mike Klein
f800c1d71b refine __chkstk_darwin() workaround
Apple's Clang has a bug rooted in these three conflicting constraints:

   A) before we save a large amount of state to the stack, call
      __chkstk_darwin() to um, do something to make that safe.  It's
      some sort of debug feature that involves marking various pages
      as writable and unwritable to catch stack overflows.

   B) before calling any function that doesn't use AVX, which includes
      __chkstk_darwin(), call vzeroupper as a performance enhancement

   C) we must save a large amount of state to the stack before it's
      sound to call vzeroupper, so it can be restored after the
      function call.  Otherwise the upper 128 bits of all ymm registers
      will be lost, zeroed.

There's no way to order A,B, and C to make them all happy.

Saving registers before zeroing them (C) is a correctness issue, so it's
got to take precedence.  Zeroing the upper bits of ymm registers before
calling into code that's not ymm-aware (B) is a performance issue only,
and not actually even needed for __chkstk_darwin().  The whole
__chkstk_darwin() thing (A) is nice a safety feature we'll have to live
without.

The best fix would be to make it so that Clang doesn't issue vzeroupper
before __chkstk_darwin(), but we can't do that here.  The next best
thing, since mucking with correctness isn't really viable, is to turn of
the stack checking.

Until now we've been using -O1 to reduce the stack usage down low enough
that the stack check calls are not generated.  Maybe there's a known
safe single page, and the call's only needed when going above that?

Anyway, let's try focusing our workaround on -fstack-check itself.

Bug: skia:9709
Change-Id: Ie236101d2d464526b33e327db1f94574a7a86948
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294326
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-06-04 18:27:16 +00:00
Mike Klein
29b231e87a remove templates from SkSwizzler_opts
Spin off the safer part of the SkOpts CL I had to revert.
Should we try that again, having this in place will make
it easier.

Change-Id: Ic34ce2f23c10466cf1036f9651a544d308f4edec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294294
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-06-04 17:43:06 +00:00
Herb Derby
4a085a0dda Make vertex structs private
Change-Id: If09866766b4827dd8390094f1481f766f2ea28f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294301
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-06-04 17:38:26 +00:00
Herb Derby
92cc580c27 Remove unused vertex filler
Change-Id: Ie46e1b4cfb76b672eef60a87ea8ca94106052a00
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294296
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-06-04 17:36:46 +00:00
John Stiles
eed56f0fe5 Update GrFragmentProcessor::SwizzleOutput to use a child FP.
We are updating FPs to receive their input via a child FP where
possible, instead of relying on the input color.

This CL also adds a GM test for SwizzleOutput, since this did not appear
to be covered by existing unit tests.

Change-Id: I3d8176395bb42eab7ff471c9137597402b5b3a69
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293884
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-06-04 17:31:46 +00:00
John Stiles
5a2a7b3096 Update GrClampFragmentProcessor to use a child FP.
We are updating FPs to receive their input via a child FP where
possible, instead of relying on the input color.

Change-Id: Ic30224a45c6e4dba46c1cbaa27735013e8b3935f
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293937
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-06-04 16:56:26 +00:00
Ben Wagner
d13487e71b Regularize SkFontMgr for CoreText build.
Move SkFontHost_mac.cpp into an 'optional' like the other fontmgr build
rules. This allows building with other fontmgrs on Mac and makes the lib
dependencies explicit. In the future this helps with splitting the out
the default factory.

Change-Id: Iecef9e428acb69f89b54afa00b4e779f5858c61a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294076
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-06-04 16:45:09 +00:00
John Stiles
06f3d088e1 Fix invalid code generation with @setData and 'in fragmentProcessor?'.
Without this change, the generated code for an FP that includes a
fragment processor and a @setData block will erroneously include:
  auto inputFP = _outer.inputFP;
  (void)inputFP;
This is not a valid member name. (inputFP_index does exist.)
There does not appear to be any reason to generate this line.

Change-Id: I324878c0768959e56be33cfd8a85a2aa42794c7c
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294039
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2020-06-04 16:21:15 +00:00
Herb Derby
396deb032b Move addToAtlas to GrAtlasManager
Change-Id: I24cee3587da3dabfc618e2c028d37bbdac52cde0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293938
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-06-04 16:16:13 +00:00
Stephen White
b007bb25a1 Dawn: skip PromiseImageShutdownTest and TextureIdleProcTest.
These tests create a wgpu::Texture which outlives the  wgpu::Device
which created it. This is problematic on Dawn, so just skip
the tests for now.

Bug: skia:10326
Change-Id: I29d5328e313baca19a2bbc2eedd80f2768cae77e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293936
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2020-06-04 16:16:12 +00:00
Kevin Lubick
024d42fdd6 [canvaskit] roll v0.16.1
Change-Id: Ieb00340af7b157efbbbba995fd936ce98465d4ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294297
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2020-06-04 14:39:07 +00:00
Jim Van Verth
f278886e1e Direct3D: Create samplers and shaderResourceViews for textures.
Mirrors what we have in Vulkan -- there's a cache of samplers in the
resource provider, and views are associated with their particular
texture resource.

Change-Id: I3751bce0817581a0044a7eea1b0c3ef9cc14d8e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293537
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-06-04 14:37:54 +00:00
Greg Daniel
7f3408ba99 Update GrVkImage setImageLayout to take a specific queue index.
Change-Id: I570cfa34e06d279f6d718c2cc6ff008c697fd5d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293849
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-06-04 14:35:45 +00:00
Mike Klein
1faaa97f80 Revert "apply SkOpts_skx approach to SkOpts_hsw"
This reverts commit 08a39c2b5f.

Reason for revert: Flutter roll?

Original change's description:
> apply SkOpts_skx approach to SkOpts_hsw
> 
> Very slightly different build flags, switching from -march=haswell to
> -mavx2 -mfma -mf16c, but there are no diffs.
> 
> Left some TODOs for the next ones, but _hsw being so common I figured
> I'd do this one stand alone and make sure it shakes down before doing
> the rest.
> 
> clang-cl (but not clang) barfs when we've got a lambda using an AVX
> intrinsic inside a templated static helper function. Luckily they're
> all non-type template parameters, so we can just pass them as normal
> arguments, and it'll optimize the same as the templated code anyway.
> 
> This was weird, but since we're covering almost all the SkFoo_opts.h
> headers with HSW here, I don't anticipate this being a problem in the
> future.  (And I'm sure I'll never look back on this statement as naive.)
> 
> Change-Id: I2f84db356cafa5e158bcc3724fb1c3f58aca7f1e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293599
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

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

Change-Id: If3a75158d6e017f180d9e38d9ba296a0d72e1384
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294281
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-06-04 14:20:36 +00:00
Mike Klein
7f5b734505 Revert "finish new-style opts"
This reverts commit 4272d071d9.

Reason for revert: Flutter roll?

Original change's description:
> finish new-style opts
> 
> Nothing super interesting.
> 
> SkOpts_crc32.cpp is worth looking at
> as the only non-x86 code.
> 
> I marked a few places I think we can
> trim to save code size as follow ups.
> 
> Change-Id: Ifdc8f4d1495ff56df5d2cdde39f7e9a6ac2b1277
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294019
> Auto-Submit: Mike Klein <mtklein@google.com>
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Herb Derby <herb@google.com>

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

Change-Id: Idbb914788489bdc5941f7fed23bf26d35d90dca4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294280
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-06-04 14:20:17 +00:00
Ben Wagner
bfe44b6974 Don't leak ref returned by SkFontMgr::matchFamilyStyle.
The current code does an extra ref on the SkTypeface returned from
SkFontMgr::matchFamilyStyle. This old API needs to be updated to return
sk_sp<SkTypeface> instead of a ref'ed bare SkTypeface*.

Bug: skia:10325
Change-Id: I191b494fb86b99fc53b6eb850d65ba73e60dc489
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294038
Auto-Submit: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2020-06-04 13:46:10 +00:00
Geoff Lang
c3320be506 Reland "Request specific ANGLE context versions."
This is a reland of 8eeff5ccf3

Original change's description:
> Request specific ANGLE context versions.
> 
> Using the ANGLE_create_context_backwards_compatible extension, request
> explicit ANGLE context versions to make sure test coverage of context
> versions matches Chrome.
> 
> BUG=skia:10309
> 
> Change-Id: Ifa4a36851a0517b369d094e5707348a20eaf3879
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293339
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Auto-Submit: Geoff Lang <geofflang@google.com>

Bug: skia:10309
Change-Id: Ida0f226a693354211f35c391bdc0b5bb285a2d3d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293761
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-06-04 12:49:20 +00:00
Kevin Lubick
9adc1d4f7d [canvaskit] Fix JS representation of Color
Change-Id: I4f7a54a758eb7a3c28970dde58c847a27a9c3f25
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294256
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-06-04 12:43:32 +00:00
Mike Klein
23708cd50e SkRecord cleanup
- Remove unused SkRecord::Adopted
 - Convert stray raw pointer in DrawPoints to PODArray,
   really just a no-op documentation change.

Change-Id: Id9d8dea920a1689e967f4386420d110a689bf946
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294022
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-06-04 12:20:10 +00:00
skia-recreate-skps
e19a3cec9a Update Go Deps
Change-Id: Ib5b11e398e2ce2c94d41d15c51bc56a56cecc088
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294069
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-06-04 05:34:59 +00:00
skia-autoroll
9e2ebf18e6 Roll SwiftShader from 3ad285a60d82 to 0711869b5f20 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/3ad285a60d82..0711869b5f20

2020-06-04 ari.suonpaa@siru.fi Add Z mirroring support for image blit.

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 tdenniston@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:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: tdenniston@google.com
Change-Id: I7cacb30f5ff73fb87a5827ba07355f4c43c81a46
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294064
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-04 05:19:19 +00:00
skia-autoroll
be8b7ced36 Roll dawn from 295a4177aebc to 783cd5a79c8a (24 revisions)
https://dawn.googlesource.com/dawn.git/+log/295a4177aebc..783cd5a79c8a

2020-06-04 natlee@microsoft.com Avoid processing already processed tick
2020-06-03 enga@chromium.org Test that vertex attributes can overlap
2020-06-03 brandon1.jones@intel.com Try To Recover From MakeResident Failure
2020-06-03 enga@chromium.org Generate specific error when BGL storageTextureFormat is missing
2020-06-03 enga@chromium.org Metal: Handle Buffer allocation failure
2020-06-03 cwallez@chromium.org Fix compilation failure with libstdc++
2020-06-02 bryan.bernhart@intel.com D3D12: Fix RO storage buffer mismatches.
2020-06-02 enga@chromium.org Add warning for non-c-typedef-for-linkage
2020-06-02 enga@chromium.org Skip creating the VkImageView if the texture usage is only Copy
2020-06-02 cwallez@chromium.org Deprecate Buffer::SetSubData in favor of Queue::WriteBuffer
2020-06-01 enga@chromium.org D3D12: Skip dynamic buffer bindings with None visibility
2020-06-01 rharrison@chromium.org Rolling 5 dependencies
2020-06-01 bryan.bernhart@intel.com Roll third_party/shaderc/ 7d2f8c57e..da87b8d8b (3 commits)
2020-06-01 cwallez@chromium.org Fix missing space in an error string.
2020-06-01 enga@chromium.org Fix ValidateEntireSubresourceCopied
2020-06-01 cwallez@chromium.org d3d12_platform: ensure windows.h macros don't cause compile errors
2020-05-29 cwallez@chromium.org Revert "Check FP16 support on vulkan backend"
2020-05-29 enga@chromium.org Ensure dynamic buffer offset bindings are sorted in increasing order
2020-05-29 enrico.galli@intel.com D3D12: Silence known debug layer warnings
2020-05-29 cwallez@chromium.org Fix unlinking nullptr error scopes if device init failed
2020-05-29 jiawei.shao@intel.com Add basic supports of storage textures on OpenGL
2020-05-29 cwallez@chromium.org Metal: Fix clearing of subresource mipmaps.
2020-05-29 bryan.bernhart@intel.com Rolling 1 dependencies
2020-05-29 cwallez@chromium.org Remove the defaulting for bytesPerRow = 0

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang from 2b0eafb1de5b to d39b8afc47a1
  https://chromium.googlesource.com/external/github.com/google/shaderc from 7d2f8c57ee3e to da87b8d8b0a1

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 cwallez@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: cwallez@google.com
Change-Id: I6ff9047af7336a1e181de70c504b13576daa6e5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294062
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-04 05:17:19 +00:00
skia-autoroll
96f3b4160a Roll Chromium from 065b0a7f68ea to 2f74454086a5 (474 revisions)
065b0a7f68..2f74454086

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 tdenniston@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: tdenniston@google.com
Change-Id: I0cad6b7b94c119db02a1f83c23e7f87bc33fc2d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294061
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-04 05:10:30 +00:00
skia-autoroll
f966f4ee2c Roll ANGLE from 6c1581646c46 to 989c790d4b8b (14 revisions)
6c1581646c..989c790d4b

2020-06-04 syoussefi@chromium.org Remove workaround for fixed compiler bug
2020-06-04 syoussefi@chromium.org Update and de-duplicate expectations file format comment
2020-06-04 msisov@igalia.com Add EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE
2020-06-03 jmadill@chromium.org No-op incomplete framebuffer invalidation.
2020-06-03 kbr@chromium.org Fix validation of PVRTC compressed texture sizes.
2020-06-03 geofflang@chromium.org Vulkan: Correct the viewport before intersecting it with the scissor.
2020-06-03 syoussefi@chromium.org Vulkan: Remove validation error suppressions for VVL bug
2020-06-03 syoussefi@chromium.org Vulkan: Remove validation error suppression for fixed issue
2020-06-03 ianelliott@google.com Vulkan: Pre-rotate dFdx() & dFdy() for Android
2020-06-03 nguyenmh@google.com Presubmit script to enforce commit message formatting
2020-06-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 515b4041cc32 to d43f5107400d (1 revision)
2020-06-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Tools from 2bc4fcd9eba5 to 322784a873be (1 revision)
2020-06-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 11dd7183c4d2 to 3ad285a60d82 (15 revisions)
2020-06-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from f050cca7ec47 to 636f449e1529 (1 revision)

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 tdenniston@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
Bug: chromium:1078378,chromium:1084458,chromium:951458
Tbr: tdenniston@google.com
Test: Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_shaders_derivateTest: Test: angle_end2end_tests --gtest_filter=*EGLPreRotationSurfaceTest.OrientedWindow
Change-Id: I5f56cca47b617cb4921d2c29662abdea6261b9ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294063
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-04 05:01:59 +00:00
Ethan Nicholas
bf68ce5a04 add missing import for std::atomic
TBR=bsalomon@google.com, brianosman@google.com
Change-Id: I16ff794a3cacc4a4ce7bdf0f0a30b19b1cfbaa6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294096
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-06-04 04:15:19 +00:00
Herb Derby
64aa5138c7 Remove SkAtlasTextTarget
I can find no references to SkAtlasTextTarget in AOSP or in Chromium.
With google3 CL/314226466 there are no more uses in Google3.

Change-Id: I60b5f06fc17c0e4f8d008886c96645475e3d48e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293839
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-06-04 03:52:35 +00:00
Mike Klein
4272d071d9 finish new-style opts
Nothing super interesting.

SkOpts_crc32.cpp is worth looking at
as the only non-x86 code.

I marked a few places I think we can
trim to save code size as follow ups.

Change-Id: Ifdc8f4d1495ff56df5d2cdde39f7e9a6ac2b1277
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294019
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-06-04 03:51:45 +00:00
Ethan Nicholas
e8ad02c6e9 Revert "Reland "Revert "Omit dead SkSL functions"""
This reverts commit a15f2bfb6f.

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

Change-Id: I64cc7830281ee69bf3377c5b6daa3d96ccf4769e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293976
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-06-04 02:46:55 +00:00
Mike Klein
4aca9066d5 move #include out of header
Not important, just puzzled me when reading it.
A little IWYU.

Change-Id: I3199e6a4c34794f07bddda31032dfa871ce9bc4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294021
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-06-04 01:02:56 +00:00
Julia Lavrova
c48caaae49 Fixing crash when some fonts are unresolved
Bug: Skia:10255
Change-Id: I5b6569603a49977c7fa96731ce46c41bf681a6b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293569
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-06-03 22:27:05 +00:00
Michael Ludwig
88b3b15eec Add clipShader with perspective GM
Bug: skia:10206
Change-Id: Iad24cb1134e8f501bce6434ea8511b21039abea2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293565
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
2020-06-03 21:39:12 +00:00
Michael Ludwig
89dd4e774d Divide by w for sample matrices
This is a conservative, partial fix for perspective-having local matrices.
For some cases, we could probably detect the type of matrix and switch to
a shader that skipped the divide (possibly switching to a 2x3 matrix even)

This doesn't fix the perspective interpolation in localmatrixshader_persp
since it doesn't address the matrix type detection for samples that get
promoted to the vertex stage.

Bug: skia:10314
Change-Id: I87b254aa516b36d5558c2e344096fd38280846ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293573
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2020-06-03 21:39:10 +00:00
Herb Derby
e973ee2457 remove SubRun from addGlyphToAtlas
This change is in preparation for moving addGlyphToAtlas
to GrAtlasManager.

Change-Id: Ic51ad565cc7ccd928a5f4304bf1801ec60f01fb0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293854
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-06-03 21:34:06 +00:00