Commit Graph

54687 Commits

Author SHA1 Message Date
Kevin Lubick
38320680cb [canvaskit] Proof of Concept for Typescript-build structure
This CL demonstrates the following
 - Interface code written in TS
 - Having support for modular builds (e.g. making Paragraph
   optional)
 - Avoiding monolithic interface files
 - Using eslint to enforce style and avoid errors.
 - Working debug and release build (using example.html)

Many of these files would be generated via a tool (that
has not been written yet).

go/ts-canvaskit

Change-Id: Ibe9a214d5897b09920cef01f6e95302f3cf30d5c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/392297
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2021-04-09 19:01:49 +00:00
Adlai Holler
3cffe81f0d Improve GrResourceAllocator test infrastructure
Adding new tests in an upcoming CL. This sets the stage for that.

I also outlined the Register ctor so that the diff in the next CL is
more readable.

Bug: skia:10877
Change-Id: I604f1ce811cddf1d1105716f114e27ce12bf8249
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394998
Commit-Queue: Adlai Holler <adlai@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-04-09 18:31:27 +00:00
Herb Derby
ffef19c51e drawGlyphs API for SkCanvas
Change-Id: Ieecbb3ec130b2598d21fbe12ab4830046ae95e4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394216
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-04-09 18:18:37 +00:00
Herb Derby
e4454aaf23 update gn_to_cmake's minimim required cmake version
Change-Id: I86f157b8d5885f1bf4cc013fc8e58d64dc1ba66e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/395096
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-04-09 17:38:27 +00:00
Ethan Nicholas
80f6235688 Fixed an issue with passing DSLVar as a DSL function parameter
DSLVar is normally implicitly converted to DSLExpression wherever it is
used, but the naively template-ized nature of DSLFunction::operator()
meant that it was accepting DSLVar parameters directly. Since DSLVar is
non-copyable, this meant DSLVar couldn't be passed directly to a DSL
function.

The smarter templates in this change are able to pass DSLVar by
reference.

Change-Id: Id04531f909cefd29b377c46e37fc4525bb29953c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394161
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-04-09 17:13:27 +00:00
Mike Klein
a12796b42c fix git-sync-deps
We really do use this.

Change-Id: I0defcf8aa3b23eec89b38b6720228daa8d50c27b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394956
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2021-04-09 15:52:57 +00:00
skia-autoroll
9a5d620c0a Roll SK Tool from fcd5403831ac to 2035342cd489
https://skia.googlesource.com/buildbot.git/+log/fcd5403831ac..2035342cd489

2021-04-09 kjlubick@google.com [gold] Use go/now everywhere.
2021-04-09 kjlubick@google.com [gold] Make the repos to track for landed CLs optional
2021-04-09 kjlubick@google.com [gold] Roll out tracking landed CLs via gitilesfollower
2021-04-09 borenet@google.com [gerrit] CreateAndEditChange: Don't attempt to edit single-line commit message
2021-04-09 rmistry@google.com [task_driver] Add CorsHandler to /json/td/{taskId}
2021-04-08 jcgregorio@google.com Switch Bazel to Go 1.16.

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 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

Tbr: lovisolo@google.com
Change-Id: Iee25261ec7f5d3d05a3fd9cc51bfaeb1f2325701
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394881
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-09 15:45:57 +00:00
John Stiles
b0ce42da05 Simplify some Constructor::Convert calls.
When we know the input types ahead of time, it's more efficient to call
ConstructorFoo::Make than to call Constructor::Convert, because we can
cut out the complex logic in convert_compound_constructor.

Change-Id: I147faa6d613ebc90de5d9bbb14e0b6db235a1802
Bug: skia:11032
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393397
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-04-09 15:41:27 +00:00
John Stiles
3509210622 Implement array == and != on SPIR-V.
GLSL (post-ES2) allows array comparison: http://screen/8gryPvb9T7gndyb

Unfortunately, because ES2 does not support array comparisons, we can't
add this test to the dm test suite.

Change-Id: I06b71683e49b2631669cff801dc647951a81a299
Bug: skia:11849
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394162
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-04-09 15:33:57 +00:00
John Stiles
e3d469325c Remove reserved slots from Rehydrator command enum.
This renumbers the dehydrated data.

Change-Id: Ic1fc610d073a12d4e552a7c03e2e8630d8138a3a
Bug: skia:11032
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393236
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-04-09 15:15:57 +00:00
John Stiles
781496ffe5 Add unit test for array of zero or negative size.
Change-Id: Icc710e414388e4026a5e9819a53b8dac8ee0a2d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394896
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-04-09 14:38:47 +00:00
Eric Boren
4a0bd477a6 [sk] Add DEPS entry for "sk" tool
http://go/sk-tool-design

Change-Id: I9db85a71ec78862bdfd442d3d9e95c14a8de2ec6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394221
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2021-04-09 14:21:37 +00:00
John Stiles
d47330feed Add support for struct constructors to SkSL.
This is allowed in OpenGL ES2, and its absence in SkSL has been a pain
point for new users adopting Runtime Effects.

Change-Id: Id2ed78261a2cd2b14b49ad22cb74cdc9e0905f8a
Bug: skia:11368
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393418
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-04-09 13:54:16 +00:00
Brian Osman
0351d5af88 Add user docs about Skia coordinate spaces
Includes a general explanation of device vs. local, how shaders don't
move with geometry, and how to use canvas transforms. Also shows
localMatrix on an SkShader. Finally, links to that from the SkSL page,
and adds SkSL-specific notes about coordinates.

Bug: skia:11763
Change-Id: I31462aff66ff8514392098b972a10e7c96e4f254
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393516
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-04-09 13:50:19 +00:00
Joe Gregorio
6d635543e2 Upgrade Go to 1.16.3.
Change-Id: I2654ad43acd90d8a65dc2f54b47c0d9085e69175
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394836
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2021-04-09 13:33:37 +00:00
Brian Osman
9be7683222 Support integer uniforms in CanvasKit runtime effects
These were added to SkRuntimeEffects, but we need to do a bit of fixup
in the CK bindings. Note that 'getUniformFloatCount' is now poorly
named, but the idea still stands: it's how many total scalar values are
required.

Bug: skia:11803
Change-Id: If464156d8e6240736e324ef833e57ba7d53f55a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394476
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-04-09 12:42:17 +00:00
skia-autoroll
48d13b2e2c Roll Chromium from 1a1c57de9e55 to 5368f81b40a5 (483 revisions)
1a1c57de9e..5368f81b40

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 csmartdalton@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: csmartdalton@google.com
Change-Id: Ie4b1f8f9255062a046588e3736972fa517139ad2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394657
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-09 05:07:46 +00:00
skia-autoroll
1f20aec442 Roll ANGLE from fc28c1db5f01 to 4340fcfaa8d0 (13 revisions)
fc28c1db5f..4340fcfaa8

2021-04-09 cclao@google.com Vulkan: Add command option to run app traces with minimum GPU work
2021-04-08 cnorthrop@google.com Tests: Add Call Break: Offline Card Game trace
2021-04-08 doughorn@google.com Revert "Fix multithreaded crash on draw commands on D3D11 backend."
2021-04-08 timvp@google.com PPO: Fix updating sampler uniforms between draws
2021-04-08 cnorthrop@google.com Tests: Add Bubble Shooter trace
2021-04-08 ynovikov@chromium.org Fix iOS and Android component builds
2021-04-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from c8a676460af3 to 6cad7c765c8b (151 revisions)
2021-04-08 doughorn@google.com Fix multithreaded crash on draw commands on D3D11 backend.
2021-04-08 timvp@google.com Reset mCurrentGraphicsPipeline in ProgramExecutableVk::reset
2021-04-08 jmadill@chromium.org Make "force context check" an optional GN flag.
2021-04-08 lubosz.sarnecki@collabora.com Tests: Add Professional Baseball Spirits trace.
2021-04-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 575b36060ded to c18d8cd5016c (3 revisions)
2021-04-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 743bf032b75b to c8a676460af3 (490 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 csmartdalton@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: csmartdalton@google.com
Test: Test: ProgramPipelineTest31.SampleTextureAThenTextureBTest: Test: Ran MultithreadingTest. Test exhibits a crash before thisTest: Test: SamplersTest31.SampleTextureAThenTextureBTest: Test: angle_perftests --gtest_filter="*bubble_shooter*"Test: Test: angle_perftests --gtest_filter="*call_break_offline_card_game*"Test: Test: angle_perftests --gtest_filter="*professional_baseball_spirits*"
Change-Id: I4128511bfc4427d88bb5afeb075739324e51e6cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394716
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-09 04:55:46 +00:00
skia-autoroll
148f04d50e Roll Dawn from c243f67d58e4 to 4a7c120456ad (7 revisions)
https://dawn.googlesource.com/dawn.git/+log/c243f67d58e4..4a7c120456ad

2021-04-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 933d44a2c8b9 to c76ec15b4589 (8 revisions)
2021-04-08 amaiorano@google.com Remove usage of tint::Validator
2021-04-08 cwallez@chromium.org Only allow CompareFunction::Undefined for samplerDesc.compare
2021-04-08 yunchao.he@intel.com Add unsafe API tests for 3D textures
2021-04-08 bryan.bernhart@intel.com D3D12: Disable NV12SampleYUVtoRGB on NV bot
2021-04-08 yunchao.he@intel.com Use __VA_ARGS__ for texture expectation helpers/macros
2021-04-08 bajones@chromium.org Fill CompilationInfo with Tint diagnostic messages

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 933d44a2c8b9 to c76ec15b4589

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 jrprice@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: jrprice@google.com
Change-Id: Ia3aeee74b593a7f1e43a443c9972cccac7cef002
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394717
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-09 04:48:46 +00:00
Michael Ludwig
79aaa9b6c1 Remove inaccurate assert in attemptQuadOptimization
This assert was only accurate if the input edge flags were all 0s or
all 1s, and set in conjunction with the overall aa policy (e.g. aa = yes
meant all edge flags were 1). Then any cropping of a large draw would
have no change when it updated the edge flags.

However, this premise is flawed when the quad has mixed edge flags,
since it could still be anti-aliased but have non-aa edges that are
off screen. When they are cropped, those edge flags would correctly
switch from 0 to 1.

I didn't go so far as to replace *aa with GrAA::kNo, even though the
crop to the device bounds is technically non-aa. Keeping it as *aa
increases the probability that we keep the flags as 0000 or 1111,
which are slightly faster than mixed flags. Any cropping to the
device bounds is visually the same either way since they will be
cropping to integer coords.

Bug: chromium:1196090
Change-Id: If8fc6006b5846967e33e90063f00b82b50fe61f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394356
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-04-08 23:56:45 +00:00
Ethan Nicholas
b14e6b9055 Added _Type suffix to DSL Type enum
No functionality changes, just making the naming consistent with our
other enums.

Change-Id: Ic9bc4a89f8373e4dc1060067a41468fb626e5fa1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394160
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-04-08 21:55:05 +00:00
Brian Salomon
c81272af27 Avoid GL_RED/GL_UNSIGNED_BYTE on PowerVR SGX 54x
Bug: https://github.com/flutter/flutter/issues/71315

Change-Id: I36fe76a1f6347a2d219095118a1f5e593db4ff5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394159
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-04-08 20:48:15 +00:00
Jorge Betancourt
265e3e1c0a [androidkit] initial commit for androidkit
This commit introduces the foundation for android kit.
Included is the ability to make calls to native code through the JNI as well as a wrapper for SkCanvas to be used in the Android view hierarchy.


Change-Id: Id2416776e676210d4600898bada3356a9116eb55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393356
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-04-08 20:21:04 +00:00
Adlai Holler
e1c8a38794 Add GrResourceCache::purgeToMakeHeadroom
This function will be used by the resource allocator to figure out
whether an allocation plan is feasible without committing to it.

Bug: skia:10877
Change-Id: I135b7b80d53d9c3541d2fa0313d91d14a1d54eb2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394156
Commit-Queue: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-04-08 20:20:35 +00:00
Herb Derby
022636b15a add RSXForm to SkGlyphRun
RSXForm is not stored directly in the glyph run. The Tx and
Ty portions are stored in the positions, and the scos, and ssin
portions in a span of SkVector.

This CL just adds the space for the extra information, but does
not utilize it yet.

Change-Id: I93e2140fb28a6638a57b6d811ed6dc823e8de6ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394217
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-04-08 19:50:45 +00:00
Derek Sollenberger
2da31edf76 Add ability to trace wrapped objects and be able to differentiate
the wrapped from unwrapped items.

Bug: b/182142615
Change-Id: Ic76157ab360b977db9c063e9536dd520992c2a03
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393596
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-04-08 18:38:14 +00:00
Adlai Holler
640c5b4592 Make findAndRefScratchTexture public; add scratch key variant
The resource allocator already has a scratch key and it
needs to be able to find scratch textures without instantiating them.

Bug: skia:10877
Change-Id: Ia0d4c52147ae799f4e19fb0eabdc2d63cf21c110
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394117
Commit-Queue: Adlai Holler <adlai@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-04-08 18:21:04 +00:00
Kevin Lubick
4a84c34383 [canvaskit] Expose Strut RectHeightStyle
Bug: skia:11845
Change-Id: Ic0c0812a906bc9c71194ae8a118e04b22194dc69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393976
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-04-08 17:52:35 +00:00
John Stiles
bc5c2a0ab9 Implement struct == and != on SPIR-V.
OpenGL ES2 allows structs to be compared: http://screen/6KnX4ZfkdLtqDWv
This already worked in GLSL, Metal and SkVM.

Change-Id: Iaf7029c0c1ea9d447348c8280a2788f0d36befad
Bug: skia:11846
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393598
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-04-08 17:17:34 +00:00
Adlai Holler
ca1137b1d1 Give GrResourceAllocator a GrDirectContext
This allows it to access the resource cache as well as the provider,
and paves the way for memory budgeting inside the resource allocator.

Bug: skia:10877
Change-Id: I01e9c02e445494ac431b288f41006ae7360ff791
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394116
Auto-Submit: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-04-08 17:16:54 +00:00
Chris Dalton
27d827820c Explicitly choose the single- or multsampled FBO when binding glRTs
Bug: skia:11396
Bug: skia:11838
Change-Id: I61a252c074062eb4304c590e9681121b2f5ab304
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393164
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-04-08 16:46:34 +00:00
Chris Dalton
1034ad2f29 Delete glCaps.detachStencilFromMSAABuffersBeforeReadPixels
Now that we have a non-msaa FBO on Adreno chips this workaround is no
longer necessary.

Bug: skia:11396
Bug: skia:11838
Change-Id: Ibd3386dcbcbefcf9506a07bbd095ee9431552d2a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393718
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-04-08 16:03:42 +00:00
Chris Dalton
a655a33264 Rename glrt::fRTFBOID -> fMultisampleFBOID
As part of this we also create two fbos now for
multisampled_render_to_texture: one msaa and one not.

Bug: skia:11396
Change-Id: If519b52ec79de4b2abeac2c5658f766f1c7e8d9c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/392746
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-04-08 16:03:04 +00:00
Dominik Röttsches
f6eccd4644 Roll FreeType
dfa7cca5f3..f9350be1e4

Includes fixes for COLRv1 fuzzer findings and fixes for issues
with state kept between glyphs in hinting.

Change-Id: I72dba955e948715bbf7b2f6c45a44339f74cfaa5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/394036
Auto-Submit: Dominik Röttsches <drott@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-04-08 14:03:03 +00:00
Heather Miller
3295ea8d70 Update Skia milestone to 92
Change-Id: Ic8528149f531dfa78cfb994d9e6f080a4cc3139c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393917
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
Auto-Submit: Heather Miller <hcm@google.com>
2021-04-08 12:26:56 +00:00
skia-autoroll
b99622c05a Roll Chromium from 2c01c629347b to 1a1c57de9e55 (488 revisions)
2c01c62934..1a1c57de9e

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 csmartdalton@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: csmartdalton@google.com
Change-Id: Ice0976efa3fa64977b1159c8563927faf122a100
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393816
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-08 05:07:42 +00:00
skia-autoroll
cac6ed757c Roll ANGLE from 6d905c76310e to fc28c1db5f01 (20 revisions)
6d905c7631..fc28c1db5f

2021-04-08 cnorthrop@google.com Tests: Add Disney Tsum Tsum trace
2021-04-07 b.schade@samsung.com Vulkan: Update layer provoking vertex for geometry shaders
2021-04-07 cnorthrop@google.com Capture/Replay: Ignore deletes of buffer 0
2021-04-07 jmadill@chromium.org Vulkan: Refactor to descriptor offset array.
2021-04-07 lubosz.sarnecki@collabora.com restricted_traces: Remove sha1 remains.
2021-04-07 chrisforbes@google.com Expand CL plumbing support to cover all versions
2021-04-07 jmadill@chromium.org Perf Tests: Trigger test failure on API errors.
2021-04-07 cnorthrop@google.com Scripts: Update bootstrap.py to python3
2021-04-07 jmadill@chromium.org Handle trace prerequisites.
2021-04-07 cnorthrop@google.com Capture/Replay: Fix upload script
2021-04-07 pkotwicz@chromium.org Improve Angle Android gtest support
2021-04-07 jmadill@chromium.org perf_test_runner: Enable all trace tests.
2021-04-07 jmadill@chromium.org restricted trace tests: Fix script.
2021-04-07 timvp@google.com Add Mesa Vendor ID
2021-04-07 m.maiya@samsung.com Refactor roll_aosp.sh
2021-04-07 lubosz.sarnecki@collabora.com capture: Implement capturing GLES1 vertex pointers.
2021-04-07 lubosz.sarnecki@collabora.com EGLWindow: Append noError context attribs only if enabled.
2021-04-07 jplate@google.com Fixed OpenCL headers for Windows
2021-04-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from fac6f6b00985 to 575b36060ded (3 revisions)
2021-04-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 9bacc030553c to 743bf032b75b (182 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 csmartdalton@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: csmartdalton@google.com
Test: Test: MEC for Disney Tsum TsumTest: Test: angle_perftests --gtest_filter="*disney_tsum_tsum*"
Change-Id: Ib275a2aebd6e7998b8ef62c6487b1ad1914c7706
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393639
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-08 04:56:02 +00:00
skia-autoroll
b5344509a2 Roll Dawn from 1fb3f1dafc1c to c243f67d58e4 (10 revisions)
https://dawn.googlesource.com/dawn.git/+log/1fb3f1dafc1c..c243f67d58e4

2021-04-08 jiawei.shao@intel.com Refactor APICreateComputePipelineAsync to support both sync and async path
2021-04-07 bclayton@google.com Default use_tint_generator to on for D3D12
2021-04-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from dac541881979 to 933d44a2c8b9 (5 revisions)
2021-04-07 cwallez@chromium.org Vulkan: Check for device loss in CheckAndUpdateCompletedSerials
2021-04-07 yunchao.he@intel.com Fix a bug for multisample texture validation
2021-04-07 yunchao.he@intel.com Remove parameter layer and use origin.z in MACROs
2021-04-07 amaiorano@google.com Disable D3D12DescriptorHeapTests.NoSwitchOverSamplerHeap for tint
2021-04-07 amaiorano@google.com Disable BindGroupTests for D3D12 + tint regardless of backend validation
2021-04-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 09356cc3dc41 to dac541881979 (13 revisions)
2021-04-07 hao.x.li@intel.com Reset query set on Vulkan Backend

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 09356cc3dc41 to 933d44a2c8b9

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 jrprice@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: jrprice@google.com
Change-Id: I727a27fa7a82f328148baf39d9d46eb8dc724223
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393817
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-08 04:43:42 +00:00
Brian Salomon
860ac14a56 Assume wrapped texture with renderable format may have been bound to FBO
Bug: chromium:1191058
Change-Id: Id5fba69e1e9d1503d02bb015900b202d08483d9b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393597
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-04-07 22:16:01 +00:00
Greg Daniel
a92d78704d Return handle when getting simple render pass in vulkan.
We then store this handle on the GrVkFramebuffer. This will be used in
follow on CL to help remove the use of GrVkRenderTarget in the
GrVkOpsRenderPass.

Bug: skia:11809
Change-Id: I979de4e474be1d5e5683dc263fe347cfb63b2342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393376
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-04-07 20:40:41 +00:00
Jim Van Verth
cbbd5653da Fix mipScale issue in GrSmallPathRenderer
Bug: skia:11840
Change-Id: Ief89855554e4ed21da20a2fdef4945294cf46498
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393416
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-04-07 19:27:00 +00:00
John Stiles
8cad6374f0 Rename composite constructors to compound constructors.
Change-Id: Ic1f5d28651e8de9d9ecea2a0bcfa73063dd90a9d
Bug: skia:11032
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393337
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-04-07 19:13:20 +00:00
John Stiles
8317d0b775 Remove universal Constructor class.
It is no longer used.

Change-Id: I1f5861ea4043440d7a6a31e5268e24c62fb1660e
Bug: skia:11032
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393217
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-04-07 19:09:00 +00:00
John Stiles
268a73f9e8 Represent matrix casts with CompositeCast type.
Vector and matrix typecasting is mechanically very similar, so it makes
sense to represent these with a single constructor type and paper over
the tiny differences in each backend. (SPIR-V in particular needs a
separate path for matrix casting versus vector casting.)

Change-Id: Id9ea7ca6297e69b3e813c69bfdc56073b50d8d89
Bug: skia:11032
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393216
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-04-07 19:08:10 +00:00
Brian Salomon
75ee737770 remove prepForSampling from GrSurfaceContext::writePixels.
We believe with advent of  GrBackendSurfaceMutableState that this is
only needed for inline atlas uploads. Those call GrGpu directly.

Bug: 1191058
Change-Id: Iad851ebc9f5b7df21d16064a84caa9575da98634
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393082
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-04-07 13:33:28 +00:00
John Stiles
2bec8ab55b Represent vector/matrix composition with the ConstructorComposite type.
ConstructorComposite is a slight rework of ConstructorVector;
mechanically, both vector and matrix composition behave the same and
can share the same logic.

The generated code in SPIR-V and Metal still has some tweaks due to
different handling for matrices in these languages, but the SkSL
internal model mimics GLSL's view that vectors and matrices can be
created by lumping together any mix of scalars and vectors.
The backends will continue to adapt this model to their reality.

Change-Id: Ia2781c8a9dd3b4ba55ef93e33ac252eaeec844ac
Bug: skia:11032
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393178
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-04-07 13:24:08 +00:00
Brian Osman
5c62582874 Require that runtime effect child variables are 'uniform'
Bug: skia:11374
Change-Id: I63d605eabbe514a0469d00d8a671969874f3edd4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393081
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-04-07 13:16:28 +00:00
skia-autoroll
3ecd714c72 Roll Chromium from af77d977c68d to 2c01c629347b (483 revisions)
af77d977c6..2c01c62934

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 csmartdalton@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: csmartdalton@google.com
Change-Id: Ibf282e84409087ca35c2c388ae1601396f063fd6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393276
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-07 06:01:18 +00:00
skia-autoroll
b10889f37d Roll Dawn from 6f2bbe9896aa to 1fb3f1dafc1c (8 revisions)
https://dawn.googlesource.com/dawn.git/+log/6f2bbe9896aa..1fb3f1dafc1c

2021-04-07 yunchao.he@intel.com Implement 3D texture copy on D3D12: T2B and T2T
2021-04-06 yunchao.he@intel.com Remove parameter layer in EXPECT_TEXTURE_RGBA8_EQ
2021-04-06 cwallez@chromium.org Add the -Wredundant-move warning.
2021-04-06 cwallez@chromium.org Use .gn to set overrides for VulkanMemoryAllocator
2021-04-06 cwallez@chromium.org Roll third_party/vulkan_memory_allocator/ 732a76d9d..1ecb35c39 (1 commit)
2021-04-06 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 2f04dc94ce25 to 09356cc3dc41 (1 revision)
2021-04-06 cwallez@chromium.org Add build_overrides/vulkan_memory_allocator.gni
2021-04-06 cwallez@chromium.org Fix dawn_native/CMakeLists by removing commas

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 2f04dc94ce25 to 09356cc3dc41

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 jrprice@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: jrprice@google.com
Change-Id: Ia3f4c79b3d5768aa9fb3c53009db5ff763c6123a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/393277
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-07 05:00:37 +00:00
skia-autoroll
2f5a91c531 Roll ANGLE from 2f22157acd0d to 6d905c76310e (18 revisions)
2f22157acd..6d905c7631

2021-04-07 cclao@google.com Vulkan: Remove initImmutableImage and use initImage instead
2021-04-07 cclao@google.com Vulkan: Remove maxLevel and immutable from ImageHelper::initExternal
2021-04-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 99ef73b66e73 to 9bacc030553c (0 revision)
2021-04-06 jmadill@chromium.org Vulkan: Suppress draw-time push constant VVL warnings.
2021-04-06 cclao@google.com Vulkan: Remove mMaxLevel from ImageHelper class
2021-04-06 timvp@google.com Mark most draw modes valid when no program is bound
2021-04-06 sunnyps@chromium.org Support GL_EXT_texture_type_2_10_10_10_REV on D3D backend
2021-04-06 cclao@google.com Vulkan: Remove mBaseLevel from ImageHelper class
2021-04-06 jmadill@chromium.org Vulkan: Use constants for descriptor types.
2021-04-06 lexa.knyazev@gmail.com GL: Align emulated ETC1 handling with other backends
2021-04-06 cclao@google.com Vulkan: Make storage actually immutable for immutable textures
2021-04-06 b.schade@samsung.com Vulkan: Fix geometry shader validation with vertex shaders
2021-04-06 liaoyuke@chromium.org Lacros: Fix xvfb condition in angle
2021-04-06 m.maiya@samsung.com Vulkan: Assign XFB location first then assign varying location
2021-04-06 cwallez@chromium.org Factor common Vulkan build_overrides in vulkan_common.gni
2021-04-06 cwallez@chromium.org Add tint: to the list of allowed Bug: tags.
2021-04-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 61083c4a2ae0 to fac6f6b00985 (4 revisions)
2021-04-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 9c9ca054e2bc to 99ef73b66e73 (584 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 csmartdalton@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: csmartdalton@google.com
Test: Test: KHR-GLES31.core.draw_indirect.basic-mode-*adjacencyTest: Test: KHR-GLES32.core.geometry_shader.api.fs_gs_draw_callTest: Test: KHR-GLES32.core.geometry_shader.api.pipeline_program_without_active_vsTest: Test: KHR-GLES32.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_inTest: Test: SimpleOperationTest31.DrawWithoutProgramBoundTest: Test: built Chromium and Angle from sourceTest: Test: gpu_angle_passthrough_fuzzer
Change-Id: Ie3f92899ba5b28cb27c736d3c8327dda4aebb8a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/392971
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-07 04:50:37 +00:00