Commit Graph

50425 Commits

Author SHA1 Message Date
Mike Reed
f2845ac499 Always (pre)compute path bounds when using a builder
Change-Id: I42ce8d2c7e6852a85b3aa798c772a2a0b1ce6c3b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313477
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-08-26 19:24:34 +00:00
Greg Daniel
c113f004de Remove renderable flag from texture createLazyProxy.
Besides some tests, we always set the renderable flag to kNo for this
function. No need to keep supporting a code path we don't actually use.
Tests that use to pass in kYes here have been converted to calling
createLazyRenderTargetProxy instead.

Change-Id: I91efe6cc51fd7ba04b711509ca26f18eba2af333
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313425
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-08-26 18:10:03 +00:00
John Stiles
9e506eeb7e Add the inline keyword to top-level FPs that use an explicit return.
This CL also updates the GrMagnifierEffect to use `return` instead of
`sk_OutColor` in order to test the results in a large, rarely-used FP
that would not naturally be a very good candidate for inlining.

FPs that use a return statement can generate code that is very similar
to before. The visible differences:
- Variable/uniform names are slightly longer (extra `_c0`)
- The input coordinates are NOT copied to a temp variable.
- The result of the inline function is copied from a temp variable to
  output_Stage1.

A diff for the curious: http://screen/9rRDmvXYCPnkjRZ

Change-Id: Icdbf22f047d944de7c018ca33970dd629dd4b7b0
Bug: skia:10549
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313152
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-26 18:03:04 +00:00
Julia Lavrova
1798f4f35c Reland "Reland "ICU: SkShaper (bidi iterator only)""
This reverts commit 03cde5f999.

Reason for revert: Fixing the build

Original change's description:
> Revert "Reland "ICU: SkShaper (bidi iterator only)""
>
> This reverts commit 7bc5542a9e.
>
> Reason for revert: breaking Android roll
>
> Original change's description:
> > Reland "ICU: SkShaper (bidi iterator only)"
> >
> > This reverts commit 73f003acfd.
> >
> > Reason for revert: Fixed the build
> >
> > Original change's description:
> > > Revert "ICU: SkShaper (bidi iterator only)"
> > >
> > > This reverts commit 64e3d040e9.
> > >
> > > Reason for revert: Breaking google3
> > >
> > > Original change's description:
> > > > ICU: SkShaper (bidi iterator only)
> > > >
> > > > Change-Id: I845cc0a962790ce37600f943473f21f619ee029b
> > > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308508
> > > > Reviewed-by: Ben Wagner <bungeman@google.com>
> > > > Commit-Queue: Julia Lavrova <jlavrova@google.com>
> > >
> > > TBR=djsollen@google.com,bungeman@google.com,reed@google.com,jlavrova@google.com
> > >
> > > Change-Id: Ib081d97f61e57f74bb9414b3973cca640f3b3929
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/309442
> > > Reviewed-by: Julia Lavrova <jlavrova@google.com>
> > > Commit-Queue: Julia Lavrova <jlavrova@google.com>
> >
> > TBR=djsollen@google.com,bungeman@google.com,reed@google.com,jlavrova@google.com
> >
> > Change-Id: I2d9c79deaaac97d3e0eb9b39ec9d53815fdb1f59
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310757
> > Reviewed-by: Ben Wagner <bungeman@google.com>
> > Commit-Queue: Julia Lavrova <jlavrova@google.com>
>
> TBR=bungeman@google.com,jlavrova@google.com
>
> Change-Id: I89e80462edf8e014d7ea273885feeca17748a63a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313378
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Commit-Queue: Derek Sollenberger <djsollen@google.com>

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

Change-Id: Idce514c64309e7463fa23425d10f1b13dd9c8d18
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313407
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-08-26 17:46:33 +00:00
Mike Reed
06d7c9d798 Revert "Revert "use pathbuilder""
This reverts commit 43e3e91883.

Change-Id: I43f6c195f96b1601225801ffaa05a3133c236eba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313421
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-08-26 17:35:34 +00:00
John Stiles
735a5a7e82 Allow .fp files to return a color from main().
Existing .fp files that assign their output to sk_OutColor will continue
to work as before. An error will be generated if an .fp file tries to
mix-and-match return statements and sk_OutColor assignment; only one or
the other is allowed within a single .fp file.

Change-Id: I53bc0e8b79b2fdd64a020a7e5b35a905f9b05c94
Bug: skia:10549
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313197
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-26 17:17:24 +00:00
John Stiles
3be08b6dc6 Add unit tests for early-return detection.
Two cases are added to the tests:
- We wrap early returns in a do-while block.
- We wrap `if (x) { return y; } else { return z; }` in a do-while block.

In a followup CL, the second case will be detected as "not an early
return" because all returns occur at an exit point. This means that the
first unit test will remain the same, and the second test will no longer
wrap its body in a do-while block or add breaks.

Change-Id: Id1ed880c6fb4b3fd2c373e32b7447f74d0901ab8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313417
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-26 16:41:03 +00:00
Mike Reed
43e3e91883 Revert "use pathbuilder"
This reverts commit 4b25d41d96.

Reason for revert: grrrr, broke some layout test (a little)

https://test-results.appspot.com/data/layout_results/linux-blink-rel/40609/blink_web_tests%20%28with%20patch%29/layout-test-results/results.html

Original change's description:
> use pathbuilder
> 
> Change-Id: I4b7cd6aed0c8da44e6065bb171332e25988ec8cc
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313376
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I7a073aafcfddc398ab9a761719230f2427c987c6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313420
Reviewed-by: Mike Reed <reed@google.com>
2020-08-26 16:35:37 +00:00
Greg Daniel
10c4213c22 Remove GrRenderTargetProxyPriv class and setGLRTFBOIDIs0 call.
With the removal of the unused set call, I really don't see a reason to
have the Priv class just for glRTFBOIDIs0 getter. Especially since all
other similar getters related to surface flags are exposed on the main
class. So I've removed the priv class since I don't think it really
adds much to hide such a function from ourselves.

Change-Id: I834fae036b63cc66732d32d7c74b0ed08438f870
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313419
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-08-26 16:34:33 +00:00
Ravi Mistry
8e4a44fb92 Add Retries to Canaries
Bug: skia:10563
Bug: skia:10639
Change-Id: I0b500e4996f8edc0328c1d63d50ac876c231734c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313079
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-08-26 15:04:16 +00:00
skia-recreate-skps
0703d65cd1 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I322d8bd101f5cc9613c2ca9a167dfd7601175dfc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313409
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-08-26 15:04:03 +00:00
Mike Reed
4b25d41d96 use pathbuilder
Change-Id: I4b7cd6aed0c8da44e6065bb171332e25988ec8cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313376
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-08-26 14:58:13 +00:00
Brian Osman
44820a99b7 Remove legacy runtime effect main signature
Chromium has been updated: http://crrev.com/c/2375932

Bug: skia:10613
Change-Id: I375ed986c7f2d031950776698534a922d83b9e61
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313379
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-08-26 14:13:53 +00:00
Adlai Holler
38e81a5398 Revert "Simplify the Metal Compiler wrapper code"
This reverts commit 3cce1125f0.

Reason for revert: Race condition with _Block_object_dispose

Original change's description:
> Simplify the Metal Compiler wrapper code
> 
> The semaphore itself provides us with enough synchronization
> so that the mutex and the sk_sp scheme aren't necessary. This will
> be a little bit faster and I'm putting off finishing my perf.
> 
> Change-Id: I8e1c97452f2305efcdcf7b36a367ee91dae15d6f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313177
> Auto-Submit: Adlai Holler <adlai@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>

TBR=jvanverth@google.com,adlai@google.com

Change-Id: I8149998a27677bf8ad6d9e3261db242516275803
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313416
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2020-08-26 14:10:45 +00:00
Florin Malita
cdb0f8e523 [skottie] Assorted shape repeater fixes
Refactor the shape repeater using a custom render node (instead of
duplicating per-instance SG nodes).

In the process, fix several issues:

  * scale was not being composed correctly
  * start/end opacity were being ignored
  * non-atomic fragments were being drawn in wrong stacking order

Change-Id: I06cd3606806d1a46852a8557b27c09eb44abdadd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313209
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-08-26 13:24:53 +00:00
Derek Sollenberger
03cde5f999 Revert "Reland "ICU: SkShaper (bidi iterator only)""
This reverts commit 7bc5542a9e.

Reason for revert: breaking Android roll

Original change's description:
> Reland "ICU: SkShaper (bidi iterator only)"
> 
> This reverts commit 73f003acfd.
> 
> Reason for revert: Fixed the build
> 
> Original change's description:
> > Revert "ICU: SkShaper (bidi iterator only)"
> >
> > This reverts commit 64e3d040e9.
> >
> > Reason for revert: Breaking google3
> >
> > Original change's description:
> > > ICU: SkShaper (bidi iterator only)
> > >
> > > Change-Id: I845cc0a962790ce37600f943473f21f619ee029b
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308508
> > > Reviewed-by: Ben Wagner <bungeman@google.com>
> > > Commit-Queue: Julia Lavrova <jlavrova@google.com>
> >
> > TBR=djsollen@google.com,bungeman@google.com,reed@google.com,jlavrova@google.com
> >
> > Change-Id: Ib081d97f61e57f74bb9414b3973cca640f3b3929
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/309442
> > Reviewed-by: Julia Lavrova <jlavrova@google.com>
> > Commit-Queue: Julia Lavrova <jlavrova@google.com>
> 
> TBR=djsollen@google.com,bungeman@google.com,reed@google.com,jlavrova@google.com
> 
> Change-Id: I2d9c79deaaac97d3e0eb9b39ec9d53815fdb1f59
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310757
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>

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

Change-Id: I89e80462edf8e014d7ea273885feeca17748a63a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313378
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2020-08-26 13:09:15 +00:00
Ethan Nicholas
765d2feaa7 optimized SkSL inlining output
We were previously defensively copying the arguments to inline functions
into temporary values in all cases. We now detect some cases where that
is not necessary and use the arguments directly.

Change-Id: I9739643157743fdbcefbac9f36be93ea6ecde6f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312489
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-08-26 13:08:53 +00:00
Ravi Mistry
5da7327358 Use GCLIENT_PY3=0 in recreate_skps.py
Bug: skia:10665
Change-Id: I28f787a3e7ca651df25c920de729ec6e38994cd8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313205
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2020-08-26 11:24:13 +00:00
skia-autoroll
ead4ca052b Roll ANGLE from 7bce5194d1d6 to 3c2454b82c05 (19 revisions)
7bce5194d1..3c2454b82c

2020-08-26 timvp@google.com Vulkan: Only count descriptor set resources once
2020-08-26 m.maiya@samsung.com Vulkan: Reserve memory for ResourceUseList::mResourceUses
2020-08-26 lehoangq@gmail.com Metal: Use compute to generate 3D texture's mipmap.
2020-08-26 jmadill@chromium.org Vulkan: Fix dirty state in XFB emulation on EndXFB.
2020-08-25 jmadill@chromium.org Revert "Work around dEQP KHR-GLES31 bug with tess/geom support."
2020-08-25 timvp@google.com Vulkan: Convert ProgramExecutableVk::mDescriptorSets to std::array
2020-08-25 jmadill@chromium.org Allow rendering to unused levels of bound Textures.
2020-08-25 ianelliott@google.com Vulkan: restore mContentDefined at endRP()
2020-08-25 syoussefi@chromium.org Vulkan: Generate perf warnings on suboptimal paths
2020-08-25 courtneygo@google.com Fix ASAN issue with FastIntegerMap.BasicUsage
2020-08-25 syoussefi@chromium.org Fix sub-invalidate of incomplete framebuffers
2020-08-25 ianelliott@google.com Convert the EGL end2end tests to use RAII types/macros
2020-08-25 syoussefi@chromium.org Vulkan: Remove Host->device availability barrier.
2020-08-25 syoussefi@chromium.org Vulkan: Remove BarrierType
2020-08-25 msisov@igalia.com X11 and Ozone: fallback to X11 backend for tests.
2020-08-25 syoussefi@chromium.org Vulkan: Remove the flipViewportY feature
2020-08-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 4dd122392f3a to 12df3cafeee0 (2 revisions)
2020-08-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 76e8dee41452 to e798df982b1b (20 revisions)
2020-08-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Tools from eceb318c06a2 to dda8dabe9eb3 (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 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

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:1085700,chromium:1119669
Tbr: mtklein@google.com
Test: Test: CQTest: Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_fbo_invalidate_* --use-angle=vulkanTest: Test: angle_white_box_tests --gtest_filter=VulkanPerformanceCounterTest.InvalidatingAndUsingDepthDoesNotBreakRenderPass/*
Change-Id: I8f27b707b191803d88ca1cb4c296522b907ba7d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313298
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-26 05:57:13 +00:00
skia-autoroll
8a1acf80bb Roll Chromium from 752313f1c52e to 0839d38f07fc (372 revisions)
752313f1c5..0839d38f07

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 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

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: mtklein@google.com
Change-Id: I05a5d0a059a2860635543622d6f38e77784ddfd3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313299
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-26 05:56:53 +00:00
Mike Klein
a139788b4c add arm64e slice to arm64 iOS builds
I think this new slice will run on the iPhone11 but
  none of the older iOS devices, including the iPad bots.

Bug: skia:10663
Change-Id: I99edeccdd4adc845d3a79d7960b932bff374e77f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313073
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-08-25 23:25:41 +00:00
John Stiles
2064111d55 Fix early-return misdetection in the inliner.
The IR generator was previously unable to see inside sub-blocks when
checking for early return statements, so a function like this:

half fn() {
  {
    return 0.0;
  }
}

Would be wrapped with an unnecessary `do { ...; break; } while (false)`
construct during the inlining process.

Change-Id: Ie804261643b0bab38a08787d0b9d168a03faf070
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313206
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-25 22:51:31 +00:00
Mike Klein
62a0f15f33 remove __ARM_FEATURE_CRC32 workaround
Just noticed that this is no longer set for -arch arm64
(but is, correctly, for -arch arm64e).

Change-Id: I607bb052ce67f91186852156d832d97eed33788b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313239
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-25 22:36:41 +00:00
Mike Reed
ad5494d1d9 use pathbuilder
Change-Id: I11c18d4ff0e60cc33d742cf49359039395abc6b4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313256
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-08-25 22:27:20 +00:00
John Stiles
c37d551167 Add unit test for return statements wrapped in a block.
The inlining output for these statements is optimized in a followup CL.

Change-Id: I3a9a0fdca27e6a0ce80fe80b8869b1be677a8443
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313207
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-25 21:47:41 +00:00
Ravi Mistry
3c02c934af Revert "Update SKP version"
This reverts commit 052ece3e25.

Reason for revert: Empty dir

Original change's description:
> Update SKP version
> 
> Automatic commit by the RecreateSKPs bot.
> 
> TBR=rmistry@google.com
> NO_MERGE_BUILDS
> 
> Change-Id: I879e444427c4a464ba2ede53ce027d244cfcfae5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313171
> Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
> Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>

TBR=rmistry@google.com,skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com

Change-Id: I95e576916c603ed5d0738df19a396ca73f508331
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313202
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2020-08-25 20:25:29 +00:00
skia-recreate-skps
052ece3e25 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I879e444427c4a464ba2ede53ce027d244cfcfae5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313171
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-08-25 20:15:27 +00:00
Mike Klein
e60e56003b set _XOPEN_SOURCE=0 when building ICU
Today I learned -dD -E is the super-power version of -dM -E.

Change-Id: Ib8f6f426006261638f2a97ed9053bbe228f301bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313166
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-25 19:47:37 +00:00
John Stiles
c09645b616 Remove newly-added SkDEBUGFAILs when we can't make an FP in drawAtlas.
Change-Id: I26db040493414635101a451fe77f79adf75704d6
Bug: skia:10662
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313153
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-08-25 19:45:57 +00:00
Adlai Holler
3cce1125f0 Simplify the Metal Compiler wrapper code
The semaphore itself provides us with enough synchronization
so that the mutex and the sk_sp scheme aren't necessary. This will
be a little bit faster and I'm putting off finishing my perf.

Change-Id: I8e1c97452f2305efcdcf7b36a367ee91dae15d6f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313177
Auto-Submit: Adlai Holler <adlai@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-08-25 19:34:17 +00:00
Chris Dalton
90242db9bd Remove Sk2f usage from curve rotation calculations
An error appeared on iMacPro. This CL removes Sk2f and establishes a
non-vectorized baseline. In the future if perf becomes a problem, we can
rethink the Sk2f usage.

Change-Id: I3256a46b4605cc34105aae6488ab3559df61e09b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313136
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-08-25 19:21:27 +00:00
Chris Dalton
a316aa65fc Add "radial edges" to tessellated stroking
Tessellated stroking works by creating stroke-width edges orthogonal
to the curve at set locations and then connecting them with a
quad strip. In the past these edges have been spaced evenly in the
parametric sense, but this does not work for areas of tight curvature
like cusps. To work around this we would do expensive CPU work to chop
curves around points of strong curvature and insert combinations of
lines and round joins.

This CL introduces a second set of orthogonal edges called "radial
edges". While parametric edges are spaced evenly in the parametric
sense, radial edges divide the curve's _rotation_ into even steps. The
tessellation shader evaluates both sets of edges (parametric and
radial) and sorts them into a single quad strip. With this new
combined set of edges we can draw any curve and the CPU never has to
worry about curvature.

Bug: skia:10419
Change-Id: I49291cc2efdf0d26835abbe9a9d21643bce0b4da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312601
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-08-25 19:11:17 +00:00
John Stiles
f621e234fc Fix cases of variable shadowing in SkSL.
Change-Id: I83aec4a2f65fe34b79ecc292131feb4027ce4bd4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313139
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-08-25 18:23:52 +00:00
Julia Lavrova
7bc5542a9e Reland "ICU: SkShaper (bidi iterator only)"
This reverts commit 73f003acfd.

Reason for revert: Fixed the build

Original change's description:
> Revert "ICU: SkShaper (bidi iterator only)"
>
> This reverts commit 64e3d040e9.
>
> Reason for revert: Breaking google3
>
> Original change's description:
> > ICU: SkShaper (bidi iterator only)
> >
> > Change-Id: I845cc0a962790ce37600f943473f21f619ee029b
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308508
> > Reviewed-by: Ben Wagner <bungeman@google.com>
> > Commit-Queue: Julia Lavrova <jlavrova@google.com>
>
> TBR=djsollen@google.com,bungeman@google.com,reed@google.com,jlavrova@google.com
>
> Change-Id: Ib081d97f61e57f74bb9414b3973cca640f3b3929
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/309442
> Reviewed-by: Julia Lavrova <jlavrova@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>

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

Change-Id: I2d9c79deaaac97d3e0eb9b39ec9d53815fdb1f59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310757
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-08-25 18:22:52 +00:00
Greg Daniel
b2b4cc899d Don't used cached memory for buffers in vulkan.
We have found that on tilers in may be better to use non-cached coherent
memory than cached non-coherent. Part of the reasoning is unlike
desktop gpus, the memory doesn't have to be sent over the bus and is
usually shared between cpu and gpu. So it is easier to just use
coherent.

Another side point is metal basically requires this similar
differentiation between iOS and Mac.

Change-Id: I9c849002dc5660af9bc2b7e64c77866ca6e5e373
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312056
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-08-25 18:16:12 +00:00
John Stiles
f2f9b0d6f9 Filter transformed atlas images correctly on GPU.
The GPU backend was not considering the SkRSXform when optimizing the
filter mode. This would cause rotated or scaled atlas images to look
pixelated, regardless of the paint filter.

Change-Id: I65f4bee6351e10349114869b823b2114bbcf70be
Bug: skia:10662
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313081
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-25 18:04:12 +00:00
Brian Salomon
5660e8b441 Hook DDLPromiseImageHelper up to new YUVA API.
The old API is no longer implemented by SkCodecImageGenerator, meaning
we would never take the YUVA code path.

Bug: skia:10632

Change-Id: I33adb348768fdcd70368640d6857c5c7e3c2dc0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312882
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-08-25 17:13:40 +00:00
Mike Klein
cd2f0b682f GrSempahore/GrGpuResource cleanup
I was just reading the file and noticed these old leftovers
    from before https://skia-review.googlesource.com/c/skia/+/255086.

Change-Id: I8711809e90ac49d0a7190030d8e4afe78459a1b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313096
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-08-25 16:41:58 +00:00
Mike Reed
92f6eb1602 use pathbuilder
Change-Id: I2bca419a3273a9cc8a984b0f4159f518968c6652
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313077
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-08-25 16:29:48 +00:00
Robert Phillips
8025507f74 Simplify SkComputeBlurredRRectParams
Although cool, I don't know if this is worth the increased complexity
for an unused feature.

Change-Id: Id229beab176cebf5b7810fd1e44a5d1e25abcabc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312848
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-08-25 15:04:08 +00:00
Mike Klein
5c4880c251 refactor SkArenaAlloc footers
Store packing in a separate byte; we can't use the upper
  pointer bits like this these days.

  Simple refactoring of how footers are installed and read,
  adding installRaw(const T&) and using it to implement the
  rest.  Footer still exists as a layout reminder, and to
  answer sizeof(Footer), but it's all memcpy() in and out.

Bug: skia:10663
Change-Id: I7e55a005e4f6ce11d48e827cca9edf9e517bc620
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313066
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-25 14:49:58 +00:00
Brian Osman
767f444feb SkRuntimeEffect SkSL has a new signature for main()
There is no more 'inout half4 color'. Effects return their output color.
If an effect wants the input color, it must use the (already existing)
approach of sampling a nullptr input shader.

The change is guarded for Chromium (so we can update their runtime color
filters in skia_renderer.cc).

For the GPU backend, FPs can now override usesExplicitReturn to indicate
that their emitCode will generate a return statement. If that's true,
then writeProcessorFunction doesn't inject the automatic return of the
output color, and emitFragProc will *always* wrap that FP in a helper
function, even as a top-level FP. GrSkSLFP opts in to this behavior, so
that the user-supplied return becomes the actual return in the FP's
emitCode.

Adapting the skvm code to this wasn't too bad: It looks fragile (what
happens if there are multiple returns?), but that's not really possible
today, without varying control flow.

Bug: skia:10613

Change-Id: I205b81fd87dd32bab30b6d6d5fc78853485da036
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310756
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-08-25 13:36:28 +00:00
John Stiles
3a96e2c4c1 Draw patches/atlases using the AutoLayerForImageFilter's SkPaint.
Within a DRAW_BEGIN/DRAW_END pair, all other call sites use
`draw.paint()` as their paint. Certain types of ImageFilter won't work
properly unless we use the SkPaint from the AutoLayerForImageFilter.

New tests were added to the `imagefiltersbase` GM to demonstrate the
issue, at http://review.skia.org/312842

Change-Id: Ifa8bfa4b8a44cfa2c756d9633424027292a9319f
Bug: skia:10660
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312838
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-08-25 13:08:18 +00:00
skia-autoroll
578215be44 Roll ANGLE from 4f7edbe1f6f0 to 7bce5194d1d6 (7 revisions)
4f7edbe1f6..7bce5194d1

2020-08-25 syoussefi@chromium.org Vulkan: Simplify image read barrier necessity check
2020-08-25 m.maiya@samsung.com Vulkan: Add FastIntegerSet and FastIntegerMap class
2020-08-24 lehoangq@gmail.com Metal: autogen for 3D texture's mipmap generating shader.
2020-08-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 0d6b4440549b to 76e8dee41452 (3 revisions)
2020-08-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from b79773a35d52 to 4dd122392f3a (1 revision)
2020-08-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 44e1791f100c to 622558b02e1a (3 revisions)
2020-08-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from f257e0ea6b9a to 983698bb34ec (2 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 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

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: None
Tbr: mtklein@google.com
Test: Test: angle_unittests.exe --gtest_filter=FastInteger*
Change-Id: Ief36f9d5114cc694be918cbc81a753700b769ef9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312978
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-25 04:50:18 +00:00
skia-autoroll
221a069606 Roll Chromium from 65295ec3eca4 to 752313f1c52e (354 revisions)
65295ec3ec..752313f1c5

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 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

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: mtklein@google.com
Change-Id: I376c08bc881dd19eeea30d41d086bd3b2fea91fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312976
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-25 04:44:18 +00:00
skia-autoroll
9ad0c9e91a Roll dawn from ef7447334713 to c3e3c30b0d7f (1 revision)
https://dawn.googlesource.com/dawn.git/+log/ef7447334713..c3e3c30b0d7f

2020-08-24 rharrison@chromium.org Roll 4 dependencies

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang from f257e0ea6b9a to 983698bb34ec

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: I54a93d95809148af620297114e9e97801c01c220
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312977
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-25 04:28:38 +00:00
Herb Derby
bcca52ab84 Revert "change atlas uv encoding"
This reverts commit cace33fc31.

Reason for revert: Breaks nexus 7

Original change's description:
> change atlas uv encoding
> 
> Move the page encoding to bit 14 of UV from bit 0. It would be nice
> to use bit 15, but older versions of the iphone don't handle the bit 15
> correctly.
> 
> Change-Id: Ia8f1a742dfbc85514f8057fdace0e7954aecc593
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312640
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

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

Change-Id: If3634d8798ee940e02aa5d53c53ca5186060cdc9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312889
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-08-25 00:10:04 +00:00
John Stiles
b8f10b7bb7 Reland "Add a patch and an atlas to the ImageFilter GM slide."
This is a reland of 0baaa23722

Original change's description:
> Add a patch and an atlas to the ImageFilter GM slide.
>
> This exposes a recently-discovered issue where image filters were not
> always applied to some types of canvas draws.
>
> Change-Id: I17ef000d067ad2a41f06ff6e2220ea9915db6f99
> Bug: skia:10660
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312842
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>

Bug: skia:10660
Change-Id: Ia6c9278be6e920c1217a89593e4007c2ed0e8af7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312887
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-08-24 23:19:31 +00:00
John Stiles
84cdc27399 Revert "Add a patch and an atlas to the ImageFilter GM slide."
This reverts commit 0baaa23722.

Reason for revert: MSAN bot issue

Original change's description:
> Add a patch and an atlas to the ImageFilter GM slide.
> 
> This exposes a recently-discovered issue where image filters were not
> always applied to some types of canvas draws.
> 
> Change-Id: I17ef000d067ad2a41f06ff6e2220ea9915db6f99
> Bug: skia:10660
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312842
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>

TBR=mtklein@google.com,bsalomon@google.com,reed@google.com,johnstiles@google.com

Change-Id: I9c672de3e0d14a183b1f64475b56331754a9fe7e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10660
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312883
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-08-24 21:38:13 +00:00
Adlai Holler
595f7b4172 A couple optimizations to Metal Shader Pipeline
- Don't create an empty options object just to destroy it.
- Don't copy the shader source into the NSString.
- Allow UTF-8 shader source, not just ASCII.

Change-Id: Ic15ba5d315e42875e6db43af086c23a905c1dac4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312837
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-08-24 21:26:01 +00:00