Change-Id: Ie7966e22282ef25861cc775bd0904c113ded76c1
Reviewed-on: https://skia-review.googlesource.com/c/171523
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>
Change-Id: Id448183725d0218b26bbc2eea7a0fce6e61c2d1b
Reviewed-on: https://skia-review.googlesource.com/c/171580
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
The previous solution for TriStripping quads was generating slightly
worse code than our old SkPointPriv::SetRectTripStrip solution.
The new functionality of GrVertexWriter gets the generated code back to
being as fast/small as possible (from inspection in GrRegionOp's case),
and also makes usage even simpler.
Bug: skia:
Change-Id: Ie7a911aeaf533bbdac15437b19d4cbfed8f51804
Reviewed-on: https://skia-review.googlesource.com/c/171230
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This is going to be faster, and it's the last usage of GrColorMul
Bug: skia:
Change-Id: I2ecbed55ec401792f8d8f8ab9dc91a14182094b4
Reviewed-on: https://skia-review.googlesource.com/c/171520
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: I46f8054e3e846982b3290c375b9a54a313fe8c23
Reviewed-on: https://skia-review.googlesource.com/c/171234
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
d9ee8bf962..c30f45d3f9
git log d9ee8bf96207..c30f45d3f9c1 --date=short --no-merges --format='%ad %ae %s'
2018-11-16 syoussefi@chromium.org Vulkan: Rename PipelineDesc/Cache to Graphics&
Created with:
gclient setdep -r third_party/externals/angle2@c30f45d3f9c1
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=rmistry@google.com
Change-Id: Ib39cae973a057f16867cb4fc4013592c8c126b55
Reviewed-on: https://skia-review.googlesource.com/c/171440
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
666818eacf..d9ee8bf962
git log 666818eacf79..d9ee8bf96207 --date=short --no-merges --format='%ad %ae %s'
2018-11-15 jmadill@chromium.org Minor inlining optimization to Context draw calls.
2018-11-15 geofflang@chromium.org Allow querying of all draw buffer states on the default framebuffer.
2018-11-15 geofflang@chromium.org GL: Put commas between vendor and renderer strings.
2018-11-15 brandon1.jones@intel.com Autogenerate Repeated Portions of Blit11
Created with:
gclient setdep -r third_party/externals/angle2@d9ee8bf96207
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=rmistry@google.com
Change-Id: Iad1ba57719b18b8cc98c7eec26fde9b64fb85ed6
Reviewed-on: https://skia-review.googlesource.com/c/171380
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
early abort on assert condition
R=kjlubick@google.com
Bug: skia:
Change-Id: I07b6d015be79dd4302d5ab60a6412d593a4b2849
Reviewed-on: https://skia-review.googlesource.com/c/171225
Commit-Queue: Cary Clark <caryclark@skia.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Bug: 905062
Change-Id: Ib5e742003b64ad8314544605590f5b0bf09742c7
Reviewed-on: https://skia-review.googlesource.com/c/171009
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
The alpha procs differ from the opaque ones only in a very isolated,
branch-predictable place. If we need to make any of these care about
whether alphaScale == 256, we can probably just put a branch in there.
More refactoring to follow...
For now I've kept Clamp_S32_opaque_D32_nofilter_DX_shaderproc() around.
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I2739b6fc7d36c1adf6c702b271b20986f86e413f
Reviewed-on: https://skia-review.googlesource.com/c/171040
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
f3acb8c133..666818eacf
git log f3acb8c133fa..666818eacf79 --date=short --no-merges --format='%ad %ae %s'
2018-11-15 jmadill@chromium.org Use angle::Result in front-end (Part 8)
Created with:
gclient setdep -r third_party/externals/angle2@666818eacf79
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=rmistry@google.com
Change-Id: I494efc99b815027d37476b356c49802042553405
Reviewed-on: https://skia-review.googlesource.com/c/171280
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bug: skia:
Change-Id: Ibd636b9e1bf932033c3161c862523f841cb85e79
Reviewed-on: https://skia-review.googlesource.com/c/171005
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
This is all dead.
Change-Id: Ifef5edb5c2402118cb289bbe31923f8de56bab23
Reviewed-on: https://skia-review.googlesource.com/c/171240
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Adds TriStripPoint helpers to replace usage of SetRectTriStrip
Bug: skia:
Change-Id: Iced3dd4474caafb0a3c6ef057e30e227dbee88e0
Reviewed-on: https://skia-review.googlesource.com/c/171004
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Bookmaker does not require documentation for public symbols
described as "deprecated", "private", or "experimental".
Adding one of these words (case-insensitive) to the symbol
description in the include file tells bookmaker that the bmh file
should not include documentation, and the generated markdown
should omit it in its indices and descriptions.
Symbols marked as "to be deprecated" or "may be deprecated"
are still regarded as public and documented.
Private notes in the includes that start with TODO: are
omitted as well.
This CL updated generated includes to describe its symbols
accordingly. The includes will be fully regenerated in a future
CL. The corresponding documentation has been deleted from the
bmh files, and the web markup has been regenerated.
TBR=reed@google.com
Docs-Preview: https://skia.org/?cl=169830
Bug: skia:
Change-Id: Ie6ec3ccdadb7be9ac15db4811823a30948c4af25
Reviewed-on: https://skia-review.googlesource.com/c/169830
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
fca8fd6201..f3acb8c133
git log fca8fd620190..f3acb8c133fa --date=short --no-merges --format='%ad %ae %s'
2018-11-15 jmadill@chromium.org Retool perf test running.
2018-11-15 fjhenigman@chromium.org Refactor instancing tests.
2018-11-14 geofflang@chromium.org GL: Work around driver returning negative GL_MAX_SERVER_WAIT_TIMEOUT
2018-11-14 syoussefi@chromium.org Vulkan: Implement EXT_texture_filter_anisotropic
Created with:
gclient setdep -r third_party/externals/angle2@f3acb8c133fa
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=rmistry@google.com
Change-Id: Idb843599b80ce73b06c56f9e66677c3bacbf94df
Reviewed-on: https://skia-review.googlesource.com/c/171092
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
These changes expose the arc function for SkPath. The ApplyAddArc function is a copy from the PathKit bindings.
Also exposed the PNG and JPEG formats from the SkEncodedImageFormat enum and the SkImage::encodeToData overload that accepts format and quality options. The direct binding of encodeToData was replaced with a pre-js wrapper that calls the appropriate private overload
We are working on a PostCSS conic gradient polyfill plugin and want to use the CanvasKit to generate it.
Problem is - it lacks the arc function that technically exists but isn't exposed. And it would be really great to have encodeToData with options since generated PNGs are quite large.
More details on the issue can be found here: https://github.com/jonathantneal/postcss-conic-gradient/issues/10R=kjlubick@google.com
Bug: skia:
Change-Id: I3f1dc88ad308369fe62004080bcc196c4fbbf742
Reviewed-on: https://skia-review.googlesource.com/c/171046
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
GrRenderTargetOpList maintains an array of op chains. When it receives a
new op it tries to add it to an existing chain, working backwards from
the end of the current array. If the op can be added to a chain it
additionally tries to merge the new op with ops already in the chain
before adding it to the tail of the chain.
In forward combining it tries to concatenate chains. If chains can
concatenate it also attempts to merge ops between the two chains.
Now op chaining results reported by Op subclasses must be transitive.
Moreover, if op A is able to merge with B then it must be the case that
any op that can chain with A will either merge or chain with any op that
can chain to B.
Bug: skia:8491
Change-Id: Ib6a2a669acd4257134a37d271289b8b3f247cd3f
Reviewed-on: https://skia-review.googlesource.com/c/170351
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This reverts commit bf1a82aa22.
Reason for revert: UBSAN.
Original change's description:
> remove Clamp_S32_opaque_D32_nofilter_DX_shaderproc
>
> This is a warmup to removing all _opaque_ shader procs.
>
> Oddly this shows up as mostly performance-positive:
>
> just-that-one (compared to master) is likely
> 24.11% slower in bitmap_RGBA_8888_scale
> 5.23% faster in shadermaskfilter_picture_ff
> 5.73% faster in shadermaskfilter_picture_80
> 10.02% faster in maskshader
> 40.24% faster in bitmap_RGBA_8888_A_source_stripes_three
> 40.88% faster in bitmap_RGBA_8888_A_source_stripes_two
> 54.40% faster in bitmap_RGBA_8888_A
> 60.87% faster in top25desk_weather_com.skp_1
> 62.39% faster in bitmap_RGBA_8888_A_source_opaque
> 62.95% faster in bitmap_RGBA_8888_update
> 63.15% faster in bitmap_RGBA_8888_update_volatile
> 63.34% faster in bitmap_RGBA_8888
> 71.40% faster in bitmap_RGBA_8888_A_source_transparent
> 86.13% faster in bitmaprect_FF_nofilter_trans
> 412.43% faster in constXTile_CC
>
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> Change-Id: Ifef92a1efcb6c35b8519da7599d31ea3bb41c3a4
> Reviewed-on: https://skia-review.googlesource.com/c/171041
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>
> Auto-Submit: Mike Klein <mtklein@google.com>
TBR=mtklein@google.com,herb@google.com
Change-Id: Ibb08f590d18054e7886600e79cc23f951dc0cbb8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://skia-review.googlesource.com/c/171043
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This is a warmup to removing all _opaque_ shader procs.
Oddly this shows up as mostly performance-positive:
just-that-one (compared to master) is likely
24.11% slower in bitmap_RGBA_8888_scale
5.23% faster in shadermaskfilter_picture_ff
5.73% faster in shadermaskfilter_picture_80
10.02% faster in maskshader
40.24% faster in bitmap_RGBA_8888_A_source_stripes_three
40.88% faster in bitmap_RGBA_8888_A_source_stripes_two
54.40% faster in bitmap_RGBA_8888_A
60.87% faster in top25desk_weather_com.skp_1
62.39% faster in bitmap_RGBA_8888_A_source_opaque
62.95% faster in bitmap_RGBA_8888_update
63.15% faster in bitmap_RGBA_8888_update_volatile
63.34% faster in bitmap_RGBA_8888
71.40% faster in bitmap_RGBA_8888_A_source_transparent
86.13% faster in bitmaprect_FF_nofilter_trans
412.43% faster in constXTile_CC
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ifef92a1efcb6c35b8519da7599d31ea3bb41c3a4
Reviewed-on: https://skia-review.googlesource.com/c/171041
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
d1a55e393e..fca8fd6201
git log d1a55e393e65..fca8fd620190 --date=short --no-merges --format='%ad %ae %s'
2018-11-14 syoussefi@chromium.org Vulkan: Refix cleanup race condition on Context destroy
2018-11-14 syoussefi@chromium.org Vulkan: prepare for ES3
Created with:
gclient setdep -r third_party/externals/angle2@fca8fd620190
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=rmistry@google.com
Change-Id: I3bbdd98fd8faceb7c918be34fbe777e6578b614c
Reviewed-on: https://skia-review.googlesource.com/c/171060
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Also, history seems to be available for internal code search.
No-Try: true
Docs-Preview: https://skia.org/?cl=171003
Change-Id: I13707664b88e3d84760f11f43d2bd7c35c2a8969
Reviewed-on: https://skia-review.googlesource.com/c/171003
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Replacement for SkPaint::getTextPath and getPosTextPath
- only works with glyphIDs
- doesn't try to do positioning
- doesn't force caller to consolidate all the glyphs into one giant path
Much of the time is spent transforming the path from the cache's size to the callers.
Might consider passing the raw path + matrix rather than scaling it for them???
Bug: skia:
Change-Id: Ie13015c61ebe410eaec084282d600338cfccb51a
Reviewed-on: https://skia-review.googlesource.com/c/170881
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
It's free performance!
Seriously, though, it's a perfectly predictable branch.
On opaque content I'm seeing a small speedup and two
extra instructions in the hot path:
+ cmpl $256, %regs
+ je <to write-it-out>
pmullw %xmm, %xmm
psrlw $8, %xmm
pmullw %xmm, %xmm
psrlw $8, %xmm
write-it-out:
Change-Id: I1c19a9efac62df2bb901ca9eb2679c967729d863
Reviewed-on: https://skia-review.googlesource.com/c/170901
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>