Commit Graph

58222 Commits

Author SHA1 Message Date
Kevin Lubick
f9c68800a2 Use angle brackets for system includes
Not only is this a best practice, it will make generating
BAZEL.build files easier.

Change-Id: Ib77c7dac6167235ec1b73a93bfd3a9c44b42ca83
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474756
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-11-22 17:03:11 +00:00
Michael Ludwig
61c032ea1b [graphite] Keep baseVertex,baseInstance relative to offset specified when vertex buffers were bound
All of the draw variants except drawIndexed support all base arguments
as part of the draw call that is recorded. Updated drawIndexed to use
the "instance" version and draw 1 instance if the baseVertex is not 0.

Previously, if we bound the buffer at a non-zero offset, but then
passed in 0 for the base vertex/instance relative to that, it would
reset the vertex offset to 0. This also cuts down on the number of
commands recorded since draws will only correspond to one command.

Bug: skia:12466
Change-Id: I3eb95b02d33f2d1e9b36991a8b824012383bc192
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474058
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
2021-11-22 16:55:12 +00:00
Chris Dalton
616b4a6e63 Drop support for indirect draws on ES
Bug: skia:b/197500792
Change-Id: I0005469352cd44cf4c66aea11de98a0247afd747
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474397
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-11-22 16:54:38 +00:00
Herb Derby
e6f2dce084 replace GlyphRunList with its origin for draw()
This change will make unifying code easier in future CLs.

Change-Id: I981b99ba4da6762702adfcb26165c1d3065339f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474896
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-11-22 16:33:32 +00:00
Herb Derby
1d513f06d7 remove unused GrTextBlob* from calls
Change-Id: I750bf3103504e3ed12c93e3071950785128f7db5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474838
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-11-22 16:32:56 +00:00
skia-autoroll
bfafc430e8 Roll SK Tool from d9ac550a85b9 to 338c865c411a
https://skia.googlesource.com/buildbot.git/+log/d9ac550a85b9..338c865c411a

2021-11-22 rmistry@google.com Add new ExternalChangeId field to ManualRollRequest and Revision.

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Tbr: lovisolo@google.com
Change-Id: I7875542d6fc21a4e75c729ae3ac54af0d9c48bb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474816
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-22 15:26:11 +00:00
skia-autoroll
647bd84de7 Roll ANGLE from b9c0194c4e1e to 647026fa49c2 (39 revisions)
b9c0194c4e..647026fa49

2021-11-20 ynovikov@chromium.org Reland "Fix unused variable "useSwiftShader""
2021-11-20 ynovikov@chromium.org Revert "Fix unused variable "useSwiftShader""
2021-11-20 ynovikov@chromium.org Fix unused variable "useSwiftShader"
2021-11-19 jmadill@chromium.org GLES 1: Fix missing validation returns.
2021-11-19 jmadill@chromium.org MultithreadingTest: Initialize an atomic bool.
2021-11-19 jmadill@chromium.org Fix signed integer overflow in angle_end2end_tests.
2021-11-19 gert.wollny@collabora.com Capture/Replay: Add default return path for AccessParamValue
2021-11-19 timvp@google.com Enable RenderDoc capture for debug builds
2021-11-19 cnorthrop@google.com GLES1: Hard code integer values in the ubershader
2021-11-19 cnorthrop@google.com infra: Increase gles1_conformance_tests timeout
2021-11-19 lubosz.sarnecki@collabora.com mathutil: Add roundDownPow2.
2021-11-19 jmadill@chromium.org Vulkan: Fix CFI ignore config.
2021-11-19 jmadill@chromium.org GN: Ensure using_sanitizer is declared even without //build.
2021-11-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from c801e56b48b9 to ebb70a6ec0bc (399 revisions)
2021-11-19 jmadill@chromium.org infra: Enable flaky retries on Mac end2end_tests.
2021-11-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 4c687cc2f8ea to f5cf2d08ff9c (2 revisions)
2021-11-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 478aa76e7d38 to f2ad120142ed (3 revisions)
2021-11-19 ianelliott@google.com Avoid Android vkEnumerateDeviceExtensionProperties() bug
2021-11-18 geofflang@google.com Roll chromium_revision 426f5c5607..c801e56b48 (941724:943107)
2021-11-18 jmadill@chromium.org Vulkan: Lock around handle counter.
2021-11-18 jmadill@chromium.org Vulkan: Lock around debug annotator.
2021-11-18 jmadill@chromium.org Updates to perf test running script.
2021-11-18 jmadill@chromium.org Vulkan: Add mutex around cache stats.
2021-11-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from f0e8ec2da282 to 4c687cc2f8ea (4 revisions)
2021-11-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 50e341fc93fd to 478aa76e7d38 (7 revisions)
2021-11-18 gert.wollny@collabora.com Capture/Replay: Handle newly generated FBOs in tracker
2021-11-17 jmadill@chromium.org infra: Update NVIDIA to 1660 testing.
2021-11-17 geofflang@google.com Disable variable shadow warnings on more ES1 conformance tests
2021-11-17 lfy@google.com Add cpu time measurement to perf tests
2021-11-17 gert.wollny@collabora.com Capture/Replay: Capture GetTexLevelParameter return param
2021-11-17 syoussefi@chromium.org Fix typo in SystemInfo_libpci.cpp
2021-11-17 gert.wollny@collabora.com Capture/Replay: Additional tests that now compile
2021-11-17 jmadill@chromium.org GN: Add symbolizer data for sanitizer builds.
2021-11-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 459e5e53952a to 50e341fc93fd (12 revisions)
2021-11-17 gert.wollny@collabora.com Capture/Replay: Capture GetProgramResourceLocation name param
2021-11-17 gert.wollny@collabora.com Capture/Replay: Capture GetProgramResource params correctly
2021-11-17 jmadill@chromium.org Test Runner: Print output snippet in test timeout.
2021-11-17 jmadill@chromium.org Vulkan: Generalize barrier VVL suppression.
2021-11-17 jmadill@chromium.org infra: Increase sharding on SwANGLE trace tests.

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

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/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: lovisolo@google.com
Test: Test: BuiltinVariableVertexIdTest.LineLoop/ES3_Vulkan_SwiftShader
Test: Test: GLSLTest_ES3.GLVertexIDIntegerTextureDrawArrays/*
Test: Test: GLSLTest_ES3.GLVertexIDIntegerTextureDrawArrays/ES3_Vulkan_SwiftShader
Test: Test: end2end, perftests, gles1_conformance
Change-Id: I6ead1011700b663ea156ef9d709f3257d0cd0728
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474697
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-22 05:23:09 +00:00
skia-autoroll
25724fc253 Roll SwiftShader from f5cf2d08ff9c to 6e23c082b73a (4 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f5cf2d08ff9c..6e23c082b73a

2021-11-19 sugoi@google.com Make line stipple related tests pass
2021-11-19 capn@google.com Run clang-format-all.sh as a Bash script
2021-11-19 swiftshader.regress@gmail.com Regres: Update test lists @ 210fe010
2021-11-19 capn@google.com Update testslists to match the dEQP revision

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

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: lovisolo@google.com
Change-Id: I1d1397c442299a9b409f5d06fbc13cdf90f11e6a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474698
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-22 05:11:41 +00:00
skia-autoroll
7af0e2dd36 Roll Chromium from e7ac7694e638 to b779de51f5c9 (534 revisions)
e7ac7694e6..b779de51f5

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

To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/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: lovisolo@google.com
Change-Id: I85cfc23ba408e97e1d4dc4678ca26b9984d44aa3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474696
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-22 04:56:15 +00:00
skia-autoroll
c8821bbe2f Roll Dawn from 53db01bf1e64 to 4e3ddbd95589 (10 revisions)
https://dawn.googlesource.com/dawn.git/+log/53db01bf1e64..4e3ddbd95589

2021-11-21 jiawei.shao@intel.com Add label to the trace events for pipeline and shader module creation
2021-11-21 jiawei.shao@intel.com Fix a warning in FirstIndexOffsetTests about "flat" interpolation
2021-11-20 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 98a492209070 to 647026fa49c2 (3 revisions)
2021-11-20 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 1cc5d096ffd7 to 98a492209070 (7 revisions)
2021-11-19 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 7e40d55651e7 to 1cc5d096ffd7 (5 revisions)
2021-11-19 shrekshao@google.com Refactor D3D12 shader define strings code
2021-11-19 lokokung@google.com Updates destroy in Vulkan's BindGroupLayout.
2021-11-19 bajones@chromium.org Add label tracking for several object types
2021-11-19 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 1f5eb6b8ede5 to 7e40d55651e7 (2 revisions)
2021-11-19 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 8700d9ccb795 to 1f5eb6b8ede5 (3 revisions)

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

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: bajones@google.com
Change-Id: I7bc4dafb3ca7da6c29e869b2a695714879ab4182
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474699
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-22 04:40:11 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
7ecacbc4c6 Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I1af7049a6ea63869ce35b4975648bc79d12cb7a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474604
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-11-21 08:11:09 +00:00
skia-autoroll
a6de6d2366 Roll SK Tool from 055155207d7e to 0024349d8141
https://skia.googlesource.com/buildbot.git/+log/055155207d7e..0024349d8141

2021-11-21 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com Update CIPD Packages

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Tbr: rmistry@google.com
Change-Id: Iaabda2527b14391a559f58ee36153835a030a6c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474577
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-21 06:42:08 +00:00
Chris Dalton
37940afc0c Remove remaining "Gr" references outside of #ifdefs from tessellators
Bug: skia:12524
Change-Id: I2fb523495cfa72591a14b4ef03d32e3aad06fcf2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474396
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-11-20 02:52:52 +00:00
Chris Dalton
9f1719f7f7 Move GrVertexColor to skgpu::VertexColor
Bug: skia:12524
Change-Id: Iac60a99331fefe9e997b61c4b2b329e39b95ae6e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/470197
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-11-20 02:48:28 +00:00
Chris Dalton
fc0941003e Move tessellation-specific functions out of GrPathUtils
Bug: skia:12524
Change-Id: I2664c8ea707a40724bcf916e907fe28d1fa276d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474357
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-11-20 02:47:40 +00:00
Chris Dalton
5cf4ed47f4 Move Ganesh-specific bits of StrokeTessellator into an #ifdef
Bug: skia:12524
Change-Id: I31ddee40fed6e57caafe7a51fdd90459bd29cd6a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474356
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-11-20 02:35:39 +00:00
Chris Dalton
1ce70dc2ce Convert StrokeTessellators to use PatchWriter
Bug: skia:12524
Change-Id: I99ade4b9f4fd442d9ddaa51651faf47321c06a5b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474296
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-11-20 01:57:42 +00:00
John Stiles
fb0fa24e31 Remove VarType from trace_var opcode.
This is redundant information now that we have SkVMSlotInfo.

Change-Id: Ia05b1eaa722023e719042c83255708aa9debed61
Bug: skia:12614
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473777
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-11-20 01:52:40 +00:00
Erik Rose
9b35cd642f [infra] Update iOS provisioning profile.
* Remove 3 iPad Pro 9.7"s killed in the March 2020 Skolo flood.
* Add skia-iphone-8-03, which was mysteriously missing.

Change-Id: Idf3bbc553958a1327b0909183f85ab43dced3429
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474020
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Commit-Queue: Erik Rose <erikrose@google.com>
2021-11-19 20:45:39 +00:00
Chris Dalton
bdf4952a3d Extract a PatchWriter::Patch base class
Bug: skia:12524
Change-Id: I48bd7dabb7d169f3ac544f2b7a2e2a68f4b01e1b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474158
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-11-19 19:52:34 +00:00
Brian Osman
f72c919a9a Roll SPIRV-Headers and SPIRV-Tools
This adds new validation rules that we were breaking.
Binding and DescriptorSet can't be applied to push constants, nor to
struct members.

Bug: skia:12670
Bug: chromium:1270328
Change-Id: I332f77717b08d9945c8e5b79c5bf649a8f5f2043
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474056
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-11-19 19:22:54 +00:00
Ben Wagner
0cdcf57f8c Cache FreeType glyph masks may need current color.
If a FreeType font has glyphs which may need the current color this is
non-changing information, so calculate it once at and cache it. This
information is needed on evert time a scaler context rec is created and
adding the overhead of looking through the font data (especially the
extra indirections from a ttc) can take a bit of time.

Bug: b/206120675
Change-Id: I92f2083a6bbd673fc148347c4e04ed81a441c3ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474059
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-11-19 18:50:47 +00:00
Michael Ludwig
940086c815 [graphite] Include offset in Writers returned by DrawBufferManager
Previously, while BindBufferInfo had the right offset for binding the
buffers, the writer would always overwrite the contents at the
beginning. Never encountered it because the CommandBufferTest made its
VertexWriters directly, and DrawPass isn't end-to-end yet.

Bug: skia:12466
Change-Id: Ib874006d80a7286fcc3710cd38b3c6141ff928ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474057
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-11-19 17:57:52 +00:00
Herb Derby
fde5b838e8 refactor checking for direct glyph situations
Update the check for situations using the direct glyph drawing
method. Mostly renaming.

Change-Id: I9e2ad8b669e9868b5fffd4864fb4551fec11f19c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474038
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-11-19 17:19:44 +00:00
Jim Van Verth
3b0eacc6ea Add SkSL::ShaderCaps and use as base class for GrShaderCaps
Bug: skia:12559
Change-Id: I76b225c9ca81264a15869324007d774d210053b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473416
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-11-19 16:35:39 +00:00
Leon Scroggins III
63dee7ef06 Add minimal GL support for protected backend textures
Bug: b/205516620

Internally, Skia does not have full GL support for protected backend
textures. But there are some clients who know that they need to create
one so that they can render a protected buffer into it. Plumb in support
for clients calling GrDirectContext::createBackendTexture.

GrGLDefines.h:
- Add macros for querying whether a context is protected

GrGLCaps:
- Check whether the GL_EXT_protected_textures extension is present and
the context supports protected.

GrGLGpu:
- Remove failure cases for GrProtected::kYes. Instead, pass the value
down to createTexture where we then set the parameter in GL.

Change-Id: I465442fc4b19ed32a65079a168124a067bcd66a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/472802
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2021-11-19 16:08:16 +00:00
skia-autoroll
15ae48da5f Roll SwiftShader from 4c687cc2f8ea to f5cf2d08ff9c (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/4c687cc2f8ea..f5cf2d08ff9c

2021-11-18 swiftshader.regress@gmail.com Regres: Update test lists @ 4c687cc2
2021-11-18 ari.suonpaa@siru.fi Fix border color when sampling normalized texture formats

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

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: jlavrova@google.com
Change-Id: I2ce5caeb818d2188d7f4edc25dea8c235fb7183c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473956
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-19 05:14:38 +00:00
skia-autoroll
cf48622d66 Roll Chromium from ca9862fcfe55 to e7ac7694e638 (463 revisions)
ca9862fcfe..e7ac7694e6

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

To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/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: jlavrova@google.com
Change-Id: I4315a1c8d9a949b6d5ff042597fda276038fd905
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473959
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-19 04:59:12 +00:00
skia-autoroll
f91b6a83f1 Roll Dawn from 67e1e9c199cc to 53db01bf1e64 (5 revisions)
https://dawn.googlesource.com/dawn.git/+log/67e1e9c199cc..53db01bf1e64

2021-11-18 cwallez@chromium.org dawn.json changes for the upstream webgpu.h optional features
2021-11-18 shrekshao@google.com Pipeline overridable constants: D3D12 backend
2021-11-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 71bffb8af87f to 8700d9ccb795 (5 revisions)
2021-11-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from d018d2e5bca1 to 1704fe53f59a (1 revision)
2021-11-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 9a36c3b6f124 to 71bffb8af87f (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from d018d2e5bca1 to 1704fe53f59a

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

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: bajones@google.com
Change-Id: Iffc32d635be28b9fff8aa1395af5556c0cd587ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473957
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-19 04:53:12 +00:00
Brian Osman
62392f624f Remove old (unused) values from LayoutToken enum
Change-Id: Idcedaf97d9036fc892bbfc4fa7be468dd7a11db9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473660
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-11-18 22:35:09 +00:00
John Stiles
217347528b Improve redundant trace_var elimination.
Previously, we would avoid emitting redundant trace_vars by checking to
see if the slot is being assigned to the exact same Var.ID. However,
this had the potential to eliminate useful trace_vars:

- At the start of execution, slots all contain 0. Code which explicitly
  assigned a zero into a slot would not be shown in a trace. (So things
  like `color = half4(0,1,0,1)` would only emit traces for color.ga.)
- A function call's parameter slots are reused every time it is called,
  so calling a function twice would only emit traces for the parameters
  that aren't the same Val.ID as the previous call.
- A VarDeclaration inside a loop reuses its slot each time through the
  loop, even though conceptually it's a "new" variable.

We now track a slot's "written-to" status. At the start of execution,
no slots have been "written-to". These slots will always emit a
trace_var opcode (fixing the first issue). Also, issuing a function
call or declaring a variable will reset the "written-to" status of the
associated slots (fixing the second and third issues).

When the debugger is not in use, the written-to field is unused.

Change-Id: I482a86cb6e90d0f85dd2a161e984f212782a7b4d
Bug: skia:12614
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473776
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-11-18 22:18:42 +00:00
Brian Salomon
90ef83af20 Remove drawPatch/Vertices helpers that don't take SkBlendMode
Bug: skia:12662
Change-Id: Ic18220668a4f87e7340a53b3f191887a7a016a04
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473141
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-11-18 21:57:32 +00:00
Robert Phillips
c9d8f293d0 Improve handling of degenerate paths in AAHairLinePathRenderer::bloat_quad
Bug: 1265199
Change-Id: I217d75377c33940cdbabba278ee1ac06e94e177f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/469899
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-11-18 21:37:37 +00:00
Dominik Röttsches
2ed0baeb60 Fall back to type 3 embedding for fonts with COLR table
Bug: skia:12650
Change-Id: Id6cdc3c5f22aa1dffae00a98f1cb832d30b61cd4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/471476
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-11-18 21:28:14 +00:00
John Stiles
c809e5ba9f Optimize commutative operations in SkVM.
We now canonicalize commutative operations by ordering their value IDs.
The lower-numbered value ID is always placed first into a commutative
instruction. In other words, this instruction:
   bit_and result, v7, v5

Would be silently converted to this:
   bit_and result, v5, v7

This will allow these two logically-equivalent instructions to be
deduplicated:
   bit_and result, v7, v5
   bit_and result, v5, v7

Of course, deduplicating these ops can unlock additional free CSE/DCE.
The affected instructions are listed in http://review.skia.org/473238

Change-Id: Ib9beb79d6b72d7903184aaa9a53e8e5a02ae126d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473239
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2021-11-18 21:27:17 +00:00
John Stiles
626dbe195a Add test for commutative operations in SkVM.
SkVM should be able to optimize away these equivalent expressions:

	(intA & intB)   <->  (intB & intA)
	(intA ^ intB)   <->  (intB ^ intA)
	(intA | intB)   <->  (intB | intA)
	(intA + intB)   <->  (intB + intA)
	(intA * intB)   <->  (intB * intA)
	(intA == intB)  <->  (intB == intA)
	(intA != intB)  <->  (intB != intA)

These should be guaranteed by IEEE754 as well:

	(floatA + floatB)   <->  (floatB + floatA)
	(floatA * floatB)   <->  (floatB * floatA)

I've added a test to demonstrate existing behavior, which leaves these
optimizations on the table.

Change-Id: I01ce1d6f1cfadb3d77db405a83752c9dd52c99bd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473238
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-11-18 21:16:48 +00:00
Herb Derby
dd7540fccb make drawMatrix use more explicit
Make the code more consistent with:
* drawMatrix - CTM from canvas
* drawOrigin - x, y from drawTextBlob
* positionMatrix drawMatrix adjusted by drawOrigin

Change-Id: Ia22baa2d229f041b77dc6cde063e25f185b8b64a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473237
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-11-18 20:57:32 +00:00
Robert Phillips
c9825ac717 Allow the Triangulator to fail
Bug: 1262444
Change-Id: I951c1809c031c1c8e71d8c3ce1be3506bbfa3d2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/469904
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-11-18 20:48:21 +00:00
skia-autoroll
e85fd50ebe Roll SK Tool from 8e6bab5320de to 4f4d765e4e51
https://skia.googlesource.com/buildbot.git/+log/8e6bab5320de..4f4d765e4e51

2021-11-18 borenet@google.com [autoroll] Add Docker image to config file

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Tbr: rmistry@google.com
Change-Id: I70a108058347a9d5caf1c9021727900b8cb07937
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473445
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-18 20:30:41 +00:00
Brian Osman
45bc991e5d Reland "Remove layer-coverage-tracking experiment"
This is a reland of 688cb15faa

Original change's description:
> Remove layer-coverage-tracking experiment
>
> This effectively reverts reviews.skia.org/122000
>
> Bug: skia:10987
> Change-Id: I989241110f17c0e3c2a896aea4bc2bc4cc8c910f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/472801
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

Bug: skia:10987
Change-Id: I16493df8bd7942261d14c01747d0fdc91bbe5467
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473143
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-11-18 19:34:39 +00:00
Kevin Lubick
f3726c61d2 [infra] Use Bazel transitions to allow cc_binary to set their own flags
This will hopefully let us pre-package certain binaries (e.g. DM,
fuzz) with more sensible defaults and not make the developer
type out all the settings.

For CanvasKit, which specifies its own build flags, I think I'll
need to make another transition setup, which would go in something
like modules/canvaskit/ck_binary_with_flags.bzl or something.

Some sausage-case-names were converted to snake_case_names as per
go/build-style#target-naming

The example this is based off is worth a look through before
diving into this:
https://github.com/bazelbuild/examples/tree/main/rules/starlark_configurations/cc_binary_selectable_copts


Change-Id: Ia919d47f4d1aa25cf294af7918e36d38838c179e
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/472688
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2021-11-18 19:18:54 +00:00
skia-android-ingest
a526199541 Use canary task driver from buildbot repo
Bug: skia:12657
Change-Id: I432dc004ac2c8a1f9b0fd0874b8690dcb7e16dbf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473146
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-11-18 17:45:54 +00:00
skia-android-ingest
92573612d8 Update go/skia.org/infra in go.mod/go.sum
To pick up canary.go task driver change in buildbot repo

Updated with:
$ go get go.skia.org/infra@74751ee0f1
$ go mod download
$ make -C infra/bots train

Bug: skia:12657
Change-Id: I3f42dd6a8041d2c84903e736e76029c198c811f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473144
Reviewed-by: Eric Boren <borenet@google.com>
2021-11-18 17:45:54 +00:00
Brian Osman
1c3b75bf35 Zero-initialize uniform data in SkRuntimeEffectBuilder
Change-Id: Id7445c28fca3a74cb2716832e821d651be7bb883
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473142
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-11-18 17:15:07 +00:00
John Stiles
acec7450ec Add unit test for TraceHooks on compiled SkSL.
This verifies that compiled SkSL code generates a reasonable trace.

Change-Id: Ia81a694460eaac261dfb9287b64f0afec013f76c
Bug: skia:12614
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473145
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-11-18 17:10:19 +00:00
John Stiles
a97bd9d4b2 Add TraceHook support to skvm interpreter.
This provides a callback mechanism for the interpreter when a trace
opcode is encountered. The callbacks are only invoked when the trace
mask is enabled.

Change-Id: I55db22e18106ae09e4ab0a503533d830282c772c
Bug: skia:12614
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473139
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-11-18 17:10:19 +00:00
Chris Dalton
c7a849319f Make path pre-chopping more robust
Exceptionally large control points might require us to chop the path
very deeply. This CL converts the recursive chopping to loop with a
stack of control points on the heap, in order to avoid the risk of
stack overflow. It also adds a bail condition to avoid getting stuck
in endless recursion due to fp32 precision issues.

Bug: chromium:1266446
Change-Id: I005be4bc29de51d3c89f04b5d6c553a921a92aa3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473197
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-11-18 16:42:19 +00:00
Chris Dalton
32071c3f14 Don't draw massively wide strokes with the tessellator
Since we outset the viewport by stroke width for pre-chopping,
astronomically wide strokes can result in an astronomical viewport
size, and therefore an exponential explosion chops and memory usage.
It is also simply inefficient to tessellate these strokes due to the
number of radial edges required. We're better off just converting them
to a path after a certain point

Bug: chromium:1266446
Change-Id: I23ea39b0bd64f22d4e293a881992e3669afbe530
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473196
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-11-18 16:39:43 +00:00
Jim Van Verth
d8a753a263 Move GLSLGeneration definition to SkSL
This is a first step in making GrShaderCaps more general so we can use
it in Graphite.

Change-Id: I7fc874e5df8dba2cef05421840a4019e5499ab59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473000
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-11-18 15:12:00 +00:00
Brian Osman
8d55cab6bd Revert "Remove layer-coverage-tracking experiment"
This reverts commit 688cb15faa.

Reason for revert: Android roll & CK bots

Original change's description:
> Remove layer-coverage-tracking experiment
>
> This effectively reverts reviews.skia.org/122000
>
> Bug: skia:10987
> Change-Id: I989241110f17c0e3c2a896aea4bc2bc4cc8c910f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/472801
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

Bug: skia:10987
Change-Id: Id2becfff07e4d9d72231939fb415a34ff9d96ed8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473140
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-11-18 14:30:11 +00:00