The values returned by SkCanvas::getDeviceClipBounds() are in the right
space, but have extra constraints on them that are not desirable for
bounding the logical bounds of draw operations:
- they are integral
- they are non-negative
We've been intersecting the bounds of each operation with these bounds,
which means we're mixing these bogus constraints into the bounds of each
recorded operation. This percolates up to the SkPicutre cull rect too.
The most egregious way to see the problem is to record a draw op
entirely in negative space... it'll come back with empty logical bounds
rather than its correct (negative-space) bounds. I've added a test
for this, and another test I also think should be passing but left
making it so as a follow up.
I've had to disable a couple tests asserting clips affect the bounds. :/
A possible follow-up might go back to using the clips to tighten the
bounds of the ops, just so long as we take the original user bounds and
map them with the CTM through to device space ourselves, rather than
relying on the recording canvas' clip stack. I think this means we'd
need to maintain our own stack of device-space float SkRect clip bounds
while calculating these op bounds.
Bug: skia:7735
Change-Id: I6bf15f6b2a9ba4329a4eeae7f9d57aa8729ec1bb
Reviewed-on: https://skia-review.googlesource.com/126002
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
Prior to this change if a color glyph is drawn through the raster device
with an aliased clip the glyph is drawn once for each rectangular region
in the aliased clip. In addition, even when the glyph was not a color
glyph in this situation, the mask was checked for being a color glyph
once for each rectangular region of the aliased clip. This change hoists
the test for the color format out of the loop to ensure that the mask
format is checked once and the mask is drawn once.
This issue was discovered by rotating the coloremoji_blendmodes gm.
Change-Id: I18b6b546356780e0b00948fff7b65783219f5c92
Reviewed-on: https://skia-review.googlesource.com/125868
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Make Skottie truly optional (own flag), and disable in framework builds
(to unblock landing the RapidJson refactoring).
Change-Id: I4611f915e43fe11c1f6754ab4a9f63e45af2f8d3
Reviewed-on: https://skia-review.googlesource.com/125872
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
Each recipe now includes its own setup steps.
Bug: skia:6473
Change-Id: I97eab2cd63f5004c07408e844cbbed735aac355f
Reviewed-on: https://skia-review.googlesource.com/125660
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
This fixes the remaining imageblurclampmode bug and a preexisting un-reported error in the imageblurrepeatmode GM.
This relies on https://chromium-review.googlesource.com/c/chromium/src/+/1044113 (Add a flag to disable a blur imagefilter bug fix in Skia) landing in Chrome first.
Bug: skia:7765
Change-Id: I568d18c17bb95c9e270e4cfd304c8dc134a48a70
Reviewed-on: https://skia-review.googlesource.com/125961
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Change-Id: I19769924882c2790cfc862373d6f26508b410eee
Reviewed-on: https://skia-review.googlesource.com/125871
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This will make the non-bleed gpu implementation more sane as we will
know that the input src rects are at integers and if offset by +/-0.5
we will be at pixel centers.
No change in behavior, since src rects really were integral all along.
Bug: b/77917978
Change-Id: I7193ff0b38de5d10debc24a0121e643573c47cda
Reviewed-on: https://skia-review.googlesource.com/125740
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Change-Id: Ib7e55f8049478e81034563e40da808e5c2c6fa92
Reviewed-on: https://skia-review.googlesource.com/125869
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Bug: skia:7890
Change-Id: I8322b145800dc41ac59322e89804ff9356d8e767
Reviewed-on: https://skia-review.googlesource.com/125864
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
No public API changes.
Bug: skia:7666, skia:7887
Change-Id: I8ac4ec37dd3d0fcc050bc977db41439a8e18895f
Reviewed-on: https://skia-review.googlesource.com/125500
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Easy way to store SDFs in the glyph cache.
Change-Id: Ia67e5c8619862bdee6aa3b293e30507d029e3bf1
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/123748
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
03bb2231a8..d7b56642c9
$ git log 03bb2231a..d7b56642c --date=short --no-merges --format='%ad %ae %s'
2018-04-27 oetuaho Fix blit rect calculations on D3D11 backend
2018-04-28 yizhou.jiang Disable avoid1BitAlphaTextureFormats workaround on Intel
Created with:
roll-dep third_party/externals/angle2
The AutoRoll server is located here: https://angle-skia-roll.skia.org
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=brianosman@google.com
Change-Id: I64f708f823f346cc3dd7da2f92a557de01bc84a8
Reviewed-on: https://skia-review.googlesource.com/125807
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
UINT16_MAX is unsigned int. cast it to int before using it with other
int variables
Change-Id: I77d88a8d3011424a05ab54201c815ce38f9854ca
Reviewed-on: https://skia-review.googlesource.com/125805
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This reverts commit 5d156ad01f.
Reason for revert: Chrome roll failing on cc unit tests
Original change's description:
> Fix a bug in SkGpuBlurUtils::GaussianBlur
>
> This fixes the remaining imageblurclampmode bug and a preexisting un-reported error in the imageblurrepeatmode GM.
>
> Bug: skia:7765
> Change-Id: Ib7e8d21ea67e6b2d7088d5e57bec34e159a36fd2
> Reviewed-on: https://skia-review.googlesource.com/125383
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
TBR=egdaniel@google.com,robertphillips@google.com
Change-Id: I23a164a8f653ef32d7a19462eed0638d91c958e8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7765
Reviewed-on: https://skia-review.googlesource.com/125840
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
https://swiftshader.googlesource.com/SwiftShader/+log/ce8eb945ca82..e76163e3cae0
$ git log ce8eb945c..e76163e3c --date=short --no-merges --format='%ad %ae %s'
2018-04-18 capn Skip ignored EGL config attributes.
Created with:
roll-dep third_party/externals/swiftshader
The AutoRoll server is located here: https://swiftshader-skia-roll.skia.org
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:Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-SwiftShader
TBR=brianosman@google.com
Change-Id: I6d4997f88a2f474dc18daf44fcd9089c8f1510d2
Reviewed-on: https://skia-review.googlesource.com/125775
Commit-Queue: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
This is a workaround for a suspected driver bug, where the driver appears to
blindly copy rowBytes * height bytes, which leads to running off the end of
the source buffer.
Should fix https://github.com/flutter/flutter/issues/16718
Change-Id: I8ee41429ae97b669e2990752a82f806c4469a8ad
Reviewed-on: https://skia-review.googlesource.com/125729
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This ended ~2 years ago, when we switch to only serializing SkImage
Bug: skia:
Change-Id: I38a0bec990a2cc743f86e5ec831019f6bfb588a6
Reviewed-on: https://skia-review.googlesource.com/125750
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
We prefer skcms iccdump, and colorspaceinfo was relying on
soon-to-be-deleted internals of SkColorSpace.
Bug: skia:
Change-Id: I06f6e0365f1f6840339aaf2fb02a7c5aab43b39d
Reviewed-on: https://skia-review.googlesource.com/125748
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
In particular, we can't blinding say index - 1 if we don't know what index
is (e.g. what if index is 0x80000000?)
Bug: oss-fuzz:6119
Change-Id: I31e7964709f9017018a51e29c306dbc48dc88f7d
Reviewed-on: https://skia-review.googlesource.com/125346
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
This fixes the remaining imageblurclampmode bug and a preexisting un-reported error in the imageblurrepeatmode GM.
Bug: skia:7765
Change-Id: Ib7e8d21ea67e6b2d7088d5e57bec34e159a36fd2
Reviewed-on: https://skia-review.googlesource.com/125383
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
e708f004bc..03bb2231a8
$ git log e708f004b..03bb2231a --date=short --no-merges --format='%ad %ae %s'
2018-05-03 oetuaho Add test for D3D11 nested floor() bug
Created with:
roll-dep third_party/externals/angle2
The AutoRoll server is located here: https://angle-skia-roll.skia.org
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=brianosman@google.com
Change-Id: Iae0973ee3ec17a7cb4696720ddd86cf8848214e3
Reviewed-on: https://skia-review.googlesource.com/125763
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Bug: skia:
Change-Id: If55785d7fcc6e2c92c961ac390700add874c8d6d
Reviewed-on: https://skia-review.googlesource.com/125601
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Bug: skia:7886
Change-Id: If616b8bf3b50366356b4324760ad82cbc5fd937d
Reviewed-on: https://skia-review.googlesource.com/124460
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Change-Id: I8d3200d42430901fa493b87c1e7275106f3abd32
Reviewed-on: https://skia-review.googlesource.com/125742
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Herb Derby <herb@google.com>
This should let perf.skia.org get the "name" keyword instead of "test".
Bug: skia:7816
Change-Id: Icb2e9f7c6109a0cfb06499ee58f9fd0cc834e5c3
Reviewed-on: https://skia-review.googlesource.com/125540
Auto-Submit: Yuqian Li <liyuqian@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
We need to do some refactoring to remove the repository hack for
cross-repo tryjobs.
Bug: skia:6473
Change-Id: Ie96fba75f6f1752575a4c7cc5b0208a37f0bd73d
Reviewed-on: https://skia-review.googlesource.com/125724
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
78feddc28a..e708f004bc
$ git log 78feddc28..e708f004b --date=short --no-merges --format='%ad %ae %s'
2018-05-02 tobine Set ANGLE lib apk targetSdkVersion to 28
2018-04-30 jmadill Scope ANGLE_UNUSED_VARIABLE.
2018-05-02 geofflang Pass a context pointer to SurfaceImpl::[bind|release]TexImage.
2018-03-09 cwallez Use packed enums for QueryType.
2018-04-27 jmadill Vulkan: Implement masked color clears.
Created with:
roll-dep third_party/externals/angle2
The AutoRoll server is located here: https://angle-skia-roll.skia.org
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=brianosman@google.com
Change-Id: Ib106a087bdda7f33a0bffd82161291b088b1a7ae
Reviewed-on: https://skia-review.googlesource.com/125640
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
SkRandomScalarContext would apply all path and mask filters twice, once
on the proxy and once to itself.
This also changes the SkScalerContext mask generation in anticipation of
removing the mask format overrides.
This also changes the textblobrandomfont test to fix the line spacing
and emoji handling.
Change-Id: Ib2a633d49ccb801a1849dd982185f44c1d2ea85f
Reviewed-on: https://skia-review.googlesource.com/124644
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>