Commit Graph

48904 Commits

Author SHA1 Message Date
Greg Daniel
e8d3ccadfe Remove GrPrepareForExternalIORequests from flush.
Now that we have the GrContext setBackendTextureState calls we no longer
need these to be on flush.

Bug: skia:10254
Change-Id: I7c44667a327de11dd853e3e71b114959a7bcee86
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295447
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-06-10 20:00:20 +00:00
Brian Salomon
2577623202 Fix two different cases with multiple chained sample matrices
1) If two sample matrices had the same kind and expression (eg, an
identical literal matrix), we'd skip applying the second one because we
didn't examine fOwner in operator==, and decided it was irrelevant.

2) If three constant sample matrices were in a chain, the outer-most
would call trigger a recursive call to setSampleMatrix, which would
update the inner-most fBase pointer a second time, causing us to skip
over the middle transform entirely.

Change-Id: I5671c6f49b627e38571a37db2bf78be9e43d0224
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295579
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-06-10 18:16:15 +00:00
Leon Scroggins III
11a52d3dfa Remove SK_LEGACY_WEBP_LOOP_COUNT
Bug: b/145995037
Bug: skia:5457

Android is switching to the new behavior with ag/10041691, so the
legacy flag is no longer needed.

TBR=djsollen@google.com

Change-Id: I786807e4cb8b4ed4cd41fd2776ae2915f8bc62cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263176
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2020-06-10 17:57:45 +00:00
John Stiles
e7b4d73bc8 Update GrRectBlurEffect to use a child FP.
We are updating FPs to receive their input via a child FP where
possible, instead of relying on the input color.

Additionally, rewrote the FP logic slightly to operate on half2s where
possible instead of operating on single half-values at a time.

Change-Id: I87ffa11cf723fab614729789556e76ba82b3c2f4
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295089
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-06-10 17:25:46 +00:00
Mike Klein
71e8590199 rearrange SkSwizzler_opts.h
We're seeing no benefit to AVX2 for these two functions, so rearrange to
use the SSSE3 implementations instead.  This time, create a new section
that just skips the AVX2 check.  The main structure of the file is now,

    #if NEON
        ... most everything ...
    #elif AVX2
        ... most everything ...
    #elif SSSE3
        ... most everything ...
    #else
        ... most everything ...
    #endif

    #if NEON
        ... these two ...
    #elif SSSE3
        ... these two ...
    #else
        ... these two ...
    #endif

And I'll be following up on this shortly with AVX-512,
with its own set of complications.

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-Fast
Change-Id: I893844e82f457bca6fab7673a41b584d70d2ce63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295547
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-06-10 17:09:16 +00:00
Kevin Lubick
9c401e7e1a [canvaskit] Make docs more clear
Change-Id: Idf32068929ad2f46d05dd556a8fa1a6cb4e48c57
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295317
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2020-06-10 17:00:39 +00:00
Brian Osman
ff7bee9817 Remove SkReader32, and some API from SkWriter32
After removing all unused API from SkReader32, it only had a handful
of functions, and it was (rightly) only used by SkReadBuffer. Remove
the temptation to use it by just folding it into SkReadBuffer.

SkWriter32 had some unnecessary functions as well (only used in unit
tests), so those are gone. There is still a strange relationship:
SkWriteBuffer is just an interface - SkReadBuffer is actually the
complement of SkBinaryWriteBuffer/SkWriter32. Those two classes produce
data in the exact same format, but with slightly different interfaces.
(The choice about which one is used is mostly about high-level
serialization vs. low-level helpers).

Change-Id: I1e823755febecd2e053ea732b21295d8f4d9d832
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295557
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-06-10 16:45:56 +00:00
Robert Phillips
ae413d8b81 Move VkYcbcrSamplerHelper to its own files
The intent is to reuse this helper to create a YCbCr GM.

Change-Id: I4d6af42745dbf845e28753bec670ad4a75c393b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295443
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-06-10 16:39:17 +00:00
Jim Van Verth
c88d9c6ae3 Clean up GrD3DCommandList interface
Change-Id: I6a2c209fde3d5e8130cd23d2db0d68c894d6c9b4
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295556
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-06-10 16:21:45 +00:00
John Stiles
4ca8884a02 Update GrRRectBlurEffect to use a child FP.
We are updating FPs to receive their input via a child FP where
possible, instead of relying on the input color.

Change-Id: I753b90d0564c62f678b03ab9c8e26030f021d615
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295096
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-06-10 15:19:15 +00:00
John Stiles
f6af9749d0 Reland "Update GrCircleBlurFragmentProcessor to use a child FP."
This is a reland of 88c6539a3f

Compared to the first attempt, the FP has been tweaked slightly to
avoid losing precision when casting between float2 and half2.

Original change's description:
> Update GrCircleBlurFragmentProcessor to use a child FP.
>
> We are updating FPs to receive their input via a child FP where
> possible, instead of relying on the input color.
>
> Change-Id: If7c42e556aff3464ec0392f362c97c2e8c6ff91d
> Bug: skia:10217
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294258
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

Bug: skia:10217
Change-Id: If75ca3822d5550bd1aeb9f9d8c52c1419b1645d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295467
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-06-10 15:09:08 +00:00
Brian Osman
9e4e4c7e97 Reland "Switch persistent cache to use SkReadBuffer/SkWriteBuffer"
These are much safer than SkReader32/SkWriter32 (they do validation and
ensure we never read past the end of the buffer).

Where we used to just assert that the contents of the cache were valid,
we now validate everything, and fail gracefully by discarding the cache
contents if it's corrupted or invalid.

Reland includes a new skipByteArray API. The previous technique for
reading into an std::string relied on data(), which doesn't return a
writeable pointer until the C++17 standard library.

Bug: skia:9402
Change-Id: I3b88efbf8ca590c8ad4f8164f7c07eee12696ec6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295441
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-06-10 14:55:37 +00:00
Julia Lavrova
f7005498d4 Keeping run metrics rather than calculating them every time
Change-Id: Ic0257859317cf46dbb90277573f184d565fdb58d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295322
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-06-10 14:05:26 +00:00
Ethan Nicholas
fb5ede576d fixed sample(..., matrix) with runtime effects
Change-Id: Id5b7f1b5e992c587be000e112706bedfe00c90fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294697
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-06-10 13:59:15 +00:00
Jim Van Verth
3fd5b8f578 Fix Build-Win-Clang-x86_64-Debug-Direct3D
Change-Id: I7bd185bf0065ee0bbe3bc8520f21757c6ca1aa41
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295219
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-06-10 13:57:45 +00:00
Ben Wagner
771d3a214e Revert "Delete .a file before writing static library."
This reverts commit 3b035e0417.

Reason for revert: Build-Win-Clang-arm64-Release-Android runs on
                   Windows and uses llvm-ar.

Original change's description:
> Delete .a file before writing static library.
> 
> The ar utility only adds symbols. As a result removed symbols are
> sometimes still present in later builds, leading to great confusion.
> Delete the .a file before recreating it with ar.
> 
> This is similar to what Chromium currently does in gcc_toolchain.gni.
> 
> Bug: skia:10363
> Change-Id: I133deb6da570ca38a539b4f0bb486b61d6a664bf
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295217
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>

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

Change-Id: I02ba93ce26eedb2b2362e96d2ebfcacbfb8e0902
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10363
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295445
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-06-10 13:44:39 +00:00
Ben Wagner
3b035e0417 Delete .a file before writing static library.
The ar utility only adds symbols. As a result removed symbols are
sometimes still present in later builds, leading to great confusion.
Delete the .a file before recreating it with ar.

This is similar to what Chromium currently does in gcc_toolchain.gni.

Bug: skia:10363
Change-Id: I133deb6da570ca38a539b4f0bb486b61d6a664bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295217
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-06-10 13:25:05 +00:00
Greg Daniel
1db8e7990a Add GrContext API to allow updating GrBackendSurfaceMutableState.
This is currently only supported for the Vulkan backend

Bug: skia:10254
Change-Id: I9274799098dc00dec5abcbcec95ce7cc23fec537
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293844
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-06-10 13:15:55 +00:00
Mike Klein
4442bfa50b Revert "remove -Fast bots"
This reverts commit ad9ac9ae51.

Reason for revert: we _do_ build with -march=skylake.

Original change's description:
> remove -Fast bots
> 
> I tried to think of how to structure things so the normal bots
> and the -Fast bots would all get fast, small builds.  There're
> a couple ways to do it, but they're all kind of fragile.
> 
> Then I remembered no one we know of ships Skia like the -Fast bots;
> I just put them up out of curiosity, and as a performance baseline.
> 
> So, simplest thing to do is just toss them.
> 
> Change-Id: Id93994695c7612f41c9259aa328f6cf4cfe0f2a8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295311
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

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

Change-Id: Ibaddb616152a9cb03e7a28978478770888d2726a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295500
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-06-10 12:41:27 +00:00
Mike Klein
b00f86c5d2 Revert "Reland "remove unnecessary hsw opts""
This reverts commit 1ce11e676e.

Reason for revert: we _do_ build with -march=skylake.

Original change's description:
> Reland "remove unnecessary hsw opts"
> 
> This is a reland of 88c6d72b42
> 
> Original change's description:
> > remove unnecessary hsw opts
> > 
> > These are copies of the ssse3 versions of these routines.
> > Instead of copying those routines, just use them.
> > 
> > Add inline to _portable methods to stifle warnings that
> > they are unused when compiling for HSW.
> > 
> > Change-Id: I655a844473bb3336dd2d1a80c1390259261b6243
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294295
> > Reviewed-by: Shuangshuang Zhou <shuangshuang.zhou@intel.com>
> > Commit-Queue: Mike Klein <mtklein@google.com>
> 
> Change-Id: I0995c27ee901001e1aa6a478a4c3bc3454df824d
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295312
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,shuangshuang.zhou@intel.com

Change-Id: I87de9ea7e50a72e206eb1f26ca1e6b3f5f4c66cf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295499
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-06-10 12:41:07 +00:00
skia-autoroll
5d18c24f7f Roll Chromium from 608bc0c55214 to 82b62a7dc547 (444 revisions)
608bc0c552..82b62a7dc5

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 bungeman@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: bungeman@google.com
Change-Id: If4cb31f5372caadb29a22ab525ffcd3e790a8a11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295474
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-10 04:50:55 +00:00
skia-autoroll
0da0b0a18a Roll ANGLE from dbb18b53c4b4 to d80d9044857e (10 revisions)
dbb18b53c4..d80d904485

2020-06-09 etienneb@chromium.org Reland "Add trace event to angle Program compilation API"
2020-06-09 jmadill@chromium.org Update glslang_validator binary for Windows.
2020-06-09 etienneb@chromium.org Fix racy GetCategory with trace_event
2020-06-09 jmadill@chromium.org Remove missing script from angle.gni test config.
2020-06-09 cnorthrop@google.com Capture/Replay: Support buffer map/unmap state during MEC
2020-06-09 jiajia.qin@intel.com Fix failures that alpha channel is not correct
2020-06-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from 8111268575a4 to 08328fea5ab9 (1 revision)
2020-06-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Headers from db1a98c6cc43 to 9d2dfca53b75 (1 revision)
2020-06-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from f1b11cc29c58 to 236f1f090429 (2 revisions)
2020-06-09 shabbyx@gmail.com Update glslang_validator binary for Linux.

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 bungeman@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:1064662,chromium:1091259,chromium:1091723
Tbr: bungeman@google.com
Test: Test: MEC of Angry Birds 2
Change-Id: I8dd1aa7c3c59053ecfd298732448421d86333b71
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295476
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-10 04:43:55 +00:00
skia-autoroll
54f46dbcda Roll dawn from 0a79bee135cd to 527080ff03ce (7 revisions)
https://dawn.googlesource.com/dawn.git/+log/0a79bee135cd..527080ff03ce

2020-06-10 xinghua.cao@intel.com Check FP16 support on Metal backend
2020-06-09 jiawei.shao@intel.com Metal: Enable nonzero_clear_resources_on_creation_for_testing on buffer
2020-06-09 jiawei.shao@intel.com Output more details when pipeline layout mismatches shader declaration
2020-06-09 yunchao.he@intel.com Implement texture subresource on D3D12
2020-06-09 rharrison@chromium.org Rolling 5 dependencies
2020-06-09 idanr@google.com Reset bind group aspect in SetBindGroup
2020-06-09 cwallez@chromium.org infra: Migrate builders to Goma RBE

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang from d39b8afc47a1 to 08328fea5ab9
  https://chromium.googlesource.com/external/github.com/google/shaderc from da87b8d8b0a1 to d8eca133b4b1

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: cwallez@google.com
Change-Id: I3283ce7ce261b100f804161a23f0e00bcebb6591
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295475
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-10 04:41:05 +00:00
John Rosasco
62ace59d8c [fuchsia] Fix fidlc command.
Change-Id: I8d3d04a20f8a696dd9d4d0c6f2808155fb7da5b4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295469
Reviewed-by: John Rosasco <rosasco@google.com>
Commit-Queue: John Rosasco <rosasco@google.com>
2020-06-10 03:29:24 +00:00
John Stiles
bce9bd60e7 Revert "Update GrCircleBlurFragmentProcessor to use a child FP."
This reverts commit 88c6539a3f.

Reason for revert: reduction in precision causes blocky blur effect on some GPUs (different order of casting in rewritten expression)

Original change's description:
> Update GrCircleBlurFragmentProcessor to use a child FP.
> 
> We are updating FPs to receive their input via a child FP where
> possible, instead of relying on the input color.
> 
> Change-Id: If7c42e556aff3464ec0392f362c97c2e8c6ff91d
> Bug: skia:10217
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294258
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

TBR=michaelludwig@google.com,johnstiles@google.com

Change-Id: I24a7493f71caa2d9da4de568671f637707d05040
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295438
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-06-10 02:32:07 +00:00
Chris Dalton
1c3a77ed8e Re-enable GrCaps::fSampleLocationsSupport in Vulkan
Change-Id: Ibd0cafeabc03bba4ec7147492ee3de622fbeb726
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295415
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-06-10 01:29:33 +00:00
Michael Ludwig
58f569b3e3 Remove unnecessary GrFixedClip includes/declarations
Change-Id: I295855b6a1dbce583920bfef63b2890e7794b8c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/290827
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2020-06-10 01:28:03 +00:00
Jim Van Verth
f43da14878 Add D3D descriptor tables and bind to command list.
This CL adds a new descriptor heap manager that handles creation of
descriptor tables, or ranges of shader-visible descriptors. These
are used to set the descriptors that match the setup of the root
signature. Data from non-shader-visible descriptors are copied into
these tables, and then they are bound to the command list.

Change-Id: Ia9fc24cae602244525a196025c044df3c2435d9f
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294300
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-06-10 01:05:03 +00:00
Mike Reed
90e82904b5 Revert "Switch persistent cache to use SkReadBuffer/SkWriteBuffer"
This reverts commit 5fa11d4040.

Reason for revert: breaking some compiles..

https://chromium-swarm.appspot.com/task?id=4cb41acadb936310

Original change's description:
> Switch persistent cache to use SkReadBuffer/SkWriteBuffer
> 
> These are much safer than SkReader32/SkWriter32 (they do validation and
> ensure we never read past the end of the buffer).
> 
> Where we used to just assert that the contents of the cache were valid,
> we now validate everything, and fail gracefully by discarding the cache
> contents if it's corrupted or invalid.
> 
> Bug: skia:9402
> Change-Id: Ib893681f97f9413c28744f11075dc2e392364db6
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294998
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,brianosman@google.com

Change-Id: Iabea26cde82043e3f3a23cde81503ea3abdd8398
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9402
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295394
Reviewed-by: Mike Reed <reed@google.com>
2020-06-10 00:19:45 +00:00
Yilong Li
437c78593c [fuchsia] Always use full name of FIDL libraries.
Previously we assumed that FIDL libraries always have
"fuchsia.*" prefix, however the "zx" library recently
added to SDK doesn't start with this prefix and caused
build failure. This change fixes the issue by always
using full name of all the FIDL libraries.

TEST=build Skia and SkQP for fuchsia.x64 and arm64.

Change-Id: I1643bba94263d285eb9dbc222667b884cad6610d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295409
Auto-Submit: Yilong Li <liyl@google.com>
Commit-Queue: John Rosasco <rosasco@google.com>
Reviewed-by: John Rosasco <rosasco@google.com>
2020-06-09 23:33:03 +00:00
Chris Dalton
392fa03a1b Add an interactive sample that fits cubics to circular arcs
Fits a cubic to an arc on the unit circle using the following
constraints:

  1) The endpoints and tangent directions at the endpoints must match
     the arc.
  2) The cubic must be symmetric (length(p1 - p0) == length(p3 - p2)).
  3) The height of the cubic must match the height of the arc.

Using the above constraints, we arrive at the following formula for the
control length (c) (i.e., lengths of (p1 - p0) and (p3 - p2)):

  d = x0*x1 + y0*y1
  c = (sqrt(1 + d) * kM + kA) * rsqrt(1 - d)

(Where x0,y0,x1,y1 are the endpoints, kM = -4/3, and kA = 4/3 * sqrt(2).)

The sample also comes with a root finder that finds the max error value
of the curve, which ends up serving as a semi-formal proof that:

  1) Max error always occurs at T=0.21132486540519, regardless of
     endpoints.
  2) Error is reduced by exactly 64x each time we halve the arc angle

Change-Id: I29ad60dda06743d79f71275c38ffdd97261159ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295303
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-06-09 23:04:03 +00:00
Brian Osman
5fa11d4040 Switch persistent cache to use SkReadBuffer/SkWriteBuffer
These are much safer than SkReader32/SkWriter32 (they do validation and
ensure we never read past the end of the buffer).

Where we used to just assert that the contents of the cache were valid,
we now validate everything, and fail gracefully by discarding the cache
contents if it's corrupted or invalid.

Bug: skia:9402
Change-Id: Ib893681f97f9413c28744f11075dc2e392364db6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294998
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-06-09 22:34:03 +00:00
John Stiles
9010c86634 Update GrAlphaThresholdFragmentProcessor to use a child FP.
We are updating FPs to receive their input via a child FP where
possible, instead of relying on the input color.

Additionally, fixed a long-standing issue which caused the optimization
flags for this FP to be ignored.

Change-Id: I7103413602adba9acc792971be66aeb1195ffac6
Bug: skia:10217, skia:10329
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294337
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-06-09 22:20:33 +00:00
John Stiles
88c6539a3f Update GrCircleBlurFragmentProcessor to use a child FP.
We are updating FPs to receive their input via a child FP where
possible, instead of relying on the input color.

Change-Id: If7c42e556aff3464ec0392f362c97c2e8c6ff91d
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294258
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-06-09 22:15:23 +00:00
Mike Klein
1ce11e676e Reland "remove unnecessary hsw opts"
This is a reland of 88c6d72b42

Original change's description:
> remove unnecessary hsw opts
> 
> These are copies of the ssse3 versions of these routines.
> Instead of copying those routines, just use them.
> 
> Add inline to _portable methods to stifle warnings that
> they are unused when compiling for HSW.
> 
> Change-Id: I655a844473bb3336dd2d1a80c1390259261b6243
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294295
> Reviewed-by: Shuangshuang Zhou <shuangshuang.zhou@intel.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

Change-Id: I0995c27ee901001e1aa6a478a4c3bc3454df824d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295312
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-06-09 21:41:13 +00:00
Mike Klein
ad9ac9ae51 remove -Fast bots
I tried to think of how to structure things so the normal bots
and the -Fast bots would all get fast, small builds.  There're
a couple ways to do it, but they're all kind of fragile.

Then I remembered no one we know of ships Skia like the -Fast bots;
I just put them up out of curiosity, and as a performance baseline.

So, simplest thing to do is just toss them.

Change-Id: Id93994695c7612f41c9259aa328f6cf4cfe0f2a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295311
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-06-09 21:26:01 +00:00
Joe Gregorio
1b2f5e5de0 Move Pixel4 Perf jobs to the 4XL.
Actually duplicate the jobs for now, in a week I'll remove the 4's
if the Perf numbers look comparable.

Bug: skia:10349
Change-Id: Ibbd7af3680b971f18f6a593bb92e57f9e663a5a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295007
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-06-09 20:51:51 +00:00
Greg Daniel
e52b625565 Update vulkan linux sdk version on bots.
Part of the reason to update is to get new validation layers that are
checking more things as well as fixing bugs in old layers.

Change-Id: I1a89f9fe93afb41378ba4ea2ac58627f465673dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295245
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Weston Tracey <westont@google.com>
2020-06-09 20:39:21 +00:00
Adlai Holler
b81eebae88 Allow surfaces to validate against matching contexts, not ptr equality
Bug: skia:10286
Change-Id: Ibc4885388f4a3be263fdfc0ee786a9c087fd295e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295324
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>
2020-06-09 20:20:01 +00:00
Herb Derby
ba426ba3ba make GrAtlasTextOp a friend of GrRenderTargetContext
Change-Id: I53762b0403f9006844c044a0a584ff725627d197
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295321
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-06-09 20:03:39 +00:00
Robert Phillips
7eb0a5f7f2 Auto-resolve DDL targets in flushSurfaces
When a client uses flushSurface w/ an MSAA surface, Ganesh automatically
resolves it for them. This goes haywire with DDLs bc it is the DDL's
proxy that holds the MSAA state not the surface's innate proxy.

Bug: 1056730
Change-Id: I6385b4a8dcc6b38d3e43908fd516f357e2f4c9d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295064
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-06-09 20:00:49 +00:00
Florin Malita
45cd20004c [skrive] Initial artboard plumbing
"Artboards" are top-level Rive containers (similar to AE compositions),
holding the scene graphics and related animations.

Artboard properties:

  - name
  - width/height (size)
  - translation (position)
  - origin (anchor point for transforms?)
  - (background) color
  - clip contents flag

Plumb artboard parsing + background rendering, and hook into viewer.

TBR=
Change-Id: Ib188245ce41a76197cf9e0937689adf8243826d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295244
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-06-09 19:58:38 +00:00
Julia Lavrova
73905c3db2 Removing fOffsets array from Run; optimizing copyTo
Change-Id: I4df661f800436ddb2b2bdb0cf19017e651332971
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295236
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-06-09 19:49:36 +00:00
Herb Derby
990a04ecd5 remove unused and unimplemented calls
Change-Id: If261aab20066c807ccf6d31b588af780af12189e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295318
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-06-09 18:58:56 +00:00
Herb Derby
64688229fd move the bulk of GrTextContext to GrRenderTargetContext
This is the major portion of GrTextContext. In a later CL options will
be broken out as GrSDFControl. And createOp_TestingOnly will be moved
to GrAtlasTextOp.

Change-Id: Ia5f3d69b928e6312db10448f422543a6ab5d86be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295077
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-06-09 18:32:45 +00:00
Brian Osman
8c4067737d Remove SkValidatingReadBuffer.h
We did the rename in 2017, no one references this header at this time.

Change-Id: I3df8975bb861e543213177fa4467be5c7e36d195
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295242
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-06-09 18:19:55 +00:00
Jorge Betancourt
6c4b67d13b remove arcore from apps project directory
arcore is untouched and impedes builds of other apps in platform-tools

Change-Id: I92b603de318b956c116fa0a065a26d2217755b68
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294736
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-06-09 17:46:47 +00:00
Adlai Holler
25df1f7f88 Don't fill last render task map with nullptrs
Bug: skia:10320
Change-Id: I8d388c273f37f3dd104a2940032966b477d9a92a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295199
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-06-09 17:41:27 +00:00
Greg Daniel
8a6e53ad22 Disable support for sample locations in vulkan.
Bug: skia:10346
Change-Id: Ie741fcf84a8c71d663f240d49c35fdbc5cb812e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295088
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-06-09 17:05:27 +00:00
Mike Klein
d3927e40f1 Revert "Reland "Add JavaInputStreamAdaptor files into third_party directory.""
This reverts commit 237f794e64.

Reason for revert: blocking the Google3 roll.

I think you may need to land third_party/aosp/LICENSE first, set up the BUILD file to point out code in third_party/aosp is covered by third_party/aosp/LICENSE, and then let the code roll in?

Original change's description:
> Reland "Add JavaInputStreamAdaptor files into third_party directory."
> 
> This is a reland of cf8b723ffd
> 
> The reland is necessary to satisfy the google3 roller.
> 
> Original change's description:
> > Add JavaInputStreamAdaptor files into third_party directory.
> >
> > This code needs to be migrated out of the main Skia directory due to its
> > use of the Apache 2.0 license. A followup CL will remove these files
> > from their current home at platform_tools/android/apps/skottie/src/
> > main/cpp.
> >
> > Change-Id: I939b05afcebb29e1deab1d4ae1b38012f719cf7e
> > Bug: skia:10310
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295082
> > Reviewed-by: Ben Wagner <bungeman@google.com>
> > Reviewed-by: Weston Tracey <westont@google.com>
> > Commit-Queue: John Stiles <johnstiles@google.com>
> 
> Bug: skia:10310, skia:10353
> Change-Id: I3ac62b626825df624a5418e496989facef6b6099
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295201
> Commit-Queue: John Stiles <johnstiles@google.com>
> Reviewed-by: Weston Tracey <westont@google.com>

TBR=bungeman@google.com,westont@google.com,johnstiles@google.com

Change-Id: I7f8de31419d86933a79036b48032c4a7ea18dd3a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10310, skia:10353
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295283
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-06-09 16:55:29 +00:00