Commit Graph

53800 Commits

Author SHA1 Message Date
Brian Salomon
659e71f474 Reland "Fix issues with insetting and outsetting quads."
This is a reland of 4a281dc8ee

Original change's description:
> Fix issues with insetting and outsetting quads.
>
> Need more degrees of freedom when moving 3D points to project to 2D
> points that don't fall on the projected quad edges.
>
> Need to check geometry subset in shader to avoid positive coverage in
> outset quads with nearly parallel edges.
>
> Bug: chromium:1177833
> Change-Id: I0759382d9221ba44aacd537254e08d9f2716a6af
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372196
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

Bug: chromium:1177833
Change-Id: Icf2b11334489c12f30e792526093c0d4bbaca5e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375058
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-02-25 17:44:12 +00:00
Weston Tracey
31ece716be Retarget GTX960 jobs to new drivers.
2/4 of the machines upgraded their drivers, confirmed jobs work on
updated machines and upgraded 1 of the outdated machines to match.
Will upgrade the last one after this lands.

Change-Id: Ib1485767733b3907d0bac3d6c341fa8e434aa0c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375614
Commit-Queue: Weston Tracey <westont@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2021-02-25 17:02:08 +00:00
Adlai Holler
07e11d48cb Support sharing promise images between DDLs
- Migrate our code to SkImage::MakePromiseTexture
- Have DDLTileHelper share one SKP and one set of promise images across all tiles.
- Disallow on-the-fly allocation of mips for promise textures.

Bug: skia:10286
Change-Id: Ie35976958454fc520f3c9d860e6285441260c9f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/291938
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-02-25 17:00:19 +00:00
Weston Tracey
be20d15889 Rename Test-Mac10.15.1-Clang-VMware7.1-CPU-AVX-x86_64-Debug-All-NativeFonts
to use 10.15.7.

It seems the 2 bots we had running 10.15.1 in Golo were upgraded in the past few days.

Change-Id: Id2e200ff8d0b2fe49ca5a01c99cf38c4051ef442
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375612
Commit-Queue: Weston Tracey <westont@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2021-02-25 16:52:14 +00:00
Weston Tracey
a77620bf09 Add Radeon GPU Metal initial tests.
All other tests (DLL, etc) appear to work with this change, but until
we reallocate some more Golo VMs, we don't have capacity to run
more than a few.

Bug: skia:10782
Change-Id: I909dcdd4ce3a597062e6286e3391854fe7229d90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375121
Reviewed-by: Eric Boren <borenet@google.com>
2021-02-25 16:52:14 +00:00
Chris Dalton
4ac9aadd30 Make it possible to enable hw tessellation outside of test builds
Bug: chromium:1172543
Change-Id: I9733a8758d902a8d46d442de5d099d923efc2184
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375376
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-02-25 16:21:09 +00:00
Mike Klein
45c57e116e Revert "Remove CapsMap from IR Generator."
This reverts commit 6394bb43cb.

Reason for revert: chrome roll still,

Dumping static initializers via dump-static-initializers.py:
#  SkSL::CapsLookupTable::CapsLookupTable(std::initializer_list<std::__1::pair<char const*, SkSL::CapsLookupMethod*> >)


Original change's description:
> Remove CapsMap from IR Generator.
>
> Previously, the IRGenerator's fCapsMap was a lookup table from caps-name
> to caps-value.
>
> This has been replaced with a lookup table from caps-name to
> caps-lookup-method. This is more general-purpose; you can initialize it
> once and it always works, instead of needing to initialize it based on
> a static set of caps.
>
> The next step after this CL is to migrate this logic into Settings and
> remove caps handling from the IR Generator entirely.
>
> Change-Id: I09fc8220f8d5bf297033adbaf4c955f2ce0589cf
> Bug: skia:11365, skia:11319
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375074
> 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>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com

Change-Id: I3c3ffcac153faf068b0698ac2e32dbe4896e6ee4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11365
Bug: skia:11319
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375677
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-25 13:23:09 +00:00
Florin Malita
4903482a2a Revert "Add DSL PossibleExpression & PossibleStatement"
This reverts commit d42932a1b5.

Reason for revert: Breaking CMake and SKQP builds.

Original change's description:
> Add DSL PossibleExpression & PossibleStatement
>
> These are currently unused, but in future CLs they will be used to
> capture line number information in DSL error handling.
>
> Change-Id: Ieee730e0ad8323043437972fedb5bec471c367e4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375069
> Reviewed-by: John Stiles <johnstiles@google.com>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com

Change-Id: I2062c9964569c9129a2145f9e45f849310129687
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375658
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-02-25 13:19:19 +00:00
Florin Malita
3a4e19da8e Revert "SkSL DSL now reports the C++ line numbers of errors"
This reverts commit 8a43a2889e.

Reason for revert: Prereq revert for https://skia-review.googlesource.com/c/skia/+/375069

Original change's description:
> SkSL DSL now reports the C++ line numbers of errors
>
> This is done a best-effort basis. Positions will only be reported in
> Clang and GCC, and may not be reported in every possible situation.
>
> Change-Id: I7efb15781546b95e667fee34e488366174bb5f36
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374600
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com

Change-Id: I173cb355533d6f99c9561177b68f56924fe8a98f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375657
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-02-25 13:17:59 +00:00
Mike Klein
e79bb32365 Revert "Migrate caps-bit lookup code from IRGenerator to Setting."
This reverts commit c5ab6fe388.

Reason for revert: Chrome roll,
https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8854325862539635248/+/steps/check_static_initializers__with_patch_/0/stdout

Original change's description:
> Migrate caps-bit lookup code from IRGenerator to Setting.
>
> This CL moves existing code from point A to point B; the logic should be
> the same as before.
>
> Change-Id: I90c39588531a34f74c4b1802a7c692c08ddc4f16
> Bug: skia:11365
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375075
> Commit-Queue: John Stiles <johnstiles@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com

Change-Id: I272eaf6ca55c75527538732c1582a26d243572b5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11365
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375676
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-25 13:06:19 +00:00
skia-autoroll
61a10b649a Roll SwiftShader from 22186f076bf3 to 349abccec8f7 (6 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/22186f076bf3..349abccec8f7

2021-02-24 sugoi@google.com Conditionally enable the XCB WSI extension
2021-02-24 sugoi@google.com Conditionally enable the Xlib WSI extension
2021-02-24 sugoi@google.com New mechanism to easily disable extensions
2021-02-24 capn@google.com Remove legacy optimization passes.
2021-02-24 amaiorano@google.com Kokoro: fix Windows builds to correctly use %BUILD_TYPE%
2021-02-24 amaiorano@google.com VulkanWrapper: fix failure to load headless surface extension

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 fmalita@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: fmalita@google.com
Change-Id: I0a6ab12326e854d27f0c9b55e8c38154fb4fafcb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375477
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-25 05:53:59 +00:00
skia-autoroll
d7e2d5cadf Roll ANGLE from 39d7fc187554 to 9b1c569b14e9 (13 revisions)
39d7fc1875..9b1c569b14

2021-02-24 m.maiya@samsung.com Vulkan: Handle vertex count and primitive mode error cases in TS
2021-02-24 m.maiya@samsung.com Vulkan: Shader support for EXT_shader_framebuffer_fetch_non_coherent
2021-02-24 syoussefi@chromium.org Vulkan: Fix missing visibility barrier for glReadPixels
2021-02-24 syoussefi@chromium.org Vulkan: Fix PBO read pixels with unaligned output pitch
2021-02-24 syoussefi@chromium.org Vulkan: Optimize glMemoryBarrier more
2021-02-24 cnorthrop@google.com Capture/Replay: Fix compressed texture level caching
2021-02-24 cnorthrop@google.com Docs: Update ANGLE trace creation steps
2021-02-24 amy.liu@arm.com Fix crash of MultithreadingTest end2end tests.
2021-02-24 jmadill@chromium.org Stubs for OpenCL entry points.
2021-02-24 lubosz.sarnecki@collabora.com Remove redundant (c) from license headers.
2021-02-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from ca177df9b948 to 55434360b05d (16 revisions)
2021-02-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from d163fd7c6905 to b90646417bd3 (481 revisions)
2021-02-24 syoussefi@chromium.org Add a test for sample after deferred clear

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: fmalita@google.com
Test: Test: *EXTShaderFramebufferFetchNoncoherent*.*Test: Test: Recapture Asphalt 8Test: Test: dEQP-GLES31 -
Change-Id: Ib0a9476dc655bed373463c2dddf3e8b51e1ef44d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375478
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-25 05:16:27 +00:00
skia-autoroll
09a6587e49 Roll Dawn from 1024d6e1873c to 0a295c027d81 (21 revisions)
https://dawn.googlesource.com/dawn.git/+log/1024d6e1873c..0a295c027d81

2021-02-24 brandon1.jones@intel.com Reset Internal D3D12 Device After Test Shutdown
2021-02-24 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from eb496d0a4d51 to 80cb20de7ca4 (3 revisions)
2021-02-24 enga@chromium.org Add comment that memberLength for-loop cannot overflow
2021-02-24 dsinclair@chromium.org Revert "Use upstream SPIRV-Cross GN files."
2021-02-24 senorblanco@chromium.org Set the default ANGLE backend to swiftshader for example code.
2021-02-24 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 8b1851dbdc75 to eb496d0a4d51 (4 revisions)
2021-02-24 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 00eb8dfa8bd9 to 8b1851dbdc75 (4 revisions)
2021-02-24 bclayton@google.com Use tint::transform::Spirv
2021-02-23 senorblanco@chromium.org Fix the ComputeBoids sample on the OpenGL backend.
2021-02-23 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 767df5f03b97 to 00eb8dfa8bd9 (1 revision)
2021-02-23 shrekshao@google.com No-ops for out of bounds drawIndexed
2021-02-23 jiawei.shao@intel.com Remove some useless #include files and forward declarations
2021-02-22 cwallez@chromium.org Mark Create*PipelineAsync as unsafe because it is WIP
2021-02-22 cwallez@chromium.org Rename CreateReady*Pipeline to Create*PipelineAsync
2021-02-19 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 4c4ceeea9d52 to 767df5f03b97 (4 revisions)
2021-02-19 senorblanco@chromium.org OpenGL ES: implement compressed texture support.
2021-02-19 enga@chromium.org Fix Vulkan leak if vkMapMemory fails
2021-02-19 enga@chromium.org Simplify ErrorScopes
2021-02-19 cwallez@chromium.org Use upstream SPIRV-Cross GN files.
2021-02-19 enga@chromium.org Fix the Windows build
2021-02-19 yunchao.he@intel.com Add a validation test for compressed texture with mipmaps

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 4c4ceeea9d52 to 80cb20de7ca4

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 dsinclair@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: dsinclair@google.com
Change-Id: Ib87ebe2664e61144d2552580bf74239a3177a4cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375496
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-25 05:03:17 +00:00
Chris Dalton
bb33be21cf Use SIMD to update hw tessellation tolerances
Bug: chromium:1172543
Change-Id: I223566197d1f2fd5fea07302f48ab89f50a36187
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374840
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-25 00:33:48 +00:00
Ethan Nicholas
8a43a2889e SkSL DSL now reports the C++ line numbers of errors
This is done a best-effort basis. Positions will only be reported in
Clang and GCC, and may not be reported in every possible situation.

Change-Id: I7efb15781546b95e667fee34e488366174bb5f36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374600
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-02-24 22:20:31 +00:00
skia-recreate-skps
11ca3f923c Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I89de42a39590b4bb791f3c129d3ac360f8705902
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375193
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-02-24 22:17:16 +00:00
John Stiles
c5ab6fe388 Migrate caps-bit lookup code from IRGenerator to Setting.
This CL moves existing code from point A to point B; the logic should be
the same as before.

Change-Id: I90c39588531a34f74c4b1802a7c692c08ddc4f16
Bug: skia:11365
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375075
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-24 22:15:26 +00:00
Brian Osman
029851d951 Remove fragmentProcessor field access
Change-Id: Iafeb13812851271a5262730e9c0642d4469c273f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375020
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-24 21:33:36 +00:00
Herb Derby
c15c19c6e1 make GrTextBlobCache::remove thread safe
Change-Id: I48979516c13fcfedcb9580e05c899d800553d55a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375072
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2021-02-24 21:23:18 +00:00
Brian Osman
c826a1caec Remove the last use of fragmentProcessor field access in .fp files
This is a complex feature that was propping up this one use-case. After
this CL, it can be removed.

Change-Id: Ia391565daddeba46adfb325980d10ad653e269c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375019
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-24 21:21:04 +00:00
Chris Dalton
948baff2b5 Speed up handling of "bowtie" joins in the hw tessellator
Bowtie joins are only used on internal chops, and in that case, they
are only needed on cusps. Rather than measuring the angle to see if we
need the bowtie, we can just detect if the chop was at a cusp instead.

Bug: chromium:1172543
Change-Id: I5efe4df1fb10dd850b65e0f85415d7791e196cd3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/373797
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-02-24 21:19:56 +00:00
John Stiles
6394bb43cb Remove CapsMap from IR Generator.
Previously, the IRGenerator's fCapsMap was a lookup table from caps-name
to caps-value.

This has been replaced with a lookup table from caps-name to
caps-lookup-method. This is more general-purpose; you can initialize it
once and it always works, instead of needing to initialize it based on
a static set of caps.

The next step after this CL is to migrate this logic into Settings and
remove caps handling from the IR Generator entirely.

Change-Id: I09fc8220f8d5bf297033adbaf4c955f2ce0589cf
Bug: skia:11365, skia:11319
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375074
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>
2021-02-24 21:12:54 +00:00
Ethan Nicholas
d42932a1b5 Add DSL PossibleExpression & PossibleStatement
These are currently unused, but in future CLs they will be used to
capture line number information in DSL error handling.

Change-Id: Ieee730e0ad8323043437972fedb5bec471c367e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375069
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-24 21:04:18 +00:00
Chris Dalton
6165526d45 Fix a bug that threw away tessellation edges on bowties
Change-Id: Ic6a2b89bea3923b7e0f4016dbbf9144095e1420e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374819
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-02-24 20:58:25 +00:00
Mike Klein
1d766830ba remove 'debugging' step
This can take a few minutes, a fair chunk of some runs.

E.g. https://ci.chromium.org/raw/build/logs.chromium.org/skia/51ee56ccc7f9ba11/+/annotations

    debugging  2m32s   (17%)
  + dm        11m17s   (77%)
  + other        54s   ( 6%)
  = total     14m43s

should become more like

    dm        11m17s   (93%)
  + other        54s   ( 7%)
  = total     12m11s

Change-Id: I8bdbc280f5d581d98b08e471613401eee507064e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375184
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-24 20:56:21 +00:00
Brian Osman
d010f659bb Trace shader compilation for clients other than Android framework
We had added detailed events specifically when running in Android
framework, but other clients (eg, Flutter) would like these, too.

To keep the same semantics in Android, added a new _ALWAYS variant
of TRACE_EVENT0. It works like TRACE_EVENT0, but has the _ALWAYS
semantics in Android.

Bug: skia:11360
Change-Id: I13fd77445e0d2a05e46b75629b37bab5f571b02e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375018
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-24 20:08:14 +00:00
Mike Klein
c3231789e2 retry fast adb push
This time, push host/* instead of host/.  This cuts the time it takes to
push resources from ~11m to ~8s on Android One phones.

I tried ignoring version files and blindly pushing packages, but in the
end kept the version files for compatibility with bots running at head
(or after this lands, bisecting bots), and those version files still do
save a good chunk of time.  In PS12 I faked version file mismatch and it
took ~2m extra to push all the packages back.

I also tried but got nervous about --sync so I've left it for a follow
up.  It's not clear that we can rely on it for packages where files will
be removed, but it's probably fine for resources/ if we want to go
faster than 8s.

Change-Id: I84de90f13177393e4d8a599ef880545538b6af81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375076
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-24 20:04:04 +00:00
John Stiles
c1a98b8736 Move shader caps into SkSL context.
Previously these existed in each Program, but they are unchanging for
the lifetime of the Compiler. Also, their presence in the Context will
allow the SkSL::Setting class to access them outside of the IRGenerator.

Also, removed some code which allowed the IRGenerator to support null
shader-caps; this never actually happens. (The Compiler asserts that
they are non-null; the GLSL code generator uses the caps bits without a
null check, etc.)

Change-Id: Id58743a0c2ac068cb60ec35648b4f758bf28bbe3
Bug: skia:11365, skia:11319
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375067
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-24 20:00:54 +00:00
Brian Salomon
d00d351387 Fewer operations in GrAARectEffect.
Change-Id: I57880b69302bab70be8e45d80387bcce052cf989
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374599
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-02-24 19:59:04 +00:00
Ben Wagner
5d9c20ecc9 Make TextBlob 'Text' allocators public.
This will allow users to create PDFs with the actual text embedded. This
will allow for correct search and copy operations on the generated PDF.

Since these are now public, SkTextBlobBuilderPriv is no longer needed
and is removed. For consistency, the allocRunRSXform overload is renamed
to allocRunTextRSXform.

Change-Id: I44be82d9038a433e1221d5cbfd8ed113ecb6d4fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375017
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-02-24 18:48:44 +00:00
Herb Derby
215104efea pull out calculation of SDF ops parameters
Change-Id: Ifc3909a93ae036fc8f851cf0a8ea9cc65b688b34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375064
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-02-24 18:31:34 +00:00
John Stiles
0c7312a469 Add program-setting to disable control-flow analysis.
Change-Id: I22b602568c2031c54d33f6b1634f7fa76aab982a
Bug: skia:11365, skia:11319
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375062
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>
2021-02-24 17:45:54 +00:00
Eric Boren
03521cbe13 [infra] Change git_utils.NewGitRepo to use the default "git clone" dir
Change-Id: I616d2a119886d04e2b21499aece3e042226f6f3f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375057
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2021-02-24 17:43:04 +00:00
Herb Derby
72917e4529 return void* instead of char* from alignedBytes
Not as many casts needed to use this.

Change-Id: I871b5f3f9658d349d08d396f2cb8ec5498c3b50b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375061
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-02-24 17:23:54 +00:00
Herb Derby
9553a57ad4 make adding a text blob to GrTextBlobCache thread safe
Change-Id: I18d3b05e4913114e44905a6020baca90bf437320
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375056
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-02-24 17:17:04 +00:00
Ben Wagner
0baacb50bc Remove lang parameter from TextBlob alloc methods.
The 'lang' was never stored or used, so this makes no current practical
difference. The original intent was to be able to specify a language so
that it could be emitted as a 'Lang' override in the 'ActualText' when
generating a PDF. However, due to the way 'ActualText' is generally used
this would be impractical. If there is ever a desire to mark up sections
of the PDF with a specific language it would be better handled in a
different way.

Change-Id: Id63596190235fc45ce17249b9b578b6f9b838b2b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375060
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-02-24 17:08:04 +00:00
Brian Salomon
80313c85e0 Go back to using coverage FP in aarecteffect/convexpoly GMs.
Drawing these with a color FP using fillRectWithFP made them harder
to triage.

TBR: michaelludwig@google.com
Change-Id: I97f181e861c1c24bb2224f00901eb470d868f3c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375059
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-02-24 16:32:04 +00:00
Brian Osman
a77ed8b382 Add flags for all layout qualifiers, check for duplicates
Now, even if a qualifier has a default value, we will know that it
appeared in the text. We can use that to check for redundant qualifiers
(as is being done here), and in the IR generator to prevent any use of
certain qualifiers, depending on context. (eg, runtime effects, wrong
shader stage, on a parameter declaration, etc.)

Bug: skia:11301
Change-Id: I2cd6ad35c2b4c4d6f87ade97e80aea84dc16ee4b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374616
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-24 16:22:26 +00:00
Herb Derby
70cd6d1446 make producing GrTextBlob sub runs thread safe
Change-Id: Ie16e41fa6cef2d06d1e6e82036524dd5ad06b1ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375036
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-02-24 15:51:54 +00:00
Brian Salomon
e40e69f3a4 Allow use/generation of MIP maps with YUVA images and strict subsets.
Strict subsetting is odd to mix with MIP maps, but we allow it for
all other images. At least be consistent. Long term we should remove
this feature and require users to make a subset image with it's own
MIP levels if they want to strictness + MIPs.

Bug: skia:10481
Change-Id: Ia12b60ef8d65a10bdf32f713daf77c366949ac26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374598
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-02-24 15:10:49 +00:00
Michael Ludwig
47b400bf7d Rename SkPaintImageFilter to SkShaderImageFilter
Bug: skia:11230
Change-Id: I4a90191d858265e60a817aa04c3e1aacf345a7f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371965
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-02-24 14:52:21 +00:00
John Stiles
cbd65754f2 Revert "Performance experiment: Disable SkSL optimization in nanobench/skpbench"
This reverts commit b34a896c12.

Reason for revert: experiment is complete

Original change's description:
> Performance experiment: Disable SkSL optimization in nanobench/skpbench
>
> Cloned from http://review.skia.org/369716
> Re-running the experiment now that @switch is supported when
> optimizations are disabled.
>
> Change-Id: I428051d9c679a8084589fba428a637f36587be16
> Bug: skia:11341
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374516
> Commit-Queue: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

Change-Id: I1e91c55538ef35f413f2c41c83df9d9c0f29d9a1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11341
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375016
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-02-24 14:14:26 +00:00
Brian Osman
ba7ef32832 SkSL: Simplify layout(key)
We had support for layout(key=identity), which added a bit to the key
depending on whether or not a matrix variable was identity. That feature
was unused - now 'key' is just a flag, rather than a separate enum.

Change-Id: I691a0b3683610f55e5d020b9cd6d9e414690bee6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374416
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-24 14:02:34 +00:00
Herb Derby
743c697007 make GrTextBlob::canReuse const
Change-Id: I27b18e63f9f1ff4ae6ada70a7cf781d6e29c9108
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374356
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-02-24 13:49:14 +00:00
Mike Klein
b21bc6e8e9 Revert "Temporary fix for bad data pushed to Android test devices"
This reverts commit 9de609c874.

Reason for revert: been long enough?

Original change's description:
> Temporary fix for bad data pushed to Android test devices
>
> A change to Android asset deployment left some devices with bad data
> (but correct _VERSION files). Unless we force-push assets, test runs
> will continue to fail.
>
> Once all devices have had their assets re-pushed (and any bisection
> into the offending time period is concluded), we can revert this CL.
>
> Change-Id: Ibbfe48409b99e8313186dde1dc0cc3cfb5061d4c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372457
> Reviewed-by: Eric Boren <borenet@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: I3a53f2da59bb947d7579a63359e0d2c349c4ce36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374637
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2021-02-24 13:36:44 +00:00
skia-autoroll
df4b22d54a Roll ANGLE from 1a70e5a04584 to 39d7fc187554 (12 revisions)
1a70e5a045..39d7fc1875

2021-02-24 syoussefi@chromium.org Vulkan: Don't break the render pass on dispatch calls
2021-02-23 syoussefi@chromium.org Remove incorrect memory barrier tests
2021-02-23 lubosz.sarnecki@collabora.com Add Collabora, Ltd. to AUTHORS and CONTRIBUTORS
2021-02-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 1a524349f06b to 9cdde06fb38a (1 revision)
2021-02-23 syoussefi@chromium.org Assert valid when using SPIR-V ids
2021-02-23 lubosz.sarnecki@collabora.com capture_replay_tests: Fix repository path retrieval.
2021-02-23 lubosz.sarnecki@collabora.com Generators: Use fixed year in license headers.
2021-02-23 ynovikov@chromium.org Remove old Win x64 bots from CQ
2021-02-23 jmadill@chromium.org Clean up entry point generation script.
2021-02-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from d85a7a27b272 to 22186f076bf3 (4 revisions)
2021-02-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from a075fac2c633 to 1a524349f06b (4 revisions)
2021-02-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from fa63f1264116 to d163fd7c6905 (388 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 fmalita@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: fmalita@google.com
Change-Id: I2b8e809416eb737eda333856eb67acca5dd2ef15
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374674
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-24 09:47:54 +00:00
Chris Dalton
7c0200a8e2 Move cubic cusp existence test into GrStrokeHardwareTessellator.cpp
GrStrokeHardwareTessellator is the only user that needs to simply
check if a cusp exists at all. Making the check local speeds up the
microbench from 502us -> 392.

Bug: chromium:1172543
Change-Id: I52adf9ef0a66e1267435e6ce41f01ee1eda17d7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/373744
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-02-24 08:24:53 +00:00
skia-autoroll
68c43dbc5f Roll skcms from 4a4ff5bbefdf to 4e5402c56973 (3 revisions)
https://skia.googlesource.com/skcms.git/+log/4a4ff5bbefdf..4e5402c56973

2021-02-23 mtklein@google.com skcms build updates
2021-02-23 mtklein@google.com roll xcode to 12.4
2021-02-23 borenet@google.com [infra] Switch from isolate to RBE-CAS

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC fmalita@google.com,mtklein@google.com on the revert to ensure that a human
is aware of the problem.

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

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

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: fmalita@google.com,mtklein@google.com
Change-Id: If379427bdf8e5fdc88479b32529b9f8569390f2f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374578
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-24 07:02:54 +00:00
Herb Derby
6b27ae8db4 make GrTextBlob::subRunList() const
Change-Id: I02ffb7c09b1b1507700d618451a64bf89dd6953f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374357
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-02-24 05:09:34 +00:00
Ben Wagner
9a7fcf7eda Scale Viewer status by backing scale.
The Viewer status box 's' is quite small on high resolution displays.
The 'u' key doubles its size and has been used as a work-around, but
let the status box scale take the backing scale into account.

Change-Id: I98db37a4ed86698ba7c02666478dff248ff6daae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374377
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-02-24 03:42:04 +00:00