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>
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>
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>
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>
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>
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>
Change-Id: I9f2ae8e669ab3c22b66f9b10bd2650b5f5ab0bd4
Reviewed-on: https://skia-review.googlesource.com/125345
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Herb Derby <herb@google.com>
This is more similar to old behavior - trying to make an xformer that
converts to an A2B color space will fail. It is slightly more strict
than previous code, though - XYZ profiles with table-based TRC curves
that can't be fit by our regression code will now be rejected as xform
destinations. I don't think that's a use-case that anyone is hitting
right now?
Change-Id: I22c7091794ea65135a4607c30d0d1a8accab879b
Reviewed-on: https://skia-review.googlesource.com/125290
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
SkDescriptors used describe strikes need to have a standard
form to pass them between on process and another. This change
allows a canonical form.
Change-Id: I451c74e4073b4e5d6de02f88cbd2ed5eb51cdad9
Reviewed-on: https://skia-review.googlesource.com/125340
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
Reviewed-by: Khusal Sagar <khushalsagar@chromium.org>
This CL didn't cause and gm or skp image diffs locally but, since the backing fit is being changed in some cases, it is likely to do so on some bot.
Change-Id: I13decf44fb12e457951381bcc9c2c15103553a43
Reviewed-on: https://skia-review.googlesource.com/125225
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
This is a reland of c86c5c0144
Original change's description:
> Remove devKerning
>
> Dev kerning is not supported by any scalers. This is
> mostly removed. The remaining fields fRsbDelta and
> fLsbDelta are kept to keep Android compiling.
>
> Change-Id: If1a9ee9bb599d4e1bdf4b3751ac0c65246350809
> Reviewed-on: https://skia-review.googlesource.com/124921
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>
Change-Id: Ibf5fac5f1442c7e62392d5146ad460da27b10d5c
Reviewed-on: https://skia-review.googlesource.com/125300
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Change-Id: I0b296bf5b80adc19758a3dc99160be9d2ed05680
Reviewed-on: https://skia-review.googlesource.com/125160
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Herb Derby <herb@google.com>
This reverts commit 101d56359a.
Reason for revert: 5 of 5
Original change's description:
> fonts: Set up remote glyph caching to push fonts.
>
> Currently the SkStrikeClient is designed to pull fonts from the server
> on demand, and to pre-fetch a batched request by analyzing the ops using
> a SkTextBlobCacheDiffCanvas. This change modifies the design to support
> a push based model, where the server pushes fonts required by the client
> and sets up the requisite SkGlyphCaches on the client prior to
> rasterizing the ops.
>
> This model still relies on the SkTextBlobCacheDiffCanvas for analyzing
> the glyphs required for rasterizing an op. The glyph caches required for
> raster are locked and missing glyphs to be sent to the client are tracked
> by the SkStrikeServer. The embedder can serialize this font data at any
> point, but must ensure that this data is deserialized by the
> SkStrikeClient at the remote end, before rasterizing any ops analyzed
> prior to serialization. Any refs on the caches are released once the
> font data is serialized by the server.
>
> The locking of glyph caches relies on the embedder providing discardable
> handles. These handles can be created on the server and serialized to be
> sent to the client, and map to an instance of SkGlyphCache. This allows
> the server to control the lifetime of the caches on the client.
>
> Bug: skia:7515
> Change-Id: Id39f346b47b60899778404bbd0429ee811d0e53b
> Reviewed-on: https://skia-review.googlesource.com/120283
> Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
> Reviewed-by: Herb Derby <herb@google.com>
TBR=mtklein@google.com,herb@google.com,khushalsagar@chromium.org
Change-Id: If72caf968ddcbf70b8b9d71782a2339a118ed202
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7515
Reviewed-on: https://skia-review.googlesource.com/125264
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit c86c5c0144.
Reason for revert: 4 of 5
Original change's description:
> Remove devKerning
>
> Dev kerning is not supported by any scalers. This is
> mostly removed. The remaining fields fRsbDelta and
> fLsbDelta are kept to keep Android compiling.
>
> Change-Id: If1a9ee9bb599d4e1bdf4b3751ac0c65246350809
> Reviewed-on: https://skia-review.googlesource.com/124921
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>
TBR=bungeman@google.com,herb@google.com,reed@google.com
Change-Id: If865f702868192a1b72cd811baa996dd1282bbce
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/125263
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit 7e7369f713.
Reason for revert: 3 of 5
Original change's description:
> fonts: Dont memcpy with nullptr in SkRemoteGlyphCache
>
> The behaviour is undefined and causes ASAN bots to complain.
>
> Bug: skia:7515
> Change-Id: I454714ab9047a6fced5ab7bfdbc12214d728eadf
> Reviewed-on: https://skia-review.googlesource.com/125029
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
TBR=herb@google.com,brianosman@google.com,khushalsagar@chromium.org
Change-Id: I6548019d7bf34b38f964234034e58af09d0b8508
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7515
Reviewed-on: https://skia-review.googlesource.com/125262
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit ef4142a9bc.
Reason for revert: 2 of 5
Original change's description:
> fonts: Bandaid fix for desc mismatch in SkRemoteGlyphCache.
>
> Since the typeface proxies on the client don't perform the same
> filtering done on the server during SkDescriptor generation, it causes
> the desc mismatches during raster. Disable this filtering on the server
> until this is resolved.
>
> Bug: 831354
> Change-Id: I5683372fb497a4874dede5aec9c734cd1392872c
> Reviewed-on: https://skia-review.googlesource.com/125140
> Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
> Reviewed-by: Herb Derby <herb@google.com>
TBR=herb@google.com,khushalsagar@chromium.org
Change-Id: I8e732f57aa49323c186e3c4ea6120ff1caf8e25b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 831354
Reviewed-on: https://skia-review.googlesource.com/125261
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit 2050565fe1.
Reason for revert: 1 of 5
Original change's description:
> Add padding back to make msan happy
>
> SkGlyph are stored directly in the hash table with uninitialized
> pad bytes. When the hash table is resized, the uninitialized pad
> bytes are moved causing msan to complain.
>
> Change-Id: I559ff1bd369d12be061cce7d3c826c2afdd3a03c
> Reviewed-on: https://skia-review.googlesource.com/125240
> Commit-Queue: Herb Derby <herb@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>
> Auto-Submit: Herb Derby <herb@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>
TBR=mtklein@google.com,herb@google.com
Change-Id: Iaa61ad17c837544bd7394ddc6fc52c14d8389d7e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/125260
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
SkGlyph are stored directly in the hash table with uninitialized
pad bytes. When the hash table is resized, the uninitialized pad
bytes are moved causing msan to complain.
Change-Id: I559ff1bd369d12be061cce7d3c826c2afdd3a03c
Reviewed-on: https://skia-review.googlesource.com/125240
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
This fixes on of the DDL render problems in the imageblurclampmode GM.
Bug: skia:7765
Change-Id: I2d6779183cd47b63b47f9f071c2266643d222feb
Reviewed-on: https://skia-review.googlesource.com/125000
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Since the typeface proxies on the client don't perform the same
filtering done on the server during SkDescriptor generation, it causes
the desc mismatches during raster. Disable this filtering on the server
until this is resolved.
Bug: 831354
Change-Id: I5683372fb497a4874dede5aec9c734cd1392872c
Reviewed-on: https://skia-review.googlesource.com/125140
Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Dev kerning is not supported by any scalers. This is
mostly removed. The remaining fields fRsbDelta and
fLsbDelta are kept to keep Android compiling.
Change-Id: If1a9ee9bb599d4e1bdf4b3751ac0c65246350809
Reviewed-on: https://skia-review.googlesource.com/124921
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
When creating an SDF glyph the mask format of the underlying glyph must
be A1 or A8. Currently the code just checks for ~ARGB, but LCD16, 3D,
and any other possible mask formats are also unsupported.
Change-Id: I092a18828742dddfc93687eabd9858186605fc96
Reviewed-on: https://skia-review.googlesource.com/125083
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
The behaviour is undefined and causes ASAN bots to complain.
Bug: skia:7515
Change-Id: I454714ab9047a6fced5ab7bfdbc12214d728eadf
Reviewed-on: https://skia-review.googlesource.com/125029
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
Not only could the old test cause int overflow, it was just wrong.
Bug: skia:8085
Change-Id: Id6b81f4aa1b115f0dbfd2266aee8fab5d5d30aee
Reviewed-on: https://skia-review.googlesource.com/124779
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This reverts commit ddff425b0a.
Reason for revert: bad gms
Original change's description:
> Use a cached index buffer for triangle fans in GrDefaultPathRenderer.
>
> Change-Id: I3c3c8db6506c71e4b273c8bc7adcc68d3d768626
> Reviewed-on: https://skia-review.googlesource.com/124841
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,brianosman@google.com
Change-Id: I701b55f188c949c2ee39b39f9bbf5b233f80f174
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/125040
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Currently the SkStrikeClient is designed to pull fonts from the server
on demand, and to pre-fetch a batched request by analyzing the ops using
a SkTextBlobCacheDiffCanvas. This change modifies the design to support
a push based model, where the server pushes fonts required by the client
and sets up the requisite SkGlyphCaches on the client prior to
rasterizing the ops.
This model still relies on the SkTextBlobCacheDiffCanvas for analyzing
the glyphs required for rasterizing an op. The glyph caches required for
raster are locked and missing glyphs to be sent to the client are tracked
by the SkStrikeServer. The embedder can serialize this font data at any
point, but must ensure that this data is deserialized by the
SkStrikeClient at the remote end, before rasterizing any ops analyzed
prior to serialization. Any refs on the caches are released once the
font data is serialized by the server.
The locking of glyph caches relies on the embedder providing discardable
handles. These handles can be created on the server and serialized to be
sent to the client, and map to an instance of SkGlyphCache. This allows
the server to control the lifetime of the caches on the client.
Bug: skia:7515
Change-Id: Id39f346b47b60899778404bbd0429ee811d0e53b
Reviewed-on: https://skia-review.googlesource.com/120283
Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
This simplifies shared library builds on Windows (no need to
conditionally change declspec to dllimport).
Once this lands, we can make the same change (plus update
internal references):
https://skia-review.googlesource.com/c/skcms/+/124982
Change-Id: I0d4fa9031258f77d370e6e6e018afaf543c29d85
Reviewed-on: https://skia-review.googlesource.com/124983
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Change-Id: I3c3c8db6506c71e4b273c8bc7adcc68d3d768626
Reviewed-on: https://skia-review.googlesource.com/124841
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Bug: oss-fuzz:8085
Change-Id: I2e19250822a6ffc3d68a474c8eb4cca0ea66c991
Reviewed-on: https://skia-review.googlesource.com/124700
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
This CL doesn't change any GMs for me locally but (because of the backingFit and clipRect changes) it has the possibility of doing so.
Change-Id: Iaa1ad9baf420624d118bf1b12d8bac726218274d
Reviewed-on: https://skia-review.googlesource.com/124283
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>