Commit Graph

47784 Commits

Author SHA1 Message Date
Mike Klein
9bb88673f5 start on operand refactoring
This introduces Mem, a way of expressing x86 addressing:

   addr = base reg + offset imm + (scale imm * index reg)

using the usual x86 convention of index = rsp to indicate no index.

And then, this introduces GP64Operand and YmmOperand, which are
generalizations like YmmOrLabel that fold over all the types of
arguments available at that position.  (YmmOperand replaces YmmOrLabel).

There's still much to do, but I've started by generalizing most
of the Ymm instructions to take YmmOperand, and added some new
unit tests for vmovdqa to make sure all the various modes work.

Change-Id: Ie6cc1186310ff39c52a2a061431a91d10816c98a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283344
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-15 20:41:09 +00:00
Tyler Denniston
a625f9250c [svg] Fix translate() with no ty specified.
No specified ty should be treated as 0. Test is coords-trans-12-f.

Change-Id: I5a3d0299e59933139b0ca77ebf797080b7ddaa1a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283776
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2020-04-15 20:36:06 +00:00
Julia Lavrova
cff970c0fc MinIntrinsicWidth should ignore placeholders
Bug: skia:10138
Change-Id: I394560dbfc3fcad11aedd17957c72d56bd14912d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283642
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-04-15 20:25:56 +00:00
Tyler Denniston
8ac25c44cb [svg] Improve color value parsing
- Accept fractional rgb(...) component values (CSS2 spec). Related test
  is color-prop-02-f.
- Don't set fCurPos to null when parsing fails.

Change-Id: I3acbd5dfd98c9ff61ba53f3695a32800b1575944
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283643
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2020-04-15 20:08:37 +00:00
Brian Osman
03e20ffa9a Cache inverse matrices in SkMarkerStack
Change-Id: I8dc74feaee91e99c294348b8092f5839fa9fa693
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283676
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-04-15 20:08:26 +00:00
Stephen White
b641ddbba0 Refactor GL and Metal FinishCallback into a helper object.
Change-Id: I52ede0363016459976e453ef71cafbcc6775f22e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283496
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-04-15 19:59:48 +00:00
Mike Reed
0f1f87d7bd transition matrix44 to opt-in only
In service of https://chromium-review.googlesource.com/c/chromium/src/+/2067862/

Change-Id: Ib6fd24c16c295fb4211dc295268af1e6f7f3fc45
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283661
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-15 18:34:26 +00:00
Mike Klein
484b63b1a5 report all test errors in fm
Change-Id: Ifa25a44a75c6c193a8bd0780bda0f016fe3cbc31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283675
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-04-15 18:10:46 +00:00
Herb Derby
31f6d043af Schedule using tree order traversal the DAG.
Trace out the tree from the DAG. Trace nodes
with fan-out > 1 after all out edges have been traced.

Change-Id: Ic078d212adf95a19146fcbd9fb8d103ea23360ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283557
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-04-15 17:13:06 +00:00
Robert Phillips
9ff1d841f6 Revert "Update DDL test harness to use backendTextures to back tiles"
This reverts commit 7ae9d2fca6.

Reason for revert: Triggering Vulkan Debug layer errors

Original change's description:
> Update DDL test harness to use backendTextures to back tiles
> 
> This better matches Chrome's use of DDLs.
> 
> With path, image, and text draws stripped out, here is the perf impact of this change:
> 
>            before CL   after CL
> w/ DDLs      7.792      1.038
> w/o DDLs     0.800      0.876
> 
> This perf improvement (in the DDL case) is from backend texture wrapping SkSurfaces being created w/o initialization. The prior method of SkSurface creation was resulting in double clearing of all the surfaces.
> 
> This perf improvement won't be seen by Chrome since they've always being using wrapped backend texture SkSurfaces.
> 
> TBR=bsalomon@google.com
> Change-Id: Ice3993ca125fce37804e58c353c265cf659dbe2f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283456
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

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

Change-Id: Ife023ede0774ec2cce4c0d6e7708c036347ebf54
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283648
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-04-15 16:22:17 +00:00
Robert Phillips
7ae9d2fca6 Update DDL test harness to use backendTextures to back tiles
This better matches Chrome's use of DDLs.

With path, image, and text draws stripped out, here is the perf impact of this change:

           before CL   after CL
w/ DDLs      7.792      1.038
w/o DDLs     0.800      0.876

This perf improvement (in the DDL case) is from backend texture wrapping SkSurfaces being created w/o initialization. The prior method of SkSurface creation was resulting in double clearing of all the surfaces.

This perf improvement won't be seen by Chrome since they've always being using wrapped backend texture SkSurfaces.

TBR=bsalomon@google.com
Change-Id: Ice3993ca125fce37804e58c353c265cf659dbe2f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283456
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-04-15 16:07:47 +00:00
Brian Salomon
5ed3c2fe43 Reland "GaussianConvolutionFragmentProcessor uses GrTextureEffect."
This is a reland of eb48024f8b

No change from original, additional layout test suppression landed.

Original change's description:
> GaussianConvolutionFragmentProcessor uses GrTextureEffect.
>
> Also removes now unused GrShaderVar::appendArrayAccess.
>
> Bug: skia:10139
>
> Change-Id: Ic2583a6822e88510551b1031f3fb130266b3f395
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283440
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

Bug: skia:10139
Change-Id: I890adc703b6077b6813ca6cb9f5211761e16a13e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283637
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-04-15 15:11:26 +00:00
Brian Osman
d1afef6b18 Support markers (custom matrices) in SkVertices Attributes
Bug: skia:9984
Change-Id: Ie799ffa19304978e2076f9ba790e8a34c1b03adf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283225
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-04-15 14:30:46 +00:00
Mike Reed
d276e3f009 SkMatrix44 is deprecated: use SkM44 instead
Change-Id: I9a269b9c0c3cda29d06827d016db3a3f963a91fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283504
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-15 13:30:46 +00:00
Brian Salomon
68626439f3 Revert "GaussianConvolutionFragmentProcessor uses GrTextureEffect."
This reverts commit eb48024f8b.

Reason for revert: Failing additional layout test on Win10

Original change's description:
> GaussianConvolutionFragmentProcessor uses GrTextureEffect.
> 
> Also removes now unused GrShaderVar::appendArrayAccess.
> 
> Bug: skia:10139
> 
> Change-Id: Ic2583a6822e88510551b1031f3fb130266b3f395
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283440
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

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

Change-Id: I7403e97c51ba966e52679b5a048a962795c4271b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10139
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283636
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-04-15 12:56:28 +00:00
skia-recreate-skps
e6995c74cd Update Go Deps
Change-Id: I1438f657f6125fe87a9c2855fd0ca610e9269ca8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283616
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-04-15 05:35:35 +00:00
skia-autoroll
ec999dd23e Roll third_party/externals/angle2 dee4d7a54e44..6e0d718a48d8 (10 commits)
dee4d7a54e..6e0d718a48

git log dee4d7a54e44..6e0d718a48d8 --date=short --first-parent --format='%ad %ae %s'
2020-04-14 hckim.kim@samsung.com Vulkan: Implement device memory sub-allocation
2020-04-14 shrekshao@google.com Add DrawBaseVertexVariants Tests
2020-04-14 tobine@google.com doc: Add note on Vulkan-Headers repo
2020-04-14 xinyi.he@arm.com Enable perFrameWindowSizeQuery by default on Mali
2020-04-14 cnorthrop@google.com Tests: Update dEQP KHR GLES 3.1 expectations
2020-04-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 9d2fd9c161ab..711867566999 (3 commits)
2020-04-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 46572440189e..4d2298bfd78a (1 commits)
2020-04-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 490e39372126..ae0f0ead3a56 (1 commits)
2020-04-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 34be23373b9e..e70d25f6fa5d (3 commits)
2020-04-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 019f4e38eb79..f89de66a9bcb (7 commits)

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

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 kjlubick@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Cq-Include-Trybots: skia/skia.primary:Build-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: kjlubick@google.com
Change-Id: Ibd5bb5188238b845b5a7c9174052ab9ea07c4c0c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283584
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-15 05:09:15 +00:00
skia-autoroll
fa9ff895d4 Roll ../src 8ab2643175bc..cddb357f385b (417 commits)
8ab2643175..cddb357f38


Created with:
  gclient setdep -r ../src@cddb357f38

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 kjlubick@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
Tbr: kjlubick@google.com
Change-Id: I263f02c1247ee512c7ae874979d9c9ae284dca00
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283582
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-15 04:41:35 +00:00
skia-autoroll
3f061b5b92 Roll third_party/externals/swiftshader 711867566999..81e08df29531 (9 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/711867566999..81e08df29531

git log 711867566999..81e08df29531 --date=short --first-parent --format='%ad %ae %s'
2020-04-15 sugoi@google.com Fix fragments depth values not being clamped
2020-04-14 amaiorano@google.com CMake: split out Vulkan sources into separate CMakeLists
2020-04-14 bclayton@google.com Device: Rename RoutineCacheT to RoutineCache
2020-04-14 bclayton@google.com Device: Don't inherit [Vertex,Setup,Pixel]Processor.
2020-04-14 digit@google.com [vulkan] Implement VK_FUCHSIA_external_memory extension.
2020-04-14 capn@google.com Reuse Store logic for Modf and Frexp output parameters
2020-04-14 capn@google.com Separate Operand store logic from EmitStore()
2020-04-14 capn@google.com Only store component count in Operand
2020-04-14 capn@google.com Rename size/sizeInComponents to componentCount

Created with:
  gclient setdep -r third_party/externals/swiftshader@81e08df29531

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 kjlubick@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: kjlubick@google.com
Change-Id: Iee827a407a1aa519b06fc9b763eacf98b1d55c53
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283583
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-15 04:34:15 +00:00
Mike Klein
151ffbb449 clean up SK_SUPPORT_LEGACY_COLORFILTER_NO_SHADER
Change-Id: Ibbb09aa820bd20ee6b3bc05ed4eb137fcba54d2b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283579
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-15 01:29:45 +00:00
Herb Derby
9f64f7a068 Fix to change reject behavior back to original
The original code would reject glyphs that were too large
(!canDrawAsMask or !canDrawAsSDFT). After CL/251760 this behavior
was change so, that glyphs were only rejected once,
and then never again. The next stage (path, etc.) would then not
know to send a glyph in future draws. This code allows glyphs
that can't draw as mask and can't draw as SDFT be rejected.

I don't have a unit test yet.

BUG=chromium:1058517

Change-Id: I6117bc96a8f306be63ffea17b9f4a34e7388645e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281724
Reviewed-by: Khushal Sagar <khushalsagar@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-04-15 00:43:35 +00:00
Mike Klein
01d42b182d MSAN fix for interpreter
MSAN points out we oughta initialize anywhere we pull a trick like this,

    ptr[*ip+0] = skvx::if_then_else(mask(), POP().fFloat, ptr[*ip+0].fFloat);

Change-Id: I321f0d54b7f0f048df2e942dd70a6fabf6fd4efb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283493
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-14 22:10:45 +00:00
Brian Salomon
eb48024f8b GaussianConvolutionFragmentProcessor uses GrTextureEffect.
Also removes now unused GrShaderVar::appendArrayAccess.

Bug: skia:10139

Change-Id: Ic2583a6822e88510551b1031f3fb130266b3f395
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283440
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-04-14 21:47:35 +00:00
Brian Salomon
63410e921c Pass description of GrSurface to GrSurfaceProxy lazy callbacks.
Also make GrDynamicAtlas directly use the GrSurface callback type rather
than go through a springboard.

Change-Id: I3e3c155bbc1e2e794e0d6828b0ea3c64c6a7f3e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283226
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-04-14 21:34:05 +00:00
Greg Daniel
78be37f5cd Only call glFlush in submit when it is required.
Bug: chromium:1070474
Change-Id: I9131c3d931ec0d861fff4d92549d5d3fce8a123f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283503
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-04-14 21:07:14 +00:00
Herb Derby
a769ec5b5f Remove scheduler instruction dump
And abstract out writing a single instruction to
share between the dumps.

TBR=mtklein@google.com

Change-Id: I5e129889131b5581d61a0359a06643edeb0ef2ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283505
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-04-14 20:56:44 +00:00
Herb Derby
6e147e0081 Instruction dumper with extra notations
TBR=mtklein@google.com

Change-Id: Ia8ec221b08d4f804f0d6a2ba813ac974499b8fa0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283498
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-04-14 19:29:14 +00:00
Robert Phillips
44e2c5f0ba Add render task type to flush-time op spew
In the flush-time op spew it is clear which renderTasks are the Ops-based ones. This clarifies which of the other varieties occur.

Change-Id: I0e55b93f6e8d3cc0d9a9223f9c0ba967eeebb633
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283483
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-04-14 19:09:54 +00:00
Tyler Denniston
308c07212a [svg] Implement currentColor for gradient stops
Required introducing a new type for stop-color attribute. A test that
exercises this is 'color-prop-01-b'.

Note that stop-color should be an inherited presentation attribute, but
that is not addressed in this CL.

Change-Id: I65b99bfc989f1d4b5a0746de31011b0e72eb6c59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282592
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-04-14 16:20:44 +00:00
Jim Van Verth
2b9f53edc0 Some D3D cleanup.
* Init D3D texture resources to an appropriate resource state
* Standardize struct initialization

Bug: skia:9935
Change-Id: Ie7113457d59503a25d60b7dc045fae670cf7aebf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283358
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-04-14 16:17:44 +00:00
Mike Reed
14f62de958 SkCamera.h is deprecated
Change-Id: I57bd99f2bddb7ac182f7830245c9d342d2adda62
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283430
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-14 16:15:14 +00:00
Ethan Nicholas
5843012837 Add sample(child, matrix) to SkSL.
This allows fragment processors to sample their children with their
local coordinate system transformed by a matrix.

Change-Id: Ifa848bbd85b939bbc5751fec5cf8f89ee904bf39
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282590
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-04-14 16:07:34 +00:00
Weston Tracey
505dc179b0 Move Pixelbook build jobs to Docker Debian9.
-Make generated build tasks for Pixelbook use Debian9...Docker and rename those in jobs.json
---Non-Pixelbook ChromeOS build tasks now use regular Debian10, as they seem to handle it fine.
---Removed 2 Build-Debian9-Clang-arm-.*-Chromebook_GLES jobs, since they are now unused.
-Added docker logic to chromebook.py, refactored to handle the differing directory structure (TODO to simplify)
---Added docker-chromeos-compile.sh to run in the container.
---util function to convert to string that can be used in the python or passed to bash (cribbed from docker.py, will consolidate in later CL)
-Prerequisite for upgrading the last 10% of the fleet to Debian10

Bug: skia:9438
Change-Id: I0727aad2d00383e568ddbeea98d56d42bcca26e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282678
Commit-Queue: Weston Tracey <westont@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-04-14 16:05:34 +00:00
Mike Reed
eb1d5a2e23 Move markerstack into its own object:
- owned by canvas
- pointed to by devices

Change-Id: Ia5abc60434cd34810ceea09ecab63c6b25eb972e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283436
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-14 13:43:34 +00:00
Brian Osman
efb084025e Fail gracefully in SkSLSlide on raster backend
The SlotCount of unsupported types (eg, fragmentProcessor) is zero,
causing things like vector_instruction to assert. Bail out before that
happens.

Change-Id: I24440bd67f09c2a645a54392185716b116f36ec6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283357
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-04-14 13:01:24 +00:00
Weston Tracey
871d40b74c [infra] Add Debian9 docker image.
Currently used by ChromeOS/Pixelbook build jobs and WIP Flutter Android jobs.

Bug: skia:9438
Change-Id: I25072814291670829d1c24bbad4e718022311455
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282619
Commit-Queue: Weston Tracey <westont@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Auto-Submit: Weston Tracey <westont@google.com>
2020-04-14 12:47:14 +00:00
skia-recreate-skps
ad653d8378 Update Go Deps
Change-Id: I310f201acdef1f307311d6a69bc3434afc3dc643
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283415
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-04-14 05:27:04 +00:00
skia-autoroll
76ec16d7da Roll third_party/externals/angle2 cf2c8e6068c8..dee4d7a54e44 (5 commits)
cf2c8e6068..dee4d7a54e

git log cf2c8e6068c8..dee4d7a54e44 --date=short --first-parent --format='%ad %ae %s'
2020-04-13 cclao@google.com Vulkan: Early fragment tests optimization
2020-04-13 tobine@google.com Vulkan: Roll Headers and VVL repos
2020-04-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src fd593d5f0834..46572440189e (1 commits)
2020-04-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 2fd41fab58c8..490e39372126 (2 commits)
2020-04-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader e6f65d9265e7..9d2fd9c161ab (2 commits)

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

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 kjlubick@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Cq-Include-Trybots: skia/skia.primary:Build-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: kjlubick@google.com
Change-Id: Ib83c7fc29e95918c3f46cbff38286f3fdb73fdc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283407
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-14 04:45:13 +00:00
skia-autoroll
0aa19c7b4a Roll ../src 94450aa98694..8ab2643175bc (253 commits)
94450aa986..8ab2643175


Created with:
  gclient setdep -r ../src@8ab2643175

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 kjlubick@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
Tbr: kjlubick@google.com
Change-Id: Ic3bb954bb3dbb53b9038a5f2c2ff3213e97feac0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283405
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-14 04:41:33 +00:00
skia-autoroll
f50063625a Roll third_party/externals/swiftshader 9d2fd9c161ab..711867566999 (3 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/9d2fd9c161ab..711867566999

git log 9d2fd9c161ab..711867566999 --date=short --first-parent --format='%ad %ae %s'
2020-04-14 capn@google.com Use the type and result ID helpers
2020-04-14 capn@google.com Obtain type ID from instruction
2020-04-14 capn@google.com Add helper methods for obtaining type and result ID

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

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 kjlubick@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: kjlubick@google.com
Change-Id: Id2f31440df5913b205e68101f84a54f4b4c9d121
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283406
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-14 04:30:33 +00:00
Zhenyao Mo
4f17b60208 Use Dawn's BUILD.gn instead of defining another one for Skia.
Bug: chromium:1064305

Change-Id: I10ca629ff88a5492bb9f89075f6d92094340ff55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282076
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Zhenyao Mo <zmo@google.com>
2020-04-13 23:26:31 +00:00
Mike Reed
1b84ef2b50 [skvm] approx_atan2
I propose landing this, but then pause on extending math functions until
we develop a clearer migration story for sksl.

Change-Id: Id42ec37071da058e6e7809abe1ed0570d48df8e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283229
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-13 22:31:40 +00:00
Zhenyao Mo
9378b8016c Roll Dawn 6574f92747a2..582e5284d0f6
https://dawn.googlesource.com/dawn.git/+log/6574f92747a2..582e5284d0f6

2020-04-13 yunchao.he@intel.com Support none visibility binding in bind group
2020-04-13 cwallez@chromium.org Fix another -Wc++11-narrowing on ChromeOS
2020-04-13 enga@chromium.org Cleanup: Rename dawn_wire Object "serial" to "generation"
2020-04-13 enga@chromium.org Tombstone exhausted ObjectIds in the wire
2020-04-13 cwallez@chromium.org Metal: Fix MSAA workaround texture being leaked.
2020-04-13 cwallez@chromium.org Fix -Wc++11-narrowing on ChromeOS
2020-04-13 cwallez@chromium.org Make dawn_native link against user32.lib on Windows
2020-04-13 zmo@chromium.org Fix more compilation warnings.
2020-04-11 zmo@chromium.org Fix more compilation warnings.
2020-04-10 zmo@chromium.org Fix two warnings.
2020-04-10 bryan.bernhart@intel.com D3D12: Bucket CPU descriptor allocators on the device.
2020-04-10 cwallez@chromium.org Fix the CMake build because of CMP0077
2020-04-10 cwallez@chromium.org Split third_party/BUILD.gn in per-project files.
2020-04-10 cwallez@chromium.org Split examples, test and utils in their own BUILD.gn
2020-04-09 brandon1.jones@intel.com Residency 6: Enable D3D12 Residency and Add Tests
2020-04-09 brandon1.jones@intel.com Residency Bug: Make Setting Heap's Last Submission Serial Optional
2020-04-09 enga@chromium.org Fix use-after-free if BindGroup is the last owner of its BindGroupLayout

Bug: chromium:1064305
TBR=cwallez@chromium.org
Change-Id: I601058bf17c22519e5353e6d17d1434a89a06a6a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282973
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
2020-04-13 22:16:10 +00:00
Greg Daniel
c9624d5c73 Add sample quality to GrD3DTextureResourceInfo.
Change-Id: I3a33d2f80fcb243faec40b13960ea0310723e53e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283356
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-04-13 21:10:31 +00:00
Greg Daniel
ed4e52c379 Fill in the rest of the d3d pipeline besides shaders and root descriptor.
Change-Id: Ie21dece49a891f5c2dec5fe9385489ece88ae690
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283222
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-04-13 19:25:31 +00:00
Mike Klein
45d9cc86b3 remove i16x2 ops
These are neat but mostly just a distraction for now.
I've left all the assembly in place and unit tested
to make putting these back easy when we want to.

Change-Id: Id2bd05eca363baf9c4e31125ee79e722ded54cb7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283307
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-04-13 19:08:11 +00:00
Mike Klein
cb5110443f impl uniform16
One new instruction movzwl needed.

Change-Id: Ic70ba34d667eb6d570aeca88c4243e0c3309525f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283305
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-13 19:04:11 +00:00
Mike Klein
dec8ed65dd remove some integer comparison ops
They're all best implemented as compound operations,
either by swapping the arguments or bit-negating the
result, or both.

Change-Id: I429c10182b66be7211e9170037755cea617895ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283299
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-04-13 18:48:42 +00:00
Mike Klein
10fc1e66a9 skvm unit test cleanup
- let skvm tell us if FMAs are supported
  - unguard previously LLVM-only tests
  - simplify testing JIT and interpreter

We're getting close enough to always being able to JIT that carefully
marking what JITs and what doesn't is more annoying than helpful.
Now just test the JIT if present, and always test the interpreter.

Change-Id: I83762b38e0773ccaee795ae0fc9907e86628d73e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283275
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-04-13 18:48:01 +00:00
Robert Phillips
f3953d04a0 Non-substantive GrText-related changes
These are the dregs of the omnibus GrDrawOpAtlas CL

Change-Id: I0723346db293dd6650b905f661053955d2f46a1d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279908
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-04-13 18:10:29 +00:00