Fix: Use non-zero rowbytes when uploading zeros for initial texture clear
This reverts commit f16020ba1b.
Bug: chromium:981254
Change-Id: Iafd5893dd1b397ec1d91c64d48d46059e62488a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226557
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Bug: b/137017906
Change-Id: I98bfc9607fa78536e1cf44707636558ed1980b4a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226616
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This is basically a no-op CL, with two changes designed to make
SkVM lifetime analysis easier to reason about:
1) rename Analysis.life to Analysis.death,
since it indicates the instruction when the value dies
2) use death == 0 to mark dead code instead of an NA sentinel
The life->death change really is just a naming thing, something I
realized makes a little more sense this way around after talking about
how this code works out loud. 'death' holds the time of a Val's death.
The second change also isn't very important, but I realized that there
is a perfectly good in-band value to mark dead code, 0, and there's no
need to use NA as a sentinel. If we mark an instruction as death == 0,
that indicates the value is needed only until instruction 0 executes,
i.e. never. They're sort of pre-dead. This cuts one of the overloads
for what NA means in SkVM.cpp; now it only means "no value".
All the code that tested against the NA sentinel now tests against 0
instead. We could go a step further and rewrite the tests to be death >
id for live code or death < id for dead code, but that amounts to
roughly the same thing in the end: instructions either live for some
time with a death that is later than their own ID, or are dead with
death == 0. There is some small ambiguity around whether we should mark
store instruction's deaths as id or id+1 and which of the tests should
be <= or >=, but checking against 0 makes that all moot, and I think the
checks also stand out more clearly with the literal '0' in the code.
This is a little warmup to refamiliarize myself with the code, with an
ultimate goal of moving hoisting and register assignment to the backends
so they can be influenced by instruction selection: platform specific
ways to handle immediates or splats, choosing destination registers and
instructions that play well with the available argument registers, etc.
Change-Id: I6978abf0bd01dcd0e7a142d632826e7692060ade
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226549
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
We haven't built with 2015 in a long time (and are no
longer able to). Also, this asset doesn't exist (it is
available as V6 of win_toolchain, though).
Change-Id: I5113293e9b9d6652520029f003a29d1c52d092e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226559
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: I23a88524d741cecefa16ae7e364d2294db1c6030
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226508
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Add Dawn repo to DEPS.
Add skia_use_dawn flag to BUILD.gn (default false).
Add Metal.framework for Mac when building for Dawn/Metal.
Add d3d12, dxgi, d3dcompiler libs when building for Dawn/D3D12.
Disable SPIRV validation when building for Dawn.
Add BUILD.gn for dawn and dawn/third_party libraries.
(Note that I had to split the declare_args() section of BUILD.gn
into two, so that I could refer to skia_use_dawn in skia_enable_spirv_validation.
If there's a better way to do this, I'm open to suggestions.)
Change-Id: I9bdaf990694f6b8bcce6b77c1a8b1620a7396e34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225137
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Bug: skia:9247
Change-Id: I8b4261fc81f31f56d24ae3aa84ae81c33ea2b2b4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226501
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
https://crrev.com/986505f4893ae4c0cd11f0f2a6ea4a2cc27f9488 Updated error message format (debrian@google.com)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I08561668c201d8643bd3374aea052bb60dabdaae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226547
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Update MotionTileEffect to avoid rebuilding shaders redundantly,
at render time:
1) build all shaders at revalidation time
2) cache the layer content picture separately, and only rebuild when
the layer content changes
To support #2, add some SG helpers for querying subtree inval state.
With this change, we avoid all render time allocations.
Notry: true
Change-Id: I55a1f95752704af6a667b266e725492de6640387
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226512
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
The primary purpose of this commit is to track upstream Wuffs more
closely.
A side effect is to pull in the Wuffs commit
5bea867f72
"Allow an LZW literal width of 1", which eliminates a difference between
the old third_party/gif decoder and the new third_party/wuffs decoder.
As the CodecTest.cpp comment says, the GIF spec explicitly says that the
LZW literal width should be at least 2, but in practice, GIF encoders
violate the spec. After that upstream commit, Wuffs has followed other
GIF decoders in being more liberal in what it accepts.
Codec_InvalidAnimated therefore no longer has a separate "#ifdef
SK_HAS_WUFFS_LIBRARY" section. The first frame of the test's GIF image
data, being the required frame of the third frame, no longer has an
invalid LZW literal width according to Wuffs.
Bug: skia:8235
Change-Id: Ie94537f5232128ffc1d1547f4c0b84992e54ab02
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226476
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
This reverts commit 5cc450b609.
Reason for revert: breaking dependent repos
Original change's description:
> [infra] No relative path for infra_tests.isolate
>
> This should allow dependent repos to use their own version of this
> isolate file.
>
> Change-Id: I5f20eafbd10319eef70ddb65b434269ca99d5c9f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226416
> Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
> Commit-Queue: Eric Boren <borenet@google.com>
TBR=borenet@google.com,benjaminwagner@google.com
Change-Id: I91d59aefa943aab371c1cdb14087309c60f29d35
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226505
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
This reverts commit abb5a315af.
Two fixes:
1) GMs pass valid rowBytes when calling directly to GrGpu.
2) Check for non-null data before trying to set UNPACK_ROW_LENGTH
Bug: chromium:981254
Change-Id: I24e46b0d2b14562d6b84a29fefe3410ce5c06c94
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226498
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This should allow dependent repos to use their own version of this
isolate file.
Change-Id: I5f20eafbd10319eef70ddb65b434269ca99d5c9f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226416
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
I think this is the minimum rule that's easy to understand when writing
SkSL for the interpreter that ensures we'll be able to statically
determine total stack usage of a particular function.
While writing the new test, I also noticed that we still return
(invalid) byte code, even when there are errors. Fixed that.
Change-Id: I625a8592c9ba1656074e5f0d4227d41968af7b37
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226218
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: If960640ba74916226d8cdf912f48142cee0ef2c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226317
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
5dfad811ce..4e71b2bc25
git log 5dfad811ce32..4e71b2bc2546 --date=short --no-merges --format='%ad %ae %s'
2019-07-09 jmadill@chromium.org Framebuffer: Clean up query naming.
2019-07-09 geofflang@chromium.org Refactor the wait/signalSemaphore entry points to be on the Semaphore object
2019-07-09 shrekshao@google.com Fix regex parenthesis missing escaping backslash
2019-07-09 ianelliott@google.com Vulkan: Add support for GL_RGBA8-to-GL_RGB5_A1
2019-07-09 ianelliott@google.com Vulkan: Note that KHR-GLES3.texture_repeat_mode.* tests pass
2019-07-09 clemendeng@google.com Rename "opengl32" to "libGL"
2019-07-09 geofflang@chromium.org Move member initializers from Caps.cpp into the struct definitions.
2019-07-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 4b4b41a63499..8aa9a7bb8f74 (1 commits)
2019-07-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 9702d47c6fe4..0c4feb643b89 (7 commits)
2019-07-09 cwallez@chromium.org PRESUBMIT.py: Don't require "Bug:" for autoroller CLs.
2019-07-09 syoussefi@chromium.org Vulkan: Add storage buffer support
Created with:
gclient setdep -r third_party/externals/angle2@4e71b2bc2546
The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
TBR=fmalita@google.com
Change-Id: I7abdc674b4ef563f87cba8ab551d756f29c5fa27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226376
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
9a8eb165a8..9d81bd852e
Created with:
gclient setdep -r ../src@9d81bd852e
The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=fmalita@google.com
Change-Id: Ife23e8e78bfb0dafc5da83a4a420db37306040bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226377
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Previously, this test was passing only because it used the default
typeface. In deserialization code, if the typeface can't be
deserialized, it is replaced with the default typeface. I changed the
test to use a non-default typeface, which caused it to fail. I then
changed the custom typeface serializer/deserializer functions so that
the test passes.
Change-Id: I14e33f7fd18342e76a1fa624ae97fd894e010b6a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226221
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Change Iterator.h to the actual name Iterators.h. This was caught by
the cmake bot, but it would be nice to use gn check in the future.
Change-Id: If5deb82a33329306ce4456e67d3518a75526b18a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225900
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Previously, running nanobench on Windows without ANGLE enabled would
immediately fail (unless you specified --config) with:
No context was available matching config 'angle_d3d11_es2'.
Change-Id: I4a02f4f96a1c4366bee21e6cf379d53c3a086d23
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226220
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Change-Id: I1a75b211753ea5e097234dd4104d0906cfd04673
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223916
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
This reverts commit 326ad9e716.
Reason for revert: This was an outage of some kind, not intentional expiration of isolates.
Original change's description:
> [infra] No task deduplication
>
> Isolates are expiring despite the tasks which generate them being
> deduped. Hopefully this is temporary, and we can update the isolate
> server to expire based on last usage date rather than creation date.
>
> Change-Id: I7158612cd9b28c80268c54da9af88d2048e6aad1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226176
> Reviewed-by: Ravi Mistry <rmistry@google.com>
> Commit-Queue: Eric Boren <borenet@google.com>
TBR=borenet@google.com,rmistry@google.com
Change-Id: I3afc8e9e89174505d87d96d45ab6c9e44937bb29
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226219
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
No longer used?
Change-Id: Ib944e5a18feb70444b34f5aba5f5c4019df1abdb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226217
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
The switch to GrColorType does mean that we can no longer represent compressed backend formats in the Mock backend surfaces.
This will require a Chrome CL before it can land in Skia.
TBR=bsalomon@google.com
Change-Id: Ie4e2d4826f960664a21d3de79933eb1cb5d06896
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225538
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This reverts commit 0437f0f5d8.
Reason for revert: layout tests have been suppressed
Original change's description:
> Revert "More optimizations for CropToRect, for axis-aligned quads that have not been inverted"
>
> This reverts commit 88a64b4696.
>
> Reason for revert: Chrome layout tests
>
> Original change's description:
> > More optimizations for CropToRect, for axis-aligned quads that have not been inverted
> >
> > Prior to CropToRect(), GrRTC::crop_filled_rect only operated on SkRects. The
> > quad cropping code generalized the optimization to any axis-aligned quad, but
> > a consequence of this is the code had to be robust to flips and 90 degree
> > rotations. While it can handle more cases, it has lead to a 1-10% performance
> > regression on cropped-rectangle-heavy perf tests in chromium.
> >
> > This change brings back the simplest cropping solution when the axis-aligned
> > quads have not been flipped/rotated, but the general version still exists for
> > the other class of quads as well.
> >
> > Bug: chromium:980608
> > Change-Id: I83d71075cacc3d849fd9aac6436ea3244a0ae4b9
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225724
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > Auto-Submit: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
>
> TBR=bsalomon@google.com,robertphillips@google.com,michaelludwig@google.com
>
> Change-Id: I428cbefa5985c6160df0460d38b0698b43d289de
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:980608
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225733
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
TBR=bsalomon@google.com,robertphillips@google.com,michaelludwig@google.com
Change-Id: Ibef8e521f45111b3307731966e19ef66824567e2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:980608
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226177
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Isolates are expiring despite the tasks which generate them being
deduped. Hopefully this is temporary, and we can update the isolate
server to expire based on last usage date rather than creation date.
Change-Id: I7158612cd9b28c80268c54da9af88d2048e6aad1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226176
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Change-Id: I2aae762cb63fc940536959b3f0f73df472bcac7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226083
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
This reverts commit b6b966aa43.
Change-Id: I58c34fc8520384157c5adb0056f3568b8ef1d844
Bug: skia:9230
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225939
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Bug: skia:
Change-Id: I2e7fc5463ea73baa82e6f1a3340e9c88d1b8be32
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226081
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Also don't use GrPixelConfig to create the VkImage.
Bug: skia:7959
Bug: skia:6718
Change-Id: Ia13c5ed2fbe0542c060b725694eff9d566c491f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226078
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Use the SkSG deferred blend mode isolation when possible.
This avoids per-frame layers when the frame content consists of single
draws.
Change-Id: Ia3581ffa421fc1651f0fe5637d34e8e645dcc22a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226077
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Unlike all other Skottie effects, motion blur requires sampling at multiple
points on the timeline.
To support this:
1) Introduce MotionBlurEffect - a custom SG render node which can drive
the timeline of its subtree using an sksg::Animator.
2) Introduce MotionBlurController to swap for a regular LayerController
when needed. MotionBlurController dispatches time ticks to
MotionBlurEffect instead of directly to the layer animators.
The actual motion blur impl is based on
https://skia-review.googlesource.com/c/skia/+/221416.
Motion blur requires Lottie files exported with this BodyMovin patch:
https://github.com/bodymovin/bodymovin-extension/pull/15
Change-Id: I075e101ea91ec9aa300bac35ee810fd539f1aced
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225416
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>