Commit Graph

50400 Commits

Author SHA1 Message Date
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
John Stiles
0baaa23722 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>
2020-08-24 20:37:33 +00:00
Herb Derby
cace33fc31 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>
2020-08-24 20:18:33 +00:00
Mike Reed
58cc97a11f Use factories to avoid using (deprecated) path editing methods
Change-Id: Iae9944f6bba5a91c4643b3c3745c4c352bd07a17
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312845
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-08-24 19:53:13 +00:00
Robert Phillips
a1c4f1ad51 Out-line GrRRectBlurEffect find_or_create_rrect_blur_mask_fp
I'm going to make this function even more complex (with a thread-safe
shared uniquely-keyed proxy cache) so remove it from the header.

Change-Id: I810ed095729ac30862a8713624e6440380b1128d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312862
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-08-24 19:36:23 +00:00
Herb Derby
6e727832b5 remove ArenaAlloc reset() from SkShaper_coretext
Change-Id: I9950c4663e304cda953ab8d17fe76f5e5c3957e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312844
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-08-24 18:35:13 +00:00
Mike Reed
47d795a127 remove DrawPictureMode enum
Change-Id: I9b9ca78fe2e73d7b76b25d7258038650fea744ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312495
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-08-24 17:52:33 +00:00
Jim Van Verth
36b86aff6b Revert "Remove ARC from Metal backend"
This reverts commit 6541013b53.

Reason for revert: TSAN issues with GrFence, and crash in GrMtlPipelineStateBuilder::CreatePipelineState.

Original change's description:
> Remove ARC from Metal backend
> 
> Change-Id: I5ab28f6eda3b37d1b82c94c7cc6eaa2ce59157da
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311113
> Reviewed-by: Adlai Holler <adlai@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

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

Change-Id: I031629b483fc46de8bd3751253e5391c2ce87853
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312843
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-08-24 17:16:54 +00:00
Ravi Mistry
f759eade0d Add documentation for 'Suggested Reviewers' button.
The button is now live, you can see it on this change as well.
Screencast of the button: https://screencast.googleplex.com/cast/NTQ5MzIzMDkxOTQ4MzM5MnwwZjM2YzQ2Yi1lNw

Change-Id: I7763bae8455453b5abd55d4c3a76db758c255a72
No-Try: true
Docs-Preview: https://skia.org/?cl=312840
Bugs: skia:10659
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312840
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2020-08-24 16:38:34 +00:00
Jim Van Verth
6541013b53 Remove ARC from Metal backend
Change-Id: I5ab28f6eda3b37d1b82c94c7cc6eaa2ce59157da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311113
Reviewed-by: Adlai Holler <adlai@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-08-24 16:20:42 +00:00
Ben Wagner
06eda4b358 Fix SkBitmap::allocPixels logging
Log the SkImageInfo's width and height directly since those are the
values later used by the HeapAllocator.

Change-Id: I01322f55df711141e03fab60da65e22a5c835ca1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312839
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-08-24 16:14:12 +00:00
Ravi Mistry
5163831a9e Rename RecreateSKPs_Canary to RecreateSKPs_DryRun
Change-Id: Icc731852d3b9efdec70c649cfcc4b5c9a47bc584
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312492
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2020-08-24 15:54:02 +00:00
Ethan Nicholas
260062ded3 Fixed SkSL visitor to match previous node counts
The SkSL analyzer did not visit VarDeclarations program elements,
whereas the previous nodeCount() system did, leading to an unintentional
difference in effective inlining thresholds. The more relaxed inlining
threshold was leading to compiler hangs on Metal.

Change-Id: Ic4980f3238cb644e395525edca6737c996225b2e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312836
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-08-24 15:05:17 +00:00
Ben Wagner
1968473fea Move fontmgr_bounds labels to tight bounds
The font bounds may be empty, so label the tight bounds instead,
especially since the labels are of the glyph id that touches that edge
of the tight bounds. Also rotate the labels so they dont' run into each
other.

This also fixes SkMetaData::set so that changing an existing value
doesn't cause strange issues with iterators or attempt to use data from
the previous rec after it's been freed. (Found by running viewer in a
asan build.)

Change-Id: Id255beff5d05310f098bd14baf0935e5fd349e7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312494
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-08-24 15:02:44 +00:00
John Stiles
584fe6230d Factor out validate into separate method.
Change-Id: I7362e16182d42c971a2cb5bdcbdc242ef900d6b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312493
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-24 15:00:12 +00:00
Brian Salomon
87d42e5d12 A new way to specify YUVA planar data from SkCodec to SkImage_Lazy
Tunnels through SkImageGenerator as well.

The new SkCodec interface doesn't assume three 8 bit planes.

New SkYUVASpec more clearly defines chroma subsampling and siting of
the planes.

The intent is to use this for other YUVA APIs as well, in particular
SkImage factories in the future.

In this change we convert to the SkYUVASpec to SkYUVASizeInfo
and SkYUVAIndex[4] representation. But the intent is to use
the SkYUVASpec representation throughout the pipeline once
legacy APIs are removed.

orientation GM is replicated to test a variety of chroma
subsampling configs.

Bug: skia:10632

Change-Id: I3fad35752b87cac16c51b24824331f2ae7d458d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/309658
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2020-08-24 14:25:32 +00:00
John Stiles
3215385aeb Disable ClangTidy namespace comments for short blocks.
Namespace comments don't assist readability for blocks that can easily
fit on a single screen.

Change-Id: I93cbebe8e51400dead794c9eb41cb1eaa86bf756
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312639
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-08-24 14:01:22 +00:00
Mike Klein
bf23d5621f style guide tweaks
Most of this is just not mentioning things that need not be mentioned
anymore, but there's one slight style tweak which I think is better,
from

    case Foo: {
        ...
        break;
    }

to

    case Foo: {
        ...
    } break;

which is a little clearer that all paths through case Foo break
when the contents of the {} block become complicated.

Change-Id: Id7fe5ab09437006d125313b07862613316dd403c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312576
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-08-24 13:37:28 +00:00
Tomasz Moniuszko
487d285be9 Remove duplicated header file from sources
It is on skia_sksl_gpu_sources list already.

Bug: skia:10650
Change-Id: I1e4bb0b2346ad8a74ddbdb3d3ff44ea7de6c0cd3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312736
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-24 13:30:32 +00:00
Mike Klein
216b984d39 delete nullptr,0 section of style guide
The nullptr/0 distinction should go without saying,
and I think worrying about any of the rest just burns brainpower.

Change-Id: I7d0aea300f114e512437c3820f4e80a1408575c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312472
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-24 13:17:09 +00:00
skia-autoroll
3cdc259008 Roll SwiftShader from 44e1791f100c to 622558b02e1a (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/44e1791f100c..622558b02e1a

2020-08-21 srisser@google.com Revert "Add getPhysicalDeviceFeatures2"
2020-08-21 msisov@igalia.com X11 and Ozone: Try to check for display type when creating framebuf
2020-08-21 capn@google.com Perform independent blend state optimization

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 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:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: mtklein@google.com
Change-Id: I8d3c3c2bcbdb473fd8793c7a33e8101e8f1f1f7f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312701
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-24 04:46:07 +00:00
skia-autoroll
8ce1a8c39c Roll ANGLE from d3e800e9ad66 to 4f7edbe1f6f0 (15 revisions)
d3e800e9ad..4f7edbe1f6

2020-08-23 jmadill@chromium.org State: Add dirty object for active textures.
2020-08-23 dpranke@google.com Set use_xvfb where needed in test wrappers.
2020-08-23 lehoangq@gmail.com Metal: Implement GL_OES_texture_3D
2020-08-23 lehoangq@gmail.com D3D11: Disable OES_texture_3D.
2020-08-23 lehoangq@gmail.com Metal: Implement EXT_draw_buffers & ANGLE_framebuffer_blit
2020-08-22 cclao@google.com Vulkan: Use context staging buffer for copyImageDataToBuffer
2020-08-22 cnorthrop@google.com Capture/Replay: Fixes for PUBG:Mobile
2020-08-21 jmadill@chromium.org Feedback Loop Redesign 3/3: Remove feedback loop tracking.
2020-08-21 ianelliott@google.com Vulkan: Fix compilation error
2020-08-21 ianelliott@google.com Vulkan: do not end render pass when invalidating
2020-08-21 jmadill@chromium.org Remove feedback loop support from back-end.
2020-08-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from 2979391e5b0c to e1c7eaa74142 (1 revision)
2020-08-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from a711c594b8cc to b79773a35d52 (1 revision)
2020-08-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from cbfd396756c6 to 44e1791f100c (1 revision)
2020-08-21 cclao@google.com Vulkan: Rename mStagingBufferStorage to mStagingBuffer

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:816629
Tbr: mtklein@google.com
Test: Test: Capture first 2000 frames of PUBG:MobileTest: Test: PUBG MOBILE on AndroidTest: 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: Ic115bb23eed6904e9292db4b52f670c2296fe38d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312702
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-24 04:41:42 +00:00
skia-autoroll
0143dcc634 Roll Chromium from d3d82066e322 to 65295ec3eca4 (458 revisions)
d3d82066e3..65295ec3ec

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: I975fe9f48a3acfbde64f961e89616de6e38597c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312699
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-24 04:41:02 +00:00
skia-autoroll
60cf6748ad Roll dawn from e8dc820fbc1e to ef7447334713 (2 revisions)
https://dawn.googlesource.com/dawn.git/+log/e8dc820fbc1e..ef7447334713

2020-08-23 jiawei.shao@intel.com Fix issues in end2end tests for enabling buffer lazy clear by default
2020-08-22 cwallez@chromium.org Tiny cleanup of GetMappedRange.

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: Idc69e0e3b95e3267904b791965b1487a0b4327bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312700
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-24 04:29:02 +00:00
Mike Reed
370cbc70e0 remove legacy signatures
Change-Id: I2b12d938d29b71408eb4d35988c8e66b5421c3af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312638
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-08-23 01:07:52 +00:00
Mike Reed
d16d654762 use pathbuilder
Change-Id: I996e4ad9a603db42d9ae750488db44ee3e84d742
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312637
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-08-22 19:33:32 +00:00