Change-Id: Ibd541b4f4d8a9ab2b86743c86a6cfbc50a56518f
TBR: benjaminwagner@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230891
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Fixes problems when adding user-defined helper functions to the SkSL.
Change-Id: I00c3031f67e70039c09ac375774778b698d8a3c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230889
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>
Just because a program doesn't read from or
write to memory doesn't mean it's pointless.
Oh wait, yes it does. It shouldn't crash though.
Change-Id: I6a9c26c065831f9598afccce6e0a34a178cbd925
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230839
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit 1dfb4d25d1.
Reason for revert: This appears to have poorer performance on integrated GPUs.
Original change's description:
> Use shared mode for Metal texture upload buffers.
>
> On Mac, originally the temporary upload buffer was stored in managed
> memory, which will generate two copy actions, one from the CPU side to
> the GPU side of the managed buffer, then another from the GPU side of
> the buffer to the GPU texure. Shared mode buffers are in PCI-accessible
> system memory, so by storing the temporary texture data there, we should
> be copying from the CPU buffer directly to the GPU texture. This gives
> us another 10-15% perf improvement over the old upload code.
>
> Change-Id: Ia675e7130e0ae7d0c5f16c8170eeef60a69bfbbd
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230299
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
TBR=egdaniel@google.com,jvanverth@google.com,brianosman@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: Ib89b014586b7bbd899fed5d8e5807e083368a825
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230882
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Fixes issue where we pass an invalid format, GL_SRGB_ALPHA, when
allocating render buffers.
Change-Id: Ie4ea9f4a4edb2d525b1c32d6a4f8a94c4b55cdb5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230751
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Change-Id: I00276862596343456519bdb506e74c355d1834a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230877
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Fills in a little TODO.
Also add assembler unit tests for similar float->int and int->float.
Tested by SkVM_mad, SkVM_madder.
Change-Id: I5334029927fdecb0ff7f5a3b081cf2ce7b23995c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230838
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Bug: skia:9280
Change-Id: Ice3624467f5e643f9d3d81da72d77911eeac963e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230198
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
This makes calling GrCaps::getBackendFormatFromColorType equivalent to calling GrContext::defaultBackendFormat
Change-Id: Ic402245fa0502920c47c2a29aadc4e559abdc09b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230416
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Backfill tests for some uncovered operations.
Mostly functional tests, with some targeted at particular
corners of code generation, and a few assembler unit tests.
This doesn't get up to 100% line coverage, but I think it
covers all the non-failure cases.
Change-Id: Ib701df0c505aa41e3b2fe3cd429447acb294b752
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230837
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Added virtual transferFrom to GrOpList and implemented in both
subclasses.
Bug: skia:9269
Change-Id: Ic930e46b172879e592897512c81a0cfe79f20d19
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230129
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Removes an unnecessary use of GrPixelConfig.
Bug: skia:6718
Change-Id: Ib020c42eec58fc53aaf5034fb37bf9d6ec459f95
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230748
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Also fix some whitespace issues.
Change-Id: Ifa2bb7c421604c37861ae0726c6b2aabfefdec4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230558
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Change-Id: I58b52d3e1d05d0834be30e00d991636e227cbf0b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230836
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Change-Id: I76824eca6e72505004b4dfb03fc35c2849176ecb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230459
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Place build rules in experimental/editor/BUILD.gn to keep the top-level
BUILD.gn file smaller.
Change-Id: Idf22aec6f86bc510f4528fe0296bc1bea69f3df2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230740
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Bug: skia:9280
Change-Id: I638c2b3d34be2037648cf27bde933345f8abbd77
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230126
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Introduce AutoPropertyTrackers for each effect being built, such
that associated properties are correctly scoped to the effect name.
This ensures that e.g. the fill effect color property is dispatched with
the correct name.
TBR=
Change-Id: Idb2663503eb2c3805fb96edb0284754464f4fb94
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227498
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Isabel Ren <isabelren@google.com>
Reviewed-by: Avinash Parchuri <aparchur@google.com>
- drop unused ctor
- all layers are kPremul_SkAlphaType -> drop preserveLCDText logic
Change-Id: I24b9d3273ac65d9775714272a75222f36e44a453
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227643
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
This is part of trying to remove uses of GrPixelConfig from the proxy provider
Change-Id: I12d085cfbff86d0e44829ce3ee36744b937b804e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230576
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
We can't remove the loopers themselves, as they are still used
by android and chrome (they just don't ever pass them to skia).
Eventually each of those clients will resolve this, but for now
we just keep the classes (and tests) in skia.
Bug: skia:4783
Change-Id: I5f507e6bb82280f2bc7c0b21eebe59c287aa9265
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230579
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
a96b79f909..cbabea734c
git log a96b79f90940..cbabea734cbd --date=short --no-merges --format='%ad %ae %s'
2019-07-29 timvp@google.com Vulkan: Desktop ETC/EAC formats support
2019-07-29 lujc@google.com Always set matrix uniform to dirty when it updates
2019-07-29 dongja@google.com Vulkan: support relative offset in attrib bindings
2019-07-29 lujc@google.com Filter out redundant depth&stencil state updates
2019-07-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 42f813401bdf..7fc868349143 (2 commits)
2019-07-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src f54b8653dd9d..9559cdbdf011 (1 commits)
Created with:
gclient setdep -r third_party/externals/angle2@cbabea734cbd
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
Bug: None
TBR=benjaminwagner@google.com
Change-Id: I3fc91267858563bd9f29a3915ef7130187a8a2f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230696
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
It's not going to work:
- windows\style\paths don't work well in Python
- something seems to be slipping in extra \r, probably print?
Change-Id: I6d9a0cc0bff403b9b45412b0e92290a9346bcf14
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230641
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This first implementation calls SetSubData() to upload, and simply
uses malloc'ed buffers for onMap()/onUnmap().
Change-Id: I433b4b094a77fbfe1a21447127795b46fdfb9803
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230458
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Greg Daniel <egdaniel@google.com>
This reverts commit de23697549.
Reason for revert: Causing segfault on Mac builders; BUILD.gn needs to be formatted.
Original change's description:
> experimental/editor: depend on ICU, handle word-left and word-right
>
> In App: ctrl-left-arrow and ctrl-right-arrow.
>
> Added a TODO about using better notion of a word.
>
> Bug: skia:9020
> Change-Id: I6f2b930928b9d38bca47291fd39dde7f93ccac03
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230417
> Commit-Queue: Hal Canary <halcanary@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>
TBR=halcanary@google.com,bungeman@google.com
Change-Id: I62dc160d8ae1ce58878b8e222a4d7860cc92ddfe
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9020
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230577
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
New devices came with an updated OS.
Change-Id: I01ae0197d15f4249ea50169a449ec738b15c48d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230476
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Add missing comparison and selection ops, bit casts, 16-bit memory
operations, gathers, uniform loads, and fill in math holes where
reasonable. Update some names to be a bit more regular.
I think all instructions are implemented in the interpreter,
and many tested. More testing and JITs to follow.
Change-Id: I8cf377e8b72a86ac950e020892ce82b39e9d7277
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/229893
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
In App: ctrl-left-arrow and ctrl-right-arrow.
Added a TODO about using better notion of a word.
Bug: skia:9020
Change-Id: I6f2b930928b9d38bca47291fd39dde7f93ccac03
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230417
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Change-Id: Ib37cc549bfd52a5fb3f1f8ef76d0117ed2a1f43d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230419
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Bug: skia:9280
Change-Id: I6d40b83093d8a8e9e84bbe44d917d02dfde85877
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230124
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Let's spin this off in case (dare I say it) the other CL is reverted.
Change-Id: I8ae978cd82772b418f7aae5a64cc8c0fd066ddb9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230443
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Bug: skia:
Change-Id: I2ae0caf08f8434302cae8151ae1ea0fda8d56928
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230397
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
On Mac, originally the temporary upload buffer was stored in managed
memory, which will generate two copy actions, one from the CPU side to
the GPU side of the managed buffer, then another from the GPU side of
the buffer to the GPU texure. Shared mode buffers are in PCI-accessible
system memory, so by storing the temporary texture data there, we should
be copying from the CPU buffer directly to the GPU texture. This gives
us another 10-15% perf improvement over the old upload code.
Change-Id: Ia675e7130e0ae7d0c5f16c8170eeef60a69bfbbd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230299
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Use that to implement many intrinsics in SkSL for the interpreter.
Change-Id: I3762867781cb1a053429fd37b12ae3cf7739cb3c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230134
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@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/c0758331ea123f64269ed26d71624751cbd8f892 Revert "depot_tools: Make gclient_utils Python 3 compatible." (ehmaldonado@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I049d745e83d82f052fb2e7520b53fd94d66b73af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230388
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>
Change-Id: Ib442d085bc51b10a11ba575bdcee532931c5a32b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230257
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>