Lazy and GPU images manage the notification themselves, but raster
images now forward the notification request to the pixelRef.
Bug: skia:
Change-Id: I93e0ebd3749e3f7dbd506466299fde8923982435
Reviewed-on: https://skia-review.googlesource.com/c/161830
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Bug: skia:8467, oss-fuzz:10929
Change-Id: I6336e00004322960319e3076677029d3b17c78e3
Reviewed-on: https://skia-review.googlesource.com/c/162028
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Bug: oss-fuzz:10936
Change-Id: I7c9e4eccb0165a1d3bbf326cde305f0fde01bbb8
Reviewed-on: https://skia-review.googlesource.com/c/162029
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Bug: skia:
Change-Id: I30d67c6c69f17f8be567c049f95b09c136484dff
Reviewed-on: https://skia-review.googlesource.com/c/162026
Auto-Submit: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Previously we inverted a matrix to compute a mapping from positions
to teture coords and applied it to the outset positions.
Change-Id: I164d827caa2cebcf690290ff1a3f2859a8c285b3
Reviewed-on: https://skia-review.googlesource.com/c/161831
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Also modifies makeVertexSpaceAtLeast() so that it never returns more
than the fallback request amount. This means that when an Op knows
exactly how many vertices it will need it does not need to use
putBackVertices() to not waste space.
Change-Id: I8a8900f2ad860e850b94dec20e90270978a496b5
Reviewed-on: https://skia-review.googlesource.com/c/161144
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
No one sets this flag anymore
Bug: skia:
Change-Id: Icda651823fc8aeeb58cb0865ada32aa50190db58
Reviewed-on: https://skia-review.googlesource.com/c/162023
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
I was aimlessly looking at large symbols in Skia and SkSL::Context's
constructor popped out at me.
Part of this size turned out to be inlined std::string destructor calls
to the moved-from temporaries created as arguments, with a little
"are-we-small-string" check and a conditional call to operator delete.
We can skip that by just not making those moved-from temporaries at all,
instead constructing the string only inside the Type where it doesn't
need to be immediately destroyed.
I switched all the constructors for type from taking String for the
name to const char* for the name where they still compiled. The ones
that remain String create their type names dynamically.
Change-Id: I4af0d08b0c5535ab979ea535f225da6897b02390
Reviewed-on: https://skia-review.googlesource.com/c/160881
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Bug: skia:7901
Change-Id: If43eb80e1c8ab25074b1e0fda68139d4e6c44729
Reviewed-on: https://skia-review.googlesource.com/c/162020
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
c97e3f6684..79b914075c
git log c97e3f6684c7..79b914075cc5 --date=short --no-merges --format='%ad %ae %s'
2018-10-12 geofflang@chromium.org Add an extension for querying esimated GPU memory size of resources.
Created with:
gclient setdep -r third_party/externals/angle2@79b914075cc5
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=stani@google.com
Change-Id: I15f97758d8113863be7949641086352105d98dd4
Reviewed-on: https://skia-review.googlesource.com/c/161932
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
No API changes
TBR=reed
NOTRY=TRUE
Bug: skia:
Change-Id: I1ffde14bc6ebf0cf3d89735f70fb9a385b35d167
Reviewed-on: https://skia-review.googlesource.com/c/161940
Commit-Queue: Heather Miller <hcm@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
That's what their treemap says and we should try to match it.
Bug: skia:
Change-Id: Iefa95c0440eb6b45a94a72c1beffb8a1199152a4
Reviewed-on: https://skia-review.googlesource.com/c/161825
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
At the moment I'm actually a bit confused about
why the new pair of gradients appear to interpolate
in P3 when drawn in --config 8888.
--config gl works as I'd expect, interpolating the
existing gradients in P3 and the new gradients in
sRGB.
Change-Id: I74b77d834b495a7545753b76c8fd8ecaeb5c7b70
Reviewed-on: https://skia-review.googlesource.com/c/161586
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Bug: skia:7903
Change-Id: Ia14cdafcfc26f75fde4296e7e93ce6f56a98400f
Reviewed-on: https://skia-review.googlesource.com/c/161827
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Change-Id: Ib2d6e890e061456cb4433d44b78c0eb137726d61
Reviewed-on: https://skia-review.googlesource.com/c/161826
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This reverts commit 11422c63d3.
Reason for revert: Perf regression
Original change's description:
> Tie mip map cache purging to Images, not Bitmaps/PixelRefs
>
> We were potentially using different keys for lookup vs. add, because we
> were adding with a key based on the pixelRef, which may not have the
> same uniqueID as the originating image.
>
> Bug: skia:
> Change-Id: Ib4d3d5ead9f5a574cf6d1920080bc9c4ae66c1d0
> Reviewed-on: https://skia-review.googlesource.com/c/161625
> 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: I9bdce1c6b1d9bf13cc477d2e7f20f7cc0f204b2f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/161828
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
We have a similar ingestion strategy to Gold.
I tried to use something off the shelf like benchmark.js
but passing the PathKit context into the benchmarks was
non-trivial. Plus, making a basic benchmarking tool
ended up being not too hard.
We should be able to re-use the docker container/aggregator
for CanvasKit too.
Bug: skia:
Change-Id: I613dfc58ea57c31cf71566a8ac55f8df9272ad25
Reviewed-on: https://skia-review.googlesource.com/c/161620
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
* Fixes isTextureBacked() for SkImage_GpuYUVA
* Hooks in SkImage_GpuYUVA::MakePromiseYUVATexture()
* Pass down plane texture sizes to MakePromiseYUVATexture()
* Move some other methods to SkImage_GpuBase.
Bug: skia:7901
Change-Id: I33d62c16b426abba5830f7168f9f8fd54a0cb093
Reviewed-on: https://skia-review.googlesource.com/c/161149
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
are not recyclable.
Change-Id: I5ff9c48b3d7b37531a3f052bd5188a8afcacf3cb
Reviewed-on: https://skia-review.googlesource.com/c/161860
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
When dst is null we can't hit the Equals() fast path,
as Equals() says only null == null. Instead treat
null dst as src, i.e. skip the transform.
This should be an observable no-op... SkConvertPixels
will recognize null dst == src and do no color transform.
This CL just avoids the extra copy.
Change-Id: I7c1983d5db733a2dd036d84c2ff91add136e1c68
Reviewed-on: https://skia-review.googlesource.com/c/161587
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>
Also, it turns out layer effect properties are keyed by their
index in the property array, and not by "ty". Update the
implementation to reflect this.
Change-Id: I72c6cf83f60ee1f8240222c7e2be2d567555a772
Reviewed-on: https://skia-review.googlesource.com/c/161840
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
The argument is unused (and in future CLs will be removed entirely)
Bug: skia:
Change-Id: Iec6b757992f7e27d8f929b000227ec5bd3a8f8d5
Reviewed-on: https://skia-review.googlesource.com/c/161841
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
671809e62e..c97e3f6684
git log 671809e62e80..c97e3f6684c7 --date=short --no-merges --format='%ad %ae %s'
2018-10-12 jmadill@chromium.org Revert "ES31: Add vector and matrix support in SSBO for D3D"
Created with:
gclient setdep -r third_party/externals/angle2@c97e3f6684c7
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=stani@google.com
Change-Id: I23352e71a622e92bd6f4bada2f91e59b6b99d7d7
Reviewed-on: https://skia-review.googlesource.com/c/161882
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
One less SkCanvas subclass to deal with...
Change-Id: I21e81648026be5d732e8d9a28baed55015492a04
Reviewed-on: https://skia-review.googlesource.com/c/161584
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Flutter barely needs the float stages, and
probably doesn't care at all about these.
Change-Id: I663e5496f4f9a6c689c1ef0137b2318177fb3760
Reviewed-on: https://skia-review.googlesource.com/c/161582
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
We were potentially using different keys for lookup vs. add, because we
were adding with a key based on the pixelRef, which may not have the
same uniqueID as the originating image.
Bug: skia:
Change-Id: Ib4d3d5ead9f5a574cf6d1920080bc9c4ae66c1d0
Reviewed-on: https://skia-review.googlesource.com/c/161625
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Before this change, we converted the paint's alpha from a float to a
byte, then serialized it as a float in the range 0-1, with
full single-precision precision (~8 decimals). This was stupid.
Now, we store a float, and then serialize it with 4 decimals of
precision, like other color components.
Change-Id: I05c6ecf7e6a156087c1964ee0c1ebdedcff0cda5
Reviewed-on: https://skia-review.googlesource.com/c/161142
Commit-Queue: Hal Canary <halcanary@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Chrome has rebaselined against the new implementation
Bug: skia:8382
Change-Id: I6896cda4a970ba061cd26ba20358cd842f6bf83d
Reviewed-on: https://skia-review.googlesource.com/c/161820
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>
Empty streams: one heap alloc instead of two.
Single-block streams: realloc to used portion of block.
Change-Id: I3d7b3a465b28409a4bb93782ea1ddb21a97f70a1
Reviewed-on: https://skia-review.googlesource.com/c/161600
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>