Bug: skia:10362
Change-Id: I56d1f618dcdf96133f1932b7ac8d4602ddb93a59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295575
Commit-Queue: Stephen White <senorblanco@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
TODO:
1. Accept a Color builder or a TypeArray from CanvasKit.Malloc
2. Apply the same treatment to all other gradient functions, MakeSkVertices, and drawAtlas
Change-Id: I94fa67a3c00d7b1ecdc004af4ffd3193404c1a30
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294707
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
The aim here is to unify VkTestHelper with the VkYcbcrSamplerHelper's context creation code. AFAICT they have a ~90% overlap.
Change-Id: Iba8d1482b8c1d7164682f90e19d2183d8cfe45d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295583
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Change-Id: Id7c51504450c1c7c9421eba3838bd6bc3440ca4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295437
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
* Add MSAA textures to the command list
* Implement scissor support for clear
* Fix GrBackendTexture::isSameTexture
* Fix deadlock in GrRingBuffer
* Disable DDL recordProgramInfo for D3D
Change-Id: I63140377a38f5a7b8b7e981d0484afb783533742
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295563
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
d80d904485..db3ef87243
2020-06-11 timvp@google.com Move ProgramState::mDefaultUniformRange to ProgramExecutable
2020-06-10 nguyenmh@google.com Temporarily take out commit message format check
2020-06-10 nguyenmh@google.com Add 'Reland ' to whitelist and update error messages for clarity.
2020-06-10 cnorthrop@google.com Infra: Migrate to new Goma RBE service
2020-06-10 cnorthrop@google.com Perf: Add a trace of Angry Birds 2
2020-06-10 cnorthrop@google.com Capture/Replay: Fix default uniform matrix capture
2020-06-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from 006586926ade to a09970273cd1 (1 revision)
2020-06-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 236f1f090429 to 8b92af3fd83f (6 revisions)
2020-06-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from 08328fea5ab9 to 68b2e15ee016 (1 revision)
2020-06-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 7c213720bb46 to c01f826bc67f (1 revision)
2020-06-10 syoussefi@chromium.org Vulkan: Fix RTs attached to textures with non-0 mip
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: None
Tbr: bungeman@google.com
Test: Test: Angry Birds 2 MECTest: Test: Build/CQTest: Test: angle_perftests --gtest_filter="*Trace*"
Change-Id: Ide43aa437178b77f72013e4d6813800c3c97a767
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295737
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
It's borderline illegal to implement it there in the header with a
forward-declared SkFontData. See also cl/314969840.
Change-Id: I81e981198014cce03fa9604aada5a383a847cfeb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295640
Reviewed-by: 🤓Vy Nguyen <vyng@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
We are updating FPs to receive their input via a child FP where
possible, instead of relying on the input color.
Additionally, fixed up "xyzw" swizzles on rectangle coordinates to
"LTRB" for clarity.
Change-Id: Ifc9107070b8664b7158961748f9727e0a3d58640
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295566
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Initialize the buffer to the given SkColor value, not to zero.
Bug: skia:10362
Change-Id: I78259ae5ed0a06b9b46e1fd220b13d2c2653fe1d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295564
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
SkShader was already skipping legacy for perspective, so no need for
the chooser to do that.
There are slight diffs, because we *were* forcing ourselves onto
raster-pipeline whenever we saw kHigh_SkFilterQuality... even for
shaders that don't respect filtering! (like gradients).
I may be able to suppress those diffs, if I add filter-quality checks
in picture and gradient shaders... do we ant to do that?
Guarded with SK_LEGACY_BLITTER_CHOICE.
Change-Id: Ia9d2931651be79b5ee913e97e26f53b777a3a8e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295386
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
For each skp in the corpus, we start a fresh instance of
Chromium (via puppeteer), draw the skp and measure that time.
This process is repeated a fixed amount of repetitions
and the median, the average, and the std deviation is reported
to perf (as well as the individual datapoints as an FYI).
Importantly (and something we'll need to change about
SkottieFrames), we measure the average time between frames
after unlocking the framerate. This ensures we account for
the time needed by the GPU to actually draw (flush() returns
after the GPU has all the instructions, but not necessarily
has been able to draw).
This implementation is very similar to the SkottieFrames
code; a notable deviation is the repetitions are handled
outside of the html, i.e. a new chrome window per run.
I explored using content_shell, but noticed that requires
building Chromium, which our infrastructure is not set up
to do well.
Change-Id: I14fdbdc951604d3fdf06e81a4be7e614d0e53c03
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295079
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>