Commit Graph

53658 Commits

Author SHA1 Message Date
Mike Klein
af8db303f7 promote the runtime mixer CF to the only mixer CF
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: I898fc64d8df625d22750cfe1145ba4b02acdfbb9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372078
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-19 11:43:47 +00:00
James Clarke
b2bfa9d457 Fix UWP build
Bug: skia:11102
Change-Id: Id7f91da15d3021ebe9acad968165521a7d590fed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372162
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-19 11:41:47 +00:00
Brian Osman
81a58cfe3b Simplify pushing directories to android devices
Change-Id: I5f0ce6720be821ae3825b58afc94dbeb2f50e2d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372217
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-19 10:53:57 +00:00
Chris Dalton
82094cdb9d Chain indirect stroke ops that have mismatched colors
The indirect tessellator can't combine overlapping, mismatched colors
because the log2 binning draws things out of order. But we can still
chain them together and generate a single long list of indirect draws.

Bug: chromium:1172543
Bug: skia:10419
Change-Id: Id7fc7488411a2a189e24cd7dd692e5c78497f498
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370197
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-02-19 09:25:25 +00:00
skia-autoroll
bbdbff81bd Roll Chromium from 9f186342d66a to cd6a8517d95a (1014 revisions)
9f186342d6..cd6a8517d9

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

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

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: herb@google.com
Change-Id: I1de519b27fca83f77c1024627a47311c2312de24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372317
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-19 07:36:28 +00:00
skia-autoroll
c5e4b25460 Roll ANGLE from e8c0aa81af87 to fd132e4e7a9c (25 revisions)
e8c0aa81af..fd132e4e7a

2021-02-18 asully@chromium.org testing: Mark uninstantiated perftests
2021-02-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 0d42e83928f7 to 23a4efc36ed9 (5 revisions)
2021-02-18 cwallez@chromium.org Revert "Workaround for Mac Intel drawArraysInstanced with first > 0"
2021-02-18 cwallez@chromium.org Revert "EGL: Merge DisplayAndroid into DisplayEGL."
2021-02-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 794086037940 to 6aa3b21e53d5 (495 revisions)
2021-02-18 shrekshao@google.com Workaround for Mac Intel drawArraysInstanced with first > 0
2021-02-18 amccarth@google.com Replace obsolete clang option
2021-02-18 timvp@google.com Vulkan: Don't wait on unflushed sync objects without a Context
2021-02-18 jmadill@chromium.org Clean ups to generate_entry_points.
2021-02-18 cnorthrop@google.com Capture/Replay: Add texture buffer support
2021-02-17 syoussefi@chromium.org Vulkan: Fix crash with 0-sized element buffer
2021-02-17 syoussefi@chromium.org Add comprehensive memory barrier tests
2021-02-17 ynovikov@chromium.org Add Win x64 chromium.angle bots to CQ
2021-02-17 m.maiya@samsung.com Vulkan: Add support for EXT_shader_framebuffer_fetch_non_coherent
2021-02-17 penghuang@chromium.org Remove a debugging code in renderergl_utils.cpp
2021-02-17 geofflang@google.com EGL: Merge DisplayAndroid into DisplayEGL.
2021-02-17 cwallez@chromium.org Add suppressions for failing tests on Linux Nvidia GL
2021-02-17 penghuang@chromium.org Remove DllMain() from static angle library
2021-02-17 timvp@google.com Vulkan: Further restrict enabling LINE_RASTERIZATION_MODE_BRESENHAM
2021-02-17 cnorthrop@google.com Enable ES 3.2 in ANGLE's loader
2021-02-17 cwallez@chromium.org Suppress ClearThenMaskedClearFramebufferTest on Linux AMD VK
2021-02-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from a1175c67dd67 to 0d42e83928f7 (10 revisions)
2021-02-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 539ef8e9426e to bb04803b8daf (5 revisions)
2021-02-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from a04f3d444779 to 794086037940 (485 revisions)
2021-02-17 syoussefi@chromium.org Vulkan: Remove render pass check from setupDraw()

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 herb@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: herb@google.com
Test: Test: Capture and replay ES 3.2 appsTest: Test: Fortnite MECTest: Test: FramebufferFetchNonCoherentES31.*VulkanTest: Test: MultithreadingTest.NoFlushNoContextReturnsTimeoutTest: Test: StateChangeTest.AlphaToCoverageEnable
Change-Id: I1d055cdc7826b7d1540782ffcb5aadfbe5d68594
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372297
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-19 05:45:25 +00:00
skia-autoroll
1e31993415 Roll SwiftShader from bb04803b8daf to 3ab17bd731f6 (12 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/bb04803b8daf..3ab17bd731f6

2021-02-19 capn@google.com Fix iterating over instructions following a store
2021-02-19 capn@google.com Propagate stores of stack addresses into other local variables
2021-02-18 capn@google.com Test variable materialization edge cases
2021-02-18 capn@google.com Disable MSan unpoisoning of memory writes
2021-02-18 amaiorano@google.com VulkanWrapper: enable filesystem code on macOS with new Kokoro image
2021-02-18 swiftshader.regress@gmail.com Regres: Update test lists @ b3177eb4
2021-02-18 amaiorano@google.com VulkanBenchmarks: add validation layers and load via ICD
2021-02-18 capn@google.com Remove zero initialization of Triangle and Primitive
2021-02-18 swiftshader.regress@gmail.com Regres: Update test lists @ bb04803b
2021-02-17 sugoi@google.com Fix interpolation functions for push constants
2021-02-17 adlai@google.com Make MSAN-in-JIT flag optional for CMake builds
2021-02-17 adelva@google.com Fix support for named mmap usage on Android

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 herb@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: herb@google.com
Change-Id: I8ebaabf8d7a82e14e7b48e92c835fe87ee00d8be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372163
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-19 05:20:45 +00:00
skia-autoroll
3a71687275 Roll Dawn from a5ba2827f581 to 1024d6e1873c (15 revisions)
https://dawn.googlesource.com/dawn.git/+log/a5ba2827f581..1024d6e1873c

2021-02-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from ce7e18e87cac to 4c4ceeea9d52 (9 revisions)
2021-02-18 enga@chromium.org Remove size_t from wire transfer structs
2021-02-18 amccarth@google.com Remove obsolete `-Wreturn-std-move-in-c++11`
2021-02-18 enga@chromium.org dawn_wire: Harden deserialization routines
2021-02-18 enga@chromium.org Guard against overflow when allocating the null terminator
2021-02-18 cwallez@chromium.org Add a Toggle that can be disallowed for timestamp tick->ns conversion.
2021-02-18 enga@chromium.org Fix implicitly deleted default copy assignment operator
2021-02-18 cwallez@chromium.org Roll third_party/vulkan-deps/ 0d42e8392..23a4efc36 (5 commits)
2021-02-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 52296de52893 to ce7e18e87cac (6 revisions)
2021-02-18 cwallez@chromium.org Move QueueWriteBufferValidationTests to their own file.
2021-02-17 enga@chromium.org Add a BufferConsumer primitive for wire [de]serialization
2021-02-17 senorblanco@chromium.org Implement a --backend= flag for DawnTest.
2021-02-17 cwallez@chromium.org Rolling 2 dependencies
2021-02-17 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from c8fa020a5e97 to 52296de52893 (18 revisions)
2021-02-17 enga@chromium.org Update more Dawn tests to use WGSL

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/google/shaderc from 6216d098d8ab to 8d081127ee28
  https://dawn.googlesource.com/tint from c8fa020a5e97 to 4c4ceeea9d52

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 enga@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: enga@google.com
Change-Id: Ie8e700e7dd27fb7b67c4c68ee484255dfcfd1ccc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372296
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-19 04:52:25 +00:00
Chris Dalton
1017a3558f Add a dynamic color attrib to hw tessellated stroking
Only adds color to the hardware tessellator. The indirect tessellator
reorders draws with is log2 binning, so we can't have different
colors.

Bug: chromium:1172543
Bug: skia:10419
Change-Id: I2a3700cd4572e8222002bfb028af05c6ec447708
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/369976
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-19 00:19:05 +00:00
Chris Dalton
fac4efcabe Don't use structured binding on the PathStroke struct
Change-Id: I6aa2890ac9790c41acf405f7b3f83c402479cdf4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372160
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-02-18 23:26:54 +00:00
Michael Ludwig
91bfda0ac8 Rename SkImageSource to SkImageImageFilter
Also deletes the unnecessary old header file.

Bug: skia:11230
Change-Id: Ie7c3926fe635a37e617e5e1fcac7c05eb576bbf1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/368617
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-02-18 22:42:37 +00:00
John Stiles
9b7ad1b7b9 Migrate SwizzleComponent to be shared between SkSL::Swizzle and the DSL.
The SwizzleComponent enum would be useful outside of the DSL. This CL
creates a SkSL::SwizzleComponent namespace and has the DSL inject that
namespace into SkSL::dsl via using-directive. Future CLs will use values
from this enum within SkSL::Swizzle itself.

Users expect that `using namespace SkSL::dsl;` will allow statements
like `Swizzle(var, X, Y)` to work normally without any extra
qualifications, using-declarations or #includes, so this is a little
more involved than forward-declaring an enum would be normally.

Change-Id: Id4e2f109d01e465c315c6278f3d4b87027988c86
Bug: skia:11342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372018
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-02-18 22:33:25 +00:00
Brian Osman
58ee89879f Remove "buffer" modifier from SkSL
Change-Id: I4df18946cdb3d9f1f7833461f913f2df94696821
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372197
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-18 21:48:05 +00:00
Brian Osman
bfcd7824cd Use 8 or 16 bit state values in lexer, depending on # of states
Change-Id: I3cde541ff8eb7239394e825061ed1433806af5c7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372123
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-02-18 21:36:35 +00:00
Herb Derby
6b748e4462 Reland "use a linked list for GrAtlasTextOp geometries"
This is a reland of 82a8130654

Original change's description:
> use a linked list for GrAtlasTextOp geometries
>
> Instead of using a GrTBlockList<Geometry> to hold the geometries
> in the op. Allocate them on the RecordTimeAllocator, and
> link them together.
>
> Change-Id: I32af5724e7abeca1ddb6d38b26afbff7919cbc76
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341725
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

Change-Id: I526d8b0b06fca13046c065cbc06f0c0e1103ce11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371996
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-02-18 21:21:55 +00:00
Adlai Holler
17776e38ef Move GrProxyProvider down to GrRecordingContext
Bug: skia:10286
Change-Id: I474cb0e4cbde3b576604e80891912104990b786c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372118
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
2021-02-18 20:06:25 +00:00
Brian Osman
51963d3c4b Remove "precision" from SkSL lexer
This wasn't even referenced by the parser.

Change-Id: Id6246c3909b7f2b499908a742bdd61f4918f023a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372119
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-02-18 19:59:37 +00:00
Brian Osman
9ca38ff4b4 Remove GLSL memory qualifiers from SkSL
These were all unused, and only implemented on one backend.

Change-Id: Ibd2fcef1a971e6c1bd9da0784c5d852a60708484
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372117
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-18 19:57:05 +00:00
Chris Dalton
42582fc97b Add dynamic stroke attribs to tessellated stroking
Allows us to batch together strokes that have different SkStrokeRecs.

Bug: chromium:1172543
Bug: skia:10419
Change-Id: I11dc01e60bc17a6bb3c3b635f9edb2944a2f2edc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/369579
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-02-18 19:35:25 +00:00
Ben Wagner
e75021e2dd Allow optional targets to specify tests.
Add sources_for_tests to optional targets. If set, a taget_name_tests
source_set will be created which matches the target_name target except
that the sources are the sources_for_tests.

This allows the tests for these targets to be obviously related to the
target they test instead of having to diplicate the logic of the
optional's enabled predicate in the test target. The test target can
just directly depend on the optional test target in the same way it can
depend directly on module tests.

This was motivated by the existence of two such tests and the need to
soon introduce another (for CoreText).

Change-Id: Idc6138044ade063f47a763f14aa7a406e613af26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371481
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-02-18 19:32:55 +00:00
Brian Osman
9cb3f98191 Remove PLS support from SkSL
Change-Id: I885149c73be63c223ac88a697ffe046a7f8384d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372116
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-18 19:16:45 +00:00
Kevin Lubick
26f4962b3f [canvaskit] Deploy 0.24.0 to npm
Change-Id: I393da195a2754ec3355f031fb6af12de34932620
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372077
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-02-18 19:10:54 +00:00
Kevin Lubick
7026961111 [canvaskit] Remove references to particles.skia.org from demos
We should encourage users to use a real CDN, not a random build of ours.

This also fixes a few broken demos.

Change-Id: I3b607665744b5f481bca0b9b3072aaa25b3d2c57
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371221
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-02-18 19:00:44 +00:00
Jason Simmons
3607dd4693 Fix the flag that enables use of SkFontMetrics.fStrikeoutPosition
Change-Id: I47e210dd92beb91c0ce394b2dc1b97b98c8c378d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371513
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-02-18 18:57:59 +00:00
Mike Reed
c957bfbe2c Opt into new image-shaders with sampling
Change-Id: I2d48046f68eb25a12c0c0ce4fb7cd285e53a5c21
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372036
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-02-18 18:44:01 +00:00
Michael Ludwig
e548dcbf1b Delete deprecated SkDropShadowImageFilter header
Bug: skia:11230
Change-Id: I9da638b5e1de50aee9a805547f51e013e55747b4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/368598
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-02-18 18:20:42 +00:00
Brian Osman
e795954366 Run the Programs unit test on all rendering backends
Change-Id: I2bf8070fccacb21d2c5de56cdd9b6b77adb6c5a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/368876
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-02-18 17:40:58 +00:00
Mike Klein
c301cc72f3 Revert "split working-format filter into two parts"
This reverts commit 5db699af9d.

Reason for revert: the wrapped color filter now no longer is told that it's in the working format... its asFragmentProcessor() / program() calls will be fed the destination surface's format instead of the working format.

Original change's description:
> split working-format filter into two parts
>
> The old filter represented the whole (xform -> child -> xform) sandwich,
> where this new one represents just one xform, with the factory now using
> Compose() to piece the sandwich together.
>
> This is conceptually simpler, which is nice, and we should also be able
> to use this to replace SkSRGBGammaColorFilter (next CL).
>
> Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
> Change-Id: I6dee3c968329ab74f24e01fcdb82872141cdd496
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371456
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

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

Change-Id: I2c0daa03dde396a5b2414a8cfe8d3754d6bf6e0c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372076
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-18 17:24:14 +00:00
Brian Osman
2c350761c2 Route Dawn shader compile errors through the error handler
Change-Id: Ia7fb5dfc0239ab0fdd3259246b727b7f901dca7b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372017
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-18 17:17:32 +00:00
Brian Osman
8b01c6d113 Enforce "C" locale when building shaders in Dawn
All other backends do this (to avoid floating point numbers with
commas), was just missing here.

Needed for https://skia-review.googlesource.com/c/skia/+/368876

Change-Id: I506dbadf969c3b000b3e90b3f5864c4fe499a884
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371873
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-18 17:10:03 +00:00
Ben Wagner
bded42ab51 Split :tests into :test and :tests.
Split the :tests target into a :test target which contains the test
framework and :tests which collects all of the test cases. This allows
for all targets which define tests to depend on :test in order to define
tests, with :tests then depending on all targets which define tests. A
similar split should be considered for gms, samples, and benches.

Change-Id: Ic9f373ec0c1a8ea842fa68327e854db23477caae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371696
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-02-18 17:01:23 +00:00
Brian Salomon
bde1eb681c Remove GrDirectContext::ComputeImageSize. Use SkImage::textureSize.
Bug: skia:11208
Change-Id: Ie5f56b6d168ab43189be75bb2be60b315e724569
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371958
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-02-18 16:56:19 +00:00
Greg Daniel
d2a3912e88 Updated vulkan persistently mapped to work with new transfer type.
When I adding the new kTransferCpuToGpu enum for vulkanmemory the
persistently mapped property was dropped for those buffers and this adds
this back.

Also we are now using the special DEVICE_LOCAL and HOST_VISIBLE memory
so disable the persistent mapping for those buffers (see deleted comment
and added comment in caps).

Change-Id: I9353b6da5da57b3c8ae1f93cc89c671174a86b84
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371476
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-02-18 16:56:17 +00:00
Michael Ludwig
1d60c19a08 Rename SkDisplacementMapEffect to SkDisplacementMapImageFilter
Also deletes unnecessary header and deprecated types
associated with implementation.

Bug: skia:11230
Change-Id: Ibfd7dcf305febae794edfe777fc64efc0559909b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/368597
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-02-18 16:51:14 +00:00
Jason Simmons
ecfaeb3de0 Avoid allocating an SkString buffer for the TextStyle default font family
Change-Id: I3aa121bd5f84b9f9fdf21e3bdea4223136f47f43
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370903
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
2021-02-18 16:51:13 +00:00
John Stiles
70e51e6d76 Enable printf warnings on SkSL::String.
Change-Id: Ifea2b490b86e69b871d31dea544407e857dc4677
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371484
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-02-18 14:16:35 +00:00
Ethan Nicholas
9f8e9ece8a Converted GrConvexPolyEffect to SkSL DSL
Change-Id: I3df21c585ae399d5a78d8b8dd9f4b3253f5f1fa2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370877
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-18 14:12:02 +00:00
Mike Klein
0fdcaa5757 Revert "Remove (unused) gpuType from SkRuntimeEffect::Uniform"
This reverts commit cc80a47566.

Reason for revert:  IWYU cleanup broke less IWYU-clean Android,

frameworks/native/libs/renderengine/skia/filters/BlurFilter.cpp:180:17: error: variable has incomplete type 'SkRRect'
        SkRRect roundedRect;
                ^
external/skia/include/core/SkCanvas.h:58:7: note: forward declaration of 'SkRRect'
class SkRRect;


Original change's description:
> Remove (unused) gpuType from SkRuntimeEffect::Uniform
>
> Also remove some unnecessary includes, then IWYU.
>
> Change-Id: I41e88f0e661c59e75cb26e28768801b811fe8ee8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371140
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

Change-Id: Id655a6835ebffdb4f5f82474c287c09a69a737df
No-Tree-Checks: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371941
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-18 13:16:33 +00:00
Robert Phillips
6933774c44 Revert "use a linked list for GrAtlasTextOp geometries"
This reverts commit 82a8130654.

Reason for revert: I believe this is blocking the Chrome roll

Original change's description:
> use a linked list for GrAtlasTextOp geometries
>
> Instead of using a GrTBlockList<Geometry> to hold the geometries
> in the op. Allocate them on the RecordTimeAllocator, and
> link them together.
>
> Change-Id: I32af5724e7abeca1ddb6d38b26afbff7919cbc76
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341725
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

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

Change-Id: I238f7e91e1b1131c46ad1097371855eda2dbf553
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371956
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-02-18 12:58:13 +00:00
Mike Klein
1144072691 Revert "Add number ordering to SkFilterQuality"
This reverts commit af68258c2e.

Reason for revert: SkFilterQuality is not a scoped enum, so this defines `kMaxValue` without any scoping to Skia by naming convention or namespace, breaking compatibility with other systems that want to use that.  (E.g. Android)

Original change's description:
> Add number ordering to SkFilterQuality
>
> As explained in the bug, I would like to add a histogram to study how
> users use the image smoothing quality in Chrome. In order to do that,
> we need to ensure that the enums are not reordered or changed, so I
> added kNone_SkFilterQuality = 0, etc. I also added kMaxValue for
> histogram to work.
>
> Bug: 1176091
> Change-Id: I3af3213f699016a525caad5b0b51e0cc7aab2c52
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/368157
> Commit-Queue: Mike Reed <reed@google.com>
> Auto-Submit: Yi Xu <yiyix@chromium.org>
> Reviewed-by: Mike Reed <reed@google.com>

TBR=reed@google.com,yiyix@chromium.org

Change-Id: Iec24ba3864af69e34f2721a72de1c0a271d328f6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1176091
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371936
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-18 12:49:36 +00:00
Leandro Lovisolo
a94ca0a9d3 CIPD package for Bazel.
Bug: skia:11111
Change-Id: I2a79aea9d679efe22138cf8c1f00b9c4449e805a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371498
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
Auto-Submit: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-02-18 08:10:59 +00:00
Herb Derby
82a8130654 use a linked list for GrAtlasTextOp geometries
Instead of using a GrTBlockList<Geometry> to hold the geometries
in the op. Allocate them on the RecordTimeAllocator, and
link them together.

Change-Id: I32af5724e7abeca1ddb6d38b26afbff7919cbc76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341725
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-02-18 05:14:29 +00:00
Ben Wagner
a6e776060f Move SK_WINUWP into skia_private.
The skia_winuwp config is removed and the content moved into the
skia_private config. This allows for SK_WINUWP to be set more
uniformally. The skia_winuwp config was only used in the optional
template since all the code which required SK_WINUWP to be set correctly
was in the sources of an optional target. The optional targets already
have skia_private config available (through skia_library_configs).

Change-Id: I7f934cac0f68fb69cbac39ae76d5b45e4a47eab3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371483
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-02-18 02:09:53 +00:00
Ravi Mistry
bec62308e4 Make S6's dimensions more generic
The new S6 has successful run one of the tryjobs: https://chromium-swarm.appspot.com/bot?id=skia-rpi2-rack4-shelf1-026

Context is in the bug.

Bug: skia:11337
Change-Id: I157c894b6b48ce394c17bbe6af50d85d2cc5f192
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371416
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-02-18 01:11:59 +00:00
Brian Osman
2fe67f9680 Disallow initializers on uniform variables
Bug: skia:11335
Change-Id: I88c952cbfe2d2c5920e17675da1674928f37b982
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371480
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-18 01:01:38 +00:00
Brian Osman
5e603c3a46 Support global variables in pipeline stage generator
Bug: skia:11295
Change-Id: Iec11f3f4d26eb5b1c07707b3cedd09096bad80d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371478
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-02-18 00:54:49 +00:00
Yi Xu
af68258c2e Add number ordering to SkFilterQuality
As explained in the bug, I would like to add a histogram to study how
users use the image smoothing quality in Chrome. In order to do that,
we need to ensure that the enums are not reordered or changed, so I
added kNone_SkFilterQuality = 0, etc. I also added kMaxValue for
histogram to work.

Bug: 1176091
Change-Id: I3af3213f699016a525caad5b0b51e0cc7aab2c52
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/368157
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Yi Xu <yiyix@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2021-02-18 00:27:29 +00:00
Mike Klein
5db699af9d split working-format filter into two parts
The old filter represented the whole (xform -> child -> xform) sandwich,
where this new one represents just one xform, with the factory now using
Compose() to piece the sandwich together.

This is conceptually simpler, which is nice, and we should also be able
to use this to replace SkSRGBGammaColorFilter (next CL).

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: I6dee3c968329ab74f24e01fcdb82872141cdd496
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371456
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-17 23:01:38 +00:00
John Stiles
973009b04b Clean up type coercion code and IRGenerator::checkValid().
When coercing a type, we would previously call checkValid() so we could
detect function-references and type-references, so we could get a nicer
error message.

It turns out that we can just do the "is this a type-reference/
function-reference?" check directly inside coerce() and get the same
improved error messages. Since we should be coercing all our values to
the right type, and type/function-references aren't coercible to
anything, this should catch them all. I don't expect any of these
to survive all the way to the end of IR generation.

(In case one of these types does slip through, I've left the error case
in checkValid, but I've also put in an assertion. If the fuzzer can
make that assertion fire, we are probably missing a call to coerce()
somewhere.)

This cleanup is meant to help migrate coerce() out of IRGenerator.

Change-Id: I031809adf439b1766048768b782c57e7f2494006
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371479
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-17 22:39:48 +00:00
John Stiles
d12046432d Remove ProgramSettings from IRGenerator and the Inliner.
These classes now read the program configuration from the Context.

Change-Id: I15c95cacebb9836ee8f2162c4f4b7f99d453639c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371396
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-02-17 22:17:22 +00:00