This reverts commit 42ea8e6619.
Reason for revert: Breaks a chrome layout test.
Original change's description:
> Naive CPU large emoji
>
> This CL uses the GPU prepare path code to calculate reject which
> are color.
>
> What is missing is a system for scaling glyphs to the screen
> from the cache. Or a way to draw glyphs directly with no cache.
>
> Change-Id: Id5072c3cbffb91bad06ad840549c2711f5063c5c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255980
> Auto-Submit: Herb Derby <herb@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>
TBR=bungeman@google.com,herb@google.com,reed@google.com
Change-Id: I62d27fd3ac1150ab21263afa948ee06a2932c2c4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256937
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
The new c++17 only has a single level of destructuring;
append the index instead of nesting it.
Change-Id: I26bb1ca387d1de57233dbf7096dcf4bb7aaedecf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254637
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
f65b212492..c373dfd841
git log f65b212492ec..c373dfd84194 --date=short --first-parent --format='%ad %ae %s'
2019-11-26 m.maiya@samsung.com Vulkan : Handle dirty state correctly when there are muiltiple VAOs
2019-11-26 syoussefi@chromium.org Vulkan: Fix barriers w.r.t sampled->storage image update
2019-11-26 syoussefi@chromium.org Vulkan: Remove unnecessary barrier in image -> buffer copy
2019-11-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader afc52b0b26d7..663dcefa22ea (10 commits)
2019-11-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 5efc3922e3e8..8c954d5a413d (3 commits)
2019-11-26 xinyi.he@arm.com Vulkan: Large builtins overflow during string construction in glslang
2019-11-26 lehoangq@gmail.com Metal: Support depthRange near > far
2019-11-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 39b3005ba560..6f6e3371c92a (1 commits)
Created with:
gclient setdep -r third_party/externals/angle2@c373dfd84194
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/+/master/autoroll/README.md
Cq-Include-Trybots: skia/skia.primary:Build-Debian9-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
Change-Id: I240ab8224a6bf6831963ace98e32ca58354bcb0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256923
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.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.
recipe_engine:
https://crrev.com/c48c77264fea1fbe3bdc8352451a91b3dd529c96 [platform] Add mac_release method. (iannucci@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I6bd245f1b6259f67ce8a869cac4d426a7a7f6fee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256936
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>
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.
recipe_engine:
https://crrev.com/9aa46f0fd476ce9bba0380209e52ae48b88222a1 [resultdb] Add resultdb protos (nodir@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie62687480824a057d0e19cca7ff40f4b9ead1b49
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256897
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>
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/5e94b80c348b570ccba50a7e68d7b97c614a233e git-hyper-blame: Fix unicode handling. (ehmaldonado@google.com)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic42dee4b010ca47d999c9cbbbecebea7ae2d20e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256819
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>
This also fixes error reporting in broken include files.
Change-Id: I39b74ced4fe56f7bf654aef4c8c402713bdb15b6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256778
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This CL uses the GPU prepare path code to calculate reject which
are color.
What is missing is a system for scaling glyphs to the screen
from the cache. Or a way to draw glyphs directly with no cache.
Change-Id: Id5072c3cbffb91bad06ad840549c2711f5063c5c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255980
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Bug: skia:9603
Change-Id: Ia8b3c8f981e7fe2ead0aabcdfdf650a21aa2e3f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256818
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@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.
recipe_engine:
https://crrev.com/1b8cdb3fb0283ac8f93a7ca517b278b1ace51353 [recipe_modules/context] Simplify context implementation. (iannucci@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I79acf7b4cece26de9ab752b881936c3b2a021b0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256775
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>
This fixes a case where Chrome was hitting the assert in ComputeSize that
colorSize > 0. In general this shouldn't affect our memory/budget tracking
since external textures are generally given to us as wrapped borrowed textures
so they're memory was not counted against our budget to begin with.
Change-Id: I2fd4eaaab52d9c3dc1af3a8f5b59a1b1f3c5dbb7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256656
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
This is a pre-cl to correctly handle failures in GrVkCommandBuffer to
hopefully make things more simple.
Bug: skia:9603
Change-Id: Iefdf2bbde5d5ec778aad50341772d0c88a97cda5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256418
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
This sets up for moving GrProgramDesc creation to GrCaps. I.e., we will have a virtual "GrProgramDesc GrCaps::makeDesc(const GrRenderTarget*, const GrProgramInfo&)" call.
Bug: skia:9455
Change-Id: I82053297383af9d405e6b485bf8287f10fa15967
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256696
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
No work needs to be done in Metal for cross-context textures. Metal
automatically places a barrier between different command buffer
encoders, and Skia and the external client will implicitly be using
different encoders.
Bug: skia:8243
Change-Id: I0c855e2d78aa8973f389108483184947f019342c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256699
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
We allow animating the mask filters, so we can end up with null filters
sometimes.
TBR=
Change-Id: Id93aa033407f58bfeb5e059210141c936c356701
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256697
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Bug: skia:9675
Change-Id: Ie9fcd38a4d6c1e369bb2c3740de664a87d1a322c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256660
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
In order to be able to create GrProgramDescs pre-flush we would like as little reliance on the GrRenderTarget as possible (also GrPixelConfig is going away).
Bug: skia:9455
Change-Id: Ie35c87758bb1ed97c99c6e9e130eaeb3355f4139
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256457
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This reverts commit 3e7af41224.
Change-Id: Id4f66b3956f4bdbe690db20fc478b7365ee89717
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256676
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
All tools are updated to use the new copies in skresources
Change-Id: If3cfc3104d72535ea4c49f70f1fa68dcf78af987
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256657
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
To facilitate this, the GrQuadBuffer::Iter's local GrQuads that are
modified on each next() are now allowed to be operated on for the AA
inset/outsetting. Previously this required additional GrQuads on the
stack to hold the results, and additional guards for accessing localQuad()
when the entry didn't have actual coords.
With this change, a 2D op should have its device and src GrQuads' Ws
set to 1 once, and then they are completely ignored for all iteration
and tessellation, without any more redundant initialization. In all
likelihood we won't see the needle move on powerful platforms, but may
help lower end devices.
Change-Id: I457205786766403a760918e779d36ba056d69cde
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256097
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
For now, we'll have two copies. Once clients are using the skresources
versions exclusively, we can remove the originals from skottie.
Change-Id: I3152f526b0505b8374bdd9b4513a80bddc702ccc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256416
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
e9b68f332a..f65b212492
git log e9b68f332a30..f65b212492ec --date=short --first-parent --format='%ad %ae %s'
2019-11-25 felipearchondo@google.com [fuchsia] Change all Angle Presents to Present2s
2019-11-25 courtneygo@google.com Vulkan: Fix validation issue with swiftshader
2019-11-25 flibitijibibo@gmail.com Implement BaseVertex draw calls for Vulkan, OpenGL, NULL contexts.
2019-11-25 jmadill@chromium.org Update codegen presubmit error.
2019-11-25 lehoangq@gmail.com Metal: support ANGLE_instance_arrays/EXT_instance_arrays
2019-11-25 jmadill@chromium.org Fix header typo in rapidjson.
2019-11-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-headers/src 24347673152e..2b89fd4e2734 (1 commits)
2019-11-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 131a1ba8d06a..afc52b0b26d7 (7 commits)
2019-11-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 43fe7bafb14e..38b4db48f98c (4 commits)
2019-11-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 45dde9ad6dde..85f3e93d13f3 (1 commits)
Created with:
gclient setdep -r third_party/externals/angle2@f65b212492ec
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/+/master/autoroll/README.md
Cq-Include-Trybots: skia/skia.primary:Build-Debian9-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
Change-Id: I564f1577fc81bc6ee85695ffa1f4d9004fdbb482
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256535
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
We need the wrapped GrVkSeocndaryCommandBuffer to live, holding refs to
GrVkResources until the GPU is done with the work. However, we don't know
ourselves when the command buffer gets submitted or when the GPU is done
since the client handles on that in the wrapped case. Our spec for wrapped
secondary command buffers requires to the client to keep the
GrSecondaryCommandBufferContext alive till the GPU is done the work so we
can use that to manage our needed lifetime as well. By putting the
GrVkSecondaryCommandBuffer on the GrVkRenderTarget, which is owned by the
SkGpuDevice in the above GrSCBContext, or lifetime should match what we need.
Change-Id: I7cdd92089bed390548ebf33f9d5c7e714bacc9c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256361
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
This reverts commit b1edfde279.
Reason for revert: senorblanco@ is adding a WriteOnly flag which will
be more appropriate for this functionality.
Original change's description:
> Rename GLRTFBOIDIs0 to WrapsSwapchainSurface and use for Metal.
>
> This provides a way to indicate that a Metal RenderTarget, and in
> particular a RenderTargetProxy, is framebufferOnly, so it can be
> restricted to certain operations.
>
> Bug: skia:9573
> TBR: bsalomon@google.com
> Change-Id: I733fae2fce402c375534889346255afe28a57944
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255783
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,robertphillips@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: skia:9573
Change-Id: Ide775fbbe81114c10fe81e7faa517c20784e8498
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256496
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Now that the UniformHandlers can accept SurfaceProxies directly, there's
no need to have the restricted type on TextureSampler anymore. This will
make them one step closer to compatibility with GrSurfaceProxyView.
While making these changes, several effects performed their own source
coord normalization by peeking the texture. I updated these to just
use the proxy's backing store dimensions.
Bug: skia:9556
Change-Id: I97183e8453b7a3db86cd90d614c8c959b3707abb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255978
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
This is a first pass that should help with migrating clients.
The utility implementations of ResourceProvider are still in
skottie - those are going to be harder to move. More likely
that I'll add parallel implementations in skresources, then
we can shift clients over and delete the skottie copy.
I'm planning to use this interface/system in particles.
Bug: skia:9513
Change-Id: I004da685983c05cb1b48a75f8a23bd7d73a3f5af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256077
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
* Remove Run.
* Have SubRun handle both mask and path data.
* Collect up runs of glyph with the same format to
simplify building SubRuns.
The nexus of this change is GrTextBlob::makeSubRun. All the
invariants for a SubRun are set in this code, and those
invariants stem from the SubRunType. Much of the code has been
simplified by not having to maintain complicated invariant
state between adding glyphs.
The change that reduces the most number of problems with the
old code is having SubRun own its SkStrikeSpec. Having bulk
glyph insertion facilitated this.
Change-Id: I2439392a9ee3485e7b07a1f3fdaf1351128c4d47
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255309
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Change-Id: I0524c96e3a6ab1a342872d5d0d903e87526dffeb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256230
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
This is a reland of 997b37fdb9
Layout tests have been suppressed.
Original change's description:
> Revert "Revert "Make FP optimizations helpers use SkAlphaType not GrColorType""
>
> This reverts commit 078e8faa26.
>
> Change-Id: I67b2970584db5a1afbf9928b77c5444947ef71a3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255897
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
Change-Id: I6db4cff8b71ef1f29ac47f7729b9514d009f730a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256225
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
The bulkrect_1000_random_uniqueimages_batch on a Nexus 6P/Adreno 430
w/o this CL
curr/maxrss loops min median mean max stddev samples config
304/304 MB 1 151ms 159ms 158ms 163ms 3% ▆█▇▄▆▆▁▂█▅ gles
w/ this CL
curr/maxrss loops min median mean max stddev samples config
286/286 MB 1 18.1ms 18.1ms 18.1ms 18.1ms 0% ▂▄▅▃▅▅▃▄▁█ gles
Change-Id: I0f6d690b953444ec7a3176cb27c8a253caa55f5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255986
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>