Commit Graph

48698 Commits

Author SHA1 Message Date
Stephen White
f40cef851c Dawn: fix Device leak in DawnTestContext.
The C WGPUDevice returned by CreateDevice needs an Acquire call to
ensure it's correctly refcounted.

Bug: skia:10291

Change-Id: If5d917165b5846bea1472f24aa12db2db7f3a9e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292958
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2020-06-01 15:38:40 +00:00
John Stiles
59aa4b7187 Revert "Remove double support from SkSL."
This reverts commit 71a35d49b7.

Reason for revert: ASAN failures on swarming bots

Original change's description:
> Remove double support from SkSL.
> 
> Doubles are not supported by Metal or GLSL pre-4.0, are not supported in
> most backends, and aren't used in any GMs. There isn't any good way to
> use them in new code as it would just degrade to float on many of our
> supported platforms. (This is assuming that our backends actually know
> how to degrade doubles to floats, which is not universally the case.)
> 
> Change-Id: Ieacc69db4bdacca104a15a6eef33e05f977d1ffa
> Bug: skia:10299
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292846
> Commit-Queue: John Stiles <johnstiles@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>

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

Change-Id: I175e42420bcae8dfacd0bfeb269dd84e0b3c9d25
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10299
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293268
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-06-01 15:24:42 +00:00
Ethan Nicholas
7c969f26bc Revert "Omit dead SkSL functions"
This reverts commit 97fe0cbed2.

Reason for revert: ASAN failures

Original change's description:
> Omit dead SkSL functions
> 
> Now that SkSL inlines functions, dead functions are very common. This
> change causes them to be omitted from the final output.
> 
> Change-Id: Ie466a3f748812eff1a368498365c89d73ab0b7be
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292684
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

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

Change-Id: Id20c5be67dd574d30d6f978ba610e43aa5018416
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293241
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-06-01 15:00:00 +00:00
Adlai Holler
43b1579dac Make abandonment state of context thread-safe
The plan going forward is to centralize all thread-safe data in GrContextThreadSafeProxy, make it not derive from GrContext_Base, and have all the GrContext-derived classes share a pointer to a context group's shared GrContextThreadSafeProxy. And probably rename the proxy class after retracting it from public API (GrContextFamily?)

Bug: skia:10295
Change-Id: I9807ad0926f9b2d69a8694db974a3bcac9fd66b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292853
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2020-06-01 14:47:07 +00:00
Brian Osman
273944ac7c Convert GrMatrixEffect to pure CPP/H
Prelude to adding situational optimizations

Change-Id: Ie7994a87380ba6135398c9a1d4b26cea6bf32fa8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292972
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-06-01 14:33:57 +00:00
Ethan Nicholas
97fe0cbed2 Omit dead SkSL functions
Now that SkSL inlines functions, dead functions are very common. This
change causes them to be omitted from the final output.

Change-Id: Ie466a3f748812eff1a368498365c89d73ab0b7be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292684
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-06-01 14:27:38 +00:00
John Stiles
71a35d49b7 Remove double support from SkSL.
Doubles are not supported by Metal or GLSL pre-4.0, are not supported in
most backends, and aren't used in any GMs. There isn't any good way to
use them in new code as it would just degrade to float on many of our
supported platforms. (This is assuming that our backends actually know
how to degrade doubles to floats, which is not universally the case.)

Change-Id: Ieacc69db4bdacca104a15a6eef33e05f977d1ffa
Bug: skia:10299
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292846
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-06-01 14:08:17 +00:00
Bryce Thomas
9331ca0704 CanvasKit: implement client-supplied dirty rect support for software surface.
Surface clients can now specify a dirty rect that will constrain HTML canvas
repaints to a particular region.

Bug: NONE
Change-Id: Ia77d6e864c061297bfc82cfa09030523052ee0e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293056
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-06-01 12:05:08 +00:00
skia-recreate-skps
dc69222c84 Update Go Deps
Change-Id: I1122237c87d0725ec02083a87f34d88313082d4c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293220
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-06-01 05:42:10 +00:00
skia-autoroll
7e8f79a420 Roll Chromium from a775f5d273ab to c70c5e32ad0b (561 revisions)
a775f5d273..c70c5e32ad

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 tdenniston@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: tdenniston@google.com
Change-Id: I3ecd4a83bb5213b49f4d4c8c092c6f9de5750cd5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293151
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-01 04:54:46 +00:00
skia-autoroll
481168b258 Roll ANGLE from 33004b09f180 to 48102b2b3655 (17 revisions)
33004b09f1..48102b2b36

2020-05-31 cnorthrop@google.com Perf: Add Candy Crush trace
2020-05-31 cnorthrop@google.com Perf: Add Subway Surfer trace
2020-05-31 cnorthrop@google.com Capture/Replay: Use aligned offsets for binary data
2020-05-29 jmadill@chromium.org Vulkan: Clean up VMA wrapper classes.
2020-05-29 jmadill@chromium.org Vulkan: Pass vk::Context to BufferHelper::init.
2020-05-29 lehoangq@gmail.com Metal: draw 1 triangle instead of 2 for fullscreen shaders.
2020-05-29 jmadill@chromium.org Set gl::Buffer to zero size when allocations fail.
2020-05-29 lehoangq@gmail.com Metal: Use bit fields for state descriptor caching.
2020-05-29 lehoangq@gmail.com Metal: Use 2d array for caching index conversion's pipeline state.
2020-05-29 amaiorano@google.com Fix CopyTextureTestES3.ES3FloatFormats for VK
2020-05-29 msisov@igalia.com Rename DisplayOzone to DisplayGbm.
2020-05-29 ianelliott@google.com Create a pre-rotation test for dFdx() & dFdy()
2020-05-29 cnorthrop@google.com Capture/Replay: Update MEC for Subway Surfer
2020-05-29 amaiorano@google.com Fix float to int copy in VK backend
2020-05-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 9e718f962f87 to 471c120ac92a (1 revision)
2020-05-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from e00d27c6d65b to d39b8afc47a1 (2 revisions)
2020-05-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from afe55126be2d to 3c5bad0911e3 (2 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 tdenniston@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
Bug: chromium:1084458,chromium:1086532
Tbr: tdenniston@google.com
Test: Test: angle_perftest --gtest_filter="*candy*"Test: Test: angle_perftests --gtest_filter="*Trace*"
Change-Id: Ic0e25b70bb5b8eaeed1ee78e121aa742b72f0c84
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293149
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-01 04:53:46 +00:00
Mike Reed
b42a327926 hide savelayer's clipmask fields
Bug: skia:9208
Change-Id: Ieff64b3132e7bf4a51ce9d70ea2f1bad492616da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223923
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2020-05-31 14:06:42 +00:00
skia-recreate-skps
94230f4b05 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I1baa355440de92d70bc6b0f960b049b2e787f058
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293142
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-05-31 08:52:42 +00:00
skia-recreate-skps
9c4c626521 Update Go Deps
Change-Id: I21e5d16ba67191b64656aadb3c249038c59d5943
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293137
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-05-31 05:35:47 +00:00
skia-recreate-skps
25a8404bd1 Update Go Deps
Change-Id: I1b54dd24aca1880fb31976473c4805adff49e90d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293083
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-05-30 05:33:46 +00:00
Brian Salomon
7a34aff3e6 Fix older chromeos tuple constructor deduction error
Change-Id: Ib53285264f59d792a60c2d67a0426f4a2fc42101
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293046
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-05-30 03:22:36 +00:00
Brian Salomon
9c6f6bf031 Add 2x2 bilinear downscale steps to GrSurfaceContext::rescale.
Currently just uses 2x2 configuration but could be adapted easily
to support other sample position layouts.

Change-Id: If857bac5d1fab1b6ee04694e445d0f19431646f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292079
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-05-29 22:33:39 +00:00
Ben Wagner
5b8dd73546 Hide ICU C++ API from Skia users.
Parts of third_party need the C++ API so hide it from Skia users as
needed to prevent re-introduction.

This also avoids the ICU version renaming / name mangling when building
our own test version of ICU. This makes life in an editor and debugger
much easier.

Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292854
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Change-Id: Id636fbf9e750fe72a4ace8a59fb9acac839a07c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292967
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-05-29 21:43:19 +00:00
Dominic Mazzoni
1dbc3b5339 Tagged PDFs should output an IDTree.
The PDF spec requires that tagged PDFs have a unique
alphanumeric ID for each structure element node, and an
IDTree structure that maps IDs to an indirect reference
to the PDF node containing that element.

This patch adds support for the IDTree, and also fixes
the IDs we output for each node to be strings (not names)
and makes them zero-padded so that we can easily output
the IDs in sorted lexicographic order by making that match
numeric order.

PDFs output by Skia now pass CommonLook's
Integrity Validator; these ID issues were flagged
as errors previously.

Bug: chromium:607777
Bug: skia:8148
Change-Id: I9b367fe90aa018c21f34abd186e83c53cdde34cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/291689
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
2020-05-29 21:02:30 +00:00
Elliot Evans
b437d7b5e4 Add puppeteer perf for performance degredation related to transforming a complex path. Translations
and rotations both have an effect on cache usage. Snapping translations to integer coordinations
reduces cache usage. Opacity of path painting does not have an effect on cache usage.

Bug: skia:10272
Change-Id: Id5d5f08cb43645c9ec44b9d8e5e96643041727c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292280
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-05-29 20:17:14 +00:00
Jim Van Verth
620c3d9519 Fix D3D static buffers and set rendertarget
Change-Id: Id1776cfa41965caf89a9a741849df3f58270994e
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292968
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-05-29 20:13:14 +00:00
Greg Daniel
cc7ec24ca8 Move backend surface vk getters and setters back out from behind compile flag.
Chrome uses these and they don't guard their code so we have to leave them
available.

Change-Id: I3bb1d0830a42e18adcf682062ec9fdf5594e7098
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292961
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-05-29 19:18:46 +00:00
Ben Wagner
2837f24a16 Revert "Hide ICU C++ API from Skia users."
This reverts commit 5ef0d2f6c0.

Reason for revert: Sharing a build with flutter is crazy pants.

Original change's description:
> Hide ICU C++ API from Skia users.
> 
> Parts of third_party need the C++ API so hide it from Skia users as
> needed to prevent re-introduction.
> 
> This also avoids the ICU version renaming / name mangling when building
> our own test version of ICU. This makes life in an editor and debugger
> much easier.
> 
> Change-Id: I8fb1903e2b31e9dd04efa22173a03115d629c232
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292854
> Reviewed-by: Julia Lavrova <jlavrova@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>

TBR=bungeman@google.com,reed@google.com,jlavrova@google.com

Change-Id: If238225b20a6b73064e3b16c5e0bdc89760e522d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292966
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-05-29 19:08:04 +00:00
Ben Wagner
def1df3f11 Create CTTypesetter without Options.
Calling the 'AndOptions' version with nullptr for the options on 10.13
is reported to crash. Since the options are unused, use the version of
the call without them.

Bug: skia:10282
Change-Id: I6674b0230f403744c9dd471245eeb3a78c2a4417
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292727
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-05-29 18:57:26 +00:00
Herb Derby
31adbc6bb0 tease apart GrTextBlob and SubRun
In preparation to make subclasses of SubRun, make the
SubRunType private to SubRun.

Change-Id: I7d5e3cb510a643f162acefda46e65e7c0df0c7ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292852
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-05-29 18:53:36 +00:00
Ben Wagner
5ef0d2f6c0 Hide ICU C++ API from Skia users.
Parts of third_party need the C++ API so hide it from Skia users as
needed to prevent re-introduction.

This also avoids the ICU version renaming / name mangling when building
our own test version of ICU. This makes life in an editor and debugger
much easier.

Change-Id: I8fb1903e2b31e9dd04efa22173a03115d629c232
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292854
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-05-29 18:04:46 +00:00
Herb Derby
a50830b6f4 Rename fUniqueID -> fMessageBoxID
Change-Id: I8f3630236b799ebdf203a83972fe245b2f073472
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292680
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-05-29 18:00:26 +00:00
Chris Dalton
0d0758e42a Wire up mouse and keyboard events in CanvasKit viewer
Change-Id: I10b57f18edb516b48be3ba16f98a540370ec689f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292793
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-05-29 17:24:30 +00:00
Greg Daniel
6c6caf420a Add GrBackendMutableState object to handle shared texture state.
This is will be the main struct used to synchronize changes of certain
texture/image between clients and Skia. With this change we
implement support for the Vulkan shared state as POC.

Bug: skia:10254
Change-Id: I10543357635c347838b193874e4da4496a0dcf06
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292311
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-05-29 16:53:08 +00:00
Michael Ludwig
c453a507e4 Rename fIH variable to fInvH
Change-Id: I742d684a6375f48f4612c9db7d12693b1813d778
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292850
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Weston Tracey <westont@google.com>
2020-05-29 16:44:29 +00:00
Chris Dalton
a3908ef970 Merge PathText samples into one, with different modes
Change-Id: I640cd522c1c83f7534c86ebfd6a6f3904fb90206
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292734
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-05-29 16:35:25 +00:00
Nigel Tao
5dbc3f87e7 Fix markdown typo in the style guide
Change-Id: I58a67d145ee088142c2791f7b447beaaf93aef56
No-Try: true
Docs-Preview: https://skia.org/?cl=292496
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292496
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2020-05-29 16:24:57 +00:00
Stephen White
fdba6c8b76 Modify SurfaceTest to only test readbacks from supported surfaces.
Dawn: support readbacks in caps only from Texture-based surfaces.
Change-Id: I3681b9418f592d9c511931cb422f0f8fb113ff73
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/291973
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2020-05-29 16:21:45 +00:00
Brian Osman
5d7759e1f4 Minor cleanup in the sample_matrix GMs
While trying to debug matrix sampling, I wanted to make these
easier to work with.

Change-Id: I24889277e7bf0dbdabf012028248c32641c98232
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292838
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-05-29 16:11:45 +00:00
Robert Phillips
5dbcca5634 Update DDL test harness to better match OOP-R
OOP-R, on the gpu thread, creates the DDL, pre-compiles its shaders, draws it, flushes and then deletes the DDL. This process triggered a bug (cf. https://skia-review.googlesource.com/c/skia/+/292818 and crbug.com/1056730).

Prior to this CL all the programs were compiled and only at the end was any work flushed - thus it was likely that the bound program would be reset to the correct value when rendering.

With this CL, the addition of the flush right before the DDL deletion, makes it more likely that the wrong program will be bound when rendering begins.

Change-Id: I60479bd429e132d8652bbffde6c8b71094be6225
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292257
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-05-29 15:58:05 +00:00
Nathaniel Nifong
59d299ba3f Record code coverage in canvaskit tests, increase coverage
Fix a bug with paragraph text direction that an incorrect unit test wasn't detecting.

Change-Id: I73418ea8a90da097078d93ddf8692a55488f672f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292366
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-05-29 15:53:35 +00:00
Herb Derby
a727122007 Move hasW to SubRun
Ecapsulate SubRunType better by moving hasW
to subRun.

* Split out implementation of firstSubRun()

Change-Id: Ibb037d495a921c99f318596992187b1b3c1e0725
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292842
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-05-29 15:20:22 +00:00
Robert Phillips
df546db4d8 Make GrGLProgram inform GrGLGpu when it changes the bound program
This error "worked" in normal rendering since Ganesh would always immediately use the same program after it was compiled. This is no longer true with pre-compilation of a DDL's programs.

Bug: 1056730

Change-Id: I9abbb8ecbd0612dfb828e6cc0888e9db09850048
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292818
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-05-29 15:14:57 +00:00
Michael Ludwig
7c12e28cf4 Reland "GrClips provided as pointers to GrRTC"
This reverts commit 074414fed5.

Reason for revert: updated to guard against nullptr before calling
quickContains(rrect).

Original change's description:
> Revert "GrClips provided as pointers to GrRTC"
>
> This reverts commit 226b689471.
>
> Reason for revert: Breaks Android roller
>
> Original change's description:
> > GrClips provided as pointers to GrRTC
> >
> > A null clip represents no high-level clipping is necessary (the implicit
> > clip to the render target's logical dimensions is fine).
> >
> > This also removes GrNoClip and GrFixedClip::Disabled() since they are
> > replaced with just nullptr.
> >
> > By allowing nullptr to represent no intended clipping, it makes it easier
> > to require GrClip and GrAppliedClip objects to know about the dimensions
> > of the device. If we required a non-null clip object to represent no
> > clipping, we'd have to have an instance for each device based on its
> > size and that just became cumbersome.
> >
> > Bug: skia:10205
> > Change-Id: Ie30cc71820b92d99356d393a4c98c8677082e761
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/290539
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
>
> TBR=bsalomon@google.com,csmartdalton@google.com,michaelludwig@google.com
>
> Change-Id: I42c4828bcf016ee3d30d5c20b771be96e125817b
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:10205
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292856
> Reviewed-by: Weston Tracey <westont@google.com>
> Commit-Queue: Weston Tracey <westont@google.com>

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

# Not skipping CQ checks because this is a reland.

Bug: skia:10205
Change-Id: I5715a4de3b7c8847b73020dc4937d3816d879803
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292876
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-05-29 15:09:54 +00:00
Brian Salomon
c0d88a12d1 Remove SkSurface::MakeFromBackendTextureAsRenderTarget from public API
Still some more work to do to remove internal usage.


Bug: skia:9832
Change-Id: Id0403d92debc26af2002630a4dfcf960c9343260
Docs-Preview: https://skia.org/?cl=292719
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292719
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-05-29 15:09:52 +00:00
Ben Wagner
19ef693adc Remove last unistr.h include.
No longer used, but managed to avoid previous capture by being included
in quotes instead of brackets. Do some iwyu while at it.

Change-Id: I838474132995ca130c93f94beaab606828504309
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292733
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-05-29 15:04:49 +00:00
Nathaniel Nifong
07821def6c Performance test of color conversion
Change-Id: I77261450d67746da0ba94f02a23615b7c9a634e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292563
Reviewed-by: Elliot Evans <elliotevans@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-05-29 15:04:48 +00:00
Brian Osman
921cdbb387 Fix dimensions of color_cube_rt slide
Change-Id: Ic6d26b1e3126298ac0de3e88468e3598b3de3d49
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292836
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-05-29 14:59:43 +00:00
Mike Klein
ac37b7afe0 remove old kDCIP3 alias
These numbers were Display P3.

Bug: skia:9792
Change-Id: I1aded49427aa0fa4bcd8a0f563b36d2180383900
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292822
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-05-29 14:59:43 +00:00
Weston Tracey
074414fed5 Revert "GrClips provided as pointers to GrRTC"
This reverts commit 226b689471.

Reason for revert: Breaks Android roller

Original change's description:
> GrClips provided as pointers to GrRTC
> 
> A null clip represents no high-level clipping is necessary (the implicit
> clip to the render target's logical dimensions is fine).
> 
> This also removes GrNoClip and GrFixedClip::Disabled() since they are
> replaced with just nullptr.
> 
> By allowing nullptr to represent no intended clipping, it makes it easier
> to require GrClip and GrAppliedClip objects to know about the dimensions
> of the device. If we required a non-null clip object to represent no
> clipping, we'd have to have an instance for each device based on its
> size and that just became cumbersome.
> 
> Bug: skia:10205
> Change-Id: Ie30cc71820b92d99356d393a4c98c8677082e761
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/290539
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

Change-Id: I42c4828bcf016ee3d30d5c20b771be96e125817b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10205
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292856
Reviewed-by: Weston Tracey <westont@google.com>
Commit-Queue: Weston Tracey <westont@google.com>
2020-05-29 12:55:44 +00:00
skia-recreate-skps
ae7ec62515 Update Go Deps
Change-Id: I1a6b4726db7954da20ef93fa1dce271f64be072b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292787
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-05-29 05:31:42 +00:00
skia-autoroll
aafe1fc0fa Roll ANGLE from 6a184fe947ed to 33004b09f180 (8 revisions)
6a184fe947..33004b09f1

2020-05-28 ynovikov@chromium.org Roll VVL and Headers to v1.2.141
2020-05-28 cclao@google.com Add egl::ShareGroup class to abstract the share context group
2020-05-28 flibitijibibo@gmail.com GGP: Check and enable VK_GGP_frame_token
2020-05-28 jonahr@google.com Port disable_timestamp_queries GPU workaround to ANGLE
2020-05-28 ianelliott@google.com Vulkan: Rotate gl_PointCoord for Android pre-rotation
2020-05-28 geofflang@google.com Fix non-existent required dependency
2020-05-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from 2b0eafb1de5b to e00d27c6d65b (2 revisions)
2020-05-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from d3d89bb90cbd to 8dfdbeff84f3 (4 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 westont@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
Bug: chromium:1075876,chromium:811661
Tbr: westont@google.com
Test: Test: TH presubmit
Change-Id: If4e5382f26fc610de4588bf187052c9f79368d1d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292780
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-05-29 04:48:12 +00:00
skia-autoroll
d8ab8e71db Roll Chromium from f752954c14c1 to a775f5d273ab (485 revisions)
f752954c14..a775f5d273

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 westont@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: westont@google.com
Change-Id: I34f390cd3e1b494a83cb985ebb3d5fe1f23f526c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292778
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-05-29 04:43:12 +00:00
skia-autoroll
7adbda9be5 Roll SwiftShader from 9e718f962f87 to 471c120ac92a (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/9e718f962f87..471c120ac92a

2020-05-28 capn@google.com Don't inline rr::Variable methods

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 westont@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: westont@google.com
Change-Id: I15e46359224d01b3b287b60b93eefe46ae0f4bbf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292779
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-05-29 04:40:12 +00:00
skia-autoroll
dabb0d7864 Roll dawn from a3636ed8883d to 295a4177aebc (4 revisions)
https://dawn.googlesource.com/dawn.git/+log/a3636ed8883d..295a4177aebc

2020-05-28 enga@chromium.org Add ScopedEnvironmentVar class for setting env variables in BackendVk
2020-05-28 enga@chromium.org OpenGL: Fix rendering to a layer of a depth/stencil texture
2020-05-28 enga@chromium.org Metal: Fix rendering to a layer of a depth/stencil texture
2020-05-28 enga@chromium.org Add tests for using a subresource as output attachment

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

Bug: None
Tbr: cwallez@google.com
Change-Id: I62a054759c3edf89216d11f15fb0815ae1f11988
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292781
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-05-29 04:35:12 +00:00