The encoding kind of all goes through the same paths,
as the three argument instructions, but like the nursery
rhyme when there are only two they kind of all roll over
and the op-extension hops into the bed.
vpermq is the first place we need to set the W bit
to indicate a 64-bit lane operation, so a little
minimal plumbing for that. It takes its arguments
a little differently too, passing dst where you'd
expect, the source where we'd pass y, and requiring
us to pass literal 0000 for the vvvv bits in VEX
(inverted as normal to literal 1111).
Change-Id: I91a4cd1b316eb908992631ce8b2cb3c62078e8c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222565
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Somewhat arbitrarily switched from vandps et al. float bitwise
ops to vpand et al. int bitwise ops. We tend to use them more
int-y generally so the disassembly maybe reads more clearly?
They're identical in behavior AFAIK.
Shuffle tmp around from being an Xbyak::Ymm to its index.
I don't think there's anything tricky here. Spookily things
all seem to work first try, as long as I don't make a typo.
Change-Id: I2b5d4ded7800915824cbd7c917edfd36e229d306
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222528
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Bug: skia:
Change-Id: I43f723f617602de5ba2bf82ff2fe1286527a8cc6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222500
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
This reverts commit 6f24faa623.
Reason for revert: larger impact on GMs than expected
Original change's description:
> GPU: always use TopLeft origin for saveLayer render targets.
>
> Should have no user-visible result.
>
> Change-Id: Iae444888557347bfdf75e6353966cde907ee0a1e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222506
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Stephen White <senorblanco@chromium.org>
TBR=egdaniel@google.com,bsalomon@google.com,senorblanco@chromium.org
Change-Id: Ic8217206adfbd7d506a70c3d9ca828f0dde58c66
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222509
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
The bufferAllocator was being unref'ed before the SkSpinlock went out
of scope, so the spinlock was then using deleted memory.
Bug: skia:8243
Change-Id: I69f090acccaaa3ba7fe2e4190103019a6f4e9359
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222503
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Change-Id: I6b709a2b5e8014cedb152e763ea4470c6f79de4b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222504
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>
Should have no user-visible result.
Change-Id: Iae444888557347bfdf75e6353966cde907ee0a1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222506
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Change-Id: Ia2e21bc984c509cd2405499f93ee5e19941cc492
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222499
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
This reverts commit 731454a085.
Reason for revert: Seeing a lot of performance regressions.
Original change's description:
> Prefer using GrOvalOpFactory over GrFillRRect for circles and
> axis-aligned circular roundrects.
>
> Bug: chromium:971936
> Change-Id: I4cd0cd9047b9b06d657826820ba5a937547f87c3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221000
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
TBR=jvanverth@google.com,csmartdalton@google.com,khushalsagar@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:971936
Change-Id: Iab803b1777ef5e3d754d8ac1f404b01f57d9c1a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222501
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Just landing the initial struct before adding specific flags to the struct
and filling out the formats.
Bug: skia:6718
Change-Id: I1013845cb61482184915d181a7fc7f85800b72c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222498
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
- 32x8 i32 add,sub,mul
- add I32_Naive bench/test builder to get better i32 mul coverage
- minor refactoring all over
Change-Id: I13cc19ff37a2da0bcff289ba51baac08f456d6c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222485
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This extends the runStriped to all for return data.
GPU impl not done yet, will be done in a follow-on CL.
Change-Id: Ib107d2945f6fdb34ce1b5405a6c88a5ae7e9f7ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221539
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Buffer creation is a big hit on Metal. This allows us to recycle more
of the buffer.
Bug: skia:8243
Change-Id: If2e3b13d8175dfe370bd61771af0a59cce277340
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221120
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This reverts commit 27239e456a.
Revert "Revert "Add function to GrDataUtils to handle color conversions.""
This reverts commit c34d993b62.
Change-Id: Iac1bdaa6f8380e63bbb87394e7fca96808572131
Bug: skia:8962
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222039
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
* Added support for LottieWeb bots in perf_skottiewasm_lottieweb.py
* Adds a LOTTIE_WEB_BLACKLIST for lottie files that crash lottie-web as described in https://bugs.chromium.org/p/skia/issues/detail?id=9187#c4
NoTry: true
Bug: skia:9187
Change-Id: I8dbf485e7162e027cb4c4db2bf8f8e9c3ec4d966
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222157
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
I'm getting tired of having changes to SkVM.h trigger
383 build targets, now 13. No other reason.
Change-Id: I12b637e68db409ede9c0c5be74fcca66cca32505
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222479
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This CL:
enables the Y416 row (i.e., uses RGBA_16161616)
spruces up the GL caps configuration of R16, RG16, RGBA16 and RG16F
Change-Id: I405c5acaf3f31b7ab0e9797e6f5df1d4c41d70d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220535
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
-dead_strip works just fine there without those flags,
and they interfere with embedded bitcode.
Change-Id: If3766d245334fd9fa275e90fe67216ababafcecb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222450
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
The lottieweb perf recipe will be very similar to the skottiewasm perf
recipe, so decided to eventually use the same one for both.
Bug: skia:9187
Change-Id: Id9da91c9cf79df7c01c61c7920f944bec974e9f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222156
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Also, removed the blacklist for skia:8706 since the tests are passing
before this CL.
Bug: skia:8587, skia:8659, skia:8706, skia:8961, skia:9023
Change-Id: Ib7bf3268b1981ba9860f77ea7e12673976105ef9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222041
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
"vertex" is a reserved word in MSL. Rename the variable to "position".
Change-Id: I20a8bdd443cbdb1a41496728fc1ff388a02e1d24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222105
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
This CL:
replaces GrProxyRef with sk_sp
streamlines GrIORefProxy to be more like SkRefCntBase (i.e., move the fTarget pointer to GrSurfaceProxy)
Change-Id: I17d515100bb2d9104eed64269bd3bf75c1ebbbb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221997
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
88e0322122..c5c937e1e8
git log 88e0322122f2..c5c937e1e8bd --date=short --no-merges --format='%ad %ae %s'
2019-06-20 syoussefi@chromium.org Vulkan: Support R11G11B10_FLOAT and R9G9B9E5_SHAREDEXP
2019-06-20 syoussefi@chromium.org Vulkan: Minor cleanup of Transform Feedback validation
2019-06-19 geofflang@chromium.org Documentation: Update support matrix.
2019-06-19 dongja@google.com Vulkan: fix texture swizzle
2019-06-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 11805e41d992..f9d08a25fbe1 (1 commits)
Created with:
gclient setdep -r third_party/externals/angle2@c5c937e1e8bd
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:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=bsalomon@google.com
Change-Id: Ib87ab346eb1277240b6578d1eb323147faae1661
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222363
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
a69f99029b..8f8d2c8d54
Created with:
gclient setdep -r ../src@8f8d2c8d54
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=bsalomon@google.com
Change-Id: I50b6a53c9d5aac92948036e462e807608a63ac0c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222364
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Before the the consolidation to the internal drawFilledQuad(),
regular draws would use the logical rt bounds to decide if it can be
a fullscreen clear. Stencil rect draws would use the worst case bounds
(needed to pass GrDefaultPathRendererTest).
Initially, the new drawFilledQuad() switched to always using the worst
case bounds to determine fullscreen clears. Since stencil rect draws
used drawFilledQuad(), this was necessary for the path renderer tests to
pass. But this had the side effect of making render targets with approx.
backing storage no longer perform fullscreen clears when a draw would
otherwise cover the logical bounds of the render target.
Normally, this would only be a performance issue, but it also seems to
have exposed a driver bug in the Nexus 5x on Vulkan where the draws
didn't properly fill the backing store. Having attemptQuadOptimization()
choose its rt bounds based on the presence of stencil settings keeps
both tests happy and increases the likelihood of using fullscreen clears.
Change-Id: I6df2c789211f32a4c94bee394d27b7fb4f7293e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222278
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
This reverts commit 1fb0874af5.
Reason for revert: maybe breaking chrome roll.
Original change's description:
> Remove gpu config fallback in onMakeColorTypeAndColorSpace.
>
> If the client is asking for a specific colorType for a GPU image it seems
> wrong to give them one they didn't ask for.
>
> Change-Id: I65bcdfcb0f744458e2162fe266c08bd3c8fb5a85
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222176
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,bsalomon@google.com,brianosman@google.com
Change-Id: If3469e45d03471af126605072f4d6debec7101b6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222038
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
NVIDIA's updates for the NVIDIA Shield use the same build number, so we
can only distinguish them by the build fingerprint number.
Change-Id: I750ce8c0c0a13519a8155dab49391f6bd1b4e35d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222103
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>
If the client is asking for a specific colorType for a GPU image it seems
wrong to give them one they didn't ask for.
Change-Id: I65bcdfcb0f744458e2162fe266c08bd3c8fb5a85
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222176
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
This allows backends to use an expression rather than a variable for
sampler access.
Change-Id: I2346ac418c8d6277416a4430e2eaf6ab3ffee0a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222036
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
This reverts commit 7694b90eb0.
Reason for revert: suppression: https://chromium-review.googlesource.com/c/chromium/src/+/1666472
Original change's description:
> Revert "Consolidate quad optimizations into single internal function."
>
> This reverts commit 646616a78f.
>
> Reason for revert: Suspected as cause of layout test changes.
>
> Original change's description:
> > Consolidate quad optimizations into single internal function.
> >
> > Routes all non-textured quad draws through single internal function
> >
> > Change-Id: Ief66864a0ad2d598982c5bf500c8a84ecbf84387
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215455
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
>
> TBR=robertphillips@google.com,michaelludwig@google.com
>
> Change-Id: I0dc6a0d948c0f5e9221ff6c9fbbbbbb9bc3d9bc0
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221737
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,robertphillips@google.com,michaelludwig@google.com
Change-Id: I4e5d39d603d32b18c48db291fb1650fe33e9ba11
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222096
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Bug: skia:
Change-Id: If54356b57b6aeba73857ab7d9ff5f78b51303910
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222101
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Bug: skia:8659
Change-Id: Ic51077d915559f8acd0200b422020dae0f63c3c0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222102
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
I'm hoping to have a few pinch points that will actually hold a mutex.
The call getAdvances uses to get glyphs, called metrics(), is one of them.
+ Update some call sites to use the new glyph() call.
Change-Id: I04158e200db43758fe6d33337e5d1137f197a5b7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221777
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Uses puppeteer to bring up Chrome headless and then calls lottie-web-perf.html with endpoints for lottie.min.js and the target lottie file.
NoTry: true
Bug: skia:9187
Change-Id: Ic1f4c9fc1cd68b3f747e58bdbf1ea51387e5e139
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221717
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
This reverts commit 59b22f9297.
Reason for revert: ios
Original change's description:
> Reland "Reland "Interpreter: Support striped inputs for less overhead""
>
> This reverts commit 2c59b4e9ea.
>
> Change-Id: I2b06936994430722b8fc3890ff9b4a6f4710db04
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221998
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
TBR=mtklein@google.com,brianosman@google.com,reed@google.com
Change-Id: I321d257e400f5df3c6115dfe9aa18a2794a95910
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222099
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
When starting a nested loop, we can't rely on the condition mask to keep
dead lanes dead, because of conditional breaks/continues that may have
happened earlier. So always narrow the loop mask by inheriting the
previous one.
Change-Id: I5bb076e6467fe1b6a2f682a590e8ae972a440b03
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222098
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
* Picked a GPU bot with 200+% capacity.
* Uses git from CIPD because some bots do not have git installed.
* Uses npm from node asset because some bots do not have npm installed.
NoTry: true
Bug: skia:9179
Change-Id: I75af7cd9f96b040481dcea85d65f95b29c11e3f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221616
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Tests more filter types since their implementations may differ in how
they access the underling SkSpecialImages.
Includes reference slides that use saveLayer with filters instead of
makeWithFilter+draw.
Bug: skia:9177
Change-Id: Ic40e2fb2c81ab72b2999ed3dbd9b06870d95d31e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221117
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>