We were previously building FreeType2 with the psnames module,
which included large tables of glyphnames [1]. These were only
used in code related to PDF (and only when outputting Type 1
fonts, which is very rare).
Even though the PDF backend isn't in CanvasKit, the compiler
couldn't throw away these massive tables (about 80k in all)
of strings. Since these tables were only used for T1 fonts,
it made sense to tell FreeType not to include the rest of the
T1 related code, which saved about 55k more.
If, one day, we add in support for the PDF backend to CanvasKit,
SK_PDF_DO_NOT_SUPPORT_TYPE_1_FONTS is likely something we'll
want to define.
The roll-freetype.sh is inspired by a script of the same name
in the Chromium repo and aids in the updating of freetype
and our forked config files.
[1] 0a3d2bb99b/src/psnames/pstables.h (629)
Bug: skia:9733
Change-Id: I359bab4184587cbe91400661fb012eac1a601a83
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262232
Reviewed-by: Ben Wagner <bungeman@google.com>
This saves about 32kb uncompressed, 21kb gzipped from CanvasKit.
This would also save about 11kb from a Flutter build.
Bug: skia:9733
Change-Id: I0a21b7279a73c692ea39aa28ac00d70d24b70373
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262218
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Change-Id: I0d6dd3625a8571c09af7557b1727812bba2a9ee4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262355
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Cap size of draws by vertex buffer size.
Remove size limit in combining since we now enforce a limit
when preparing draws. (This limit wasn't effective in bug
repro scenario as the large number of glyphs are in a single
run).
Fix another bug discovered along the way: We increase the
number of proxies in a FixedDynamicState after having recorded
draws. However, the draws take refs on the proxies in FDS and
unref them when destroyed. By adding the proxies late we cause
the ref count to underflow. (This needs a more systematic fix
outside the scope of this change).
Bug: chromium:1018511
Change-Id: I79fe446d97c573196653a18792462bd46b9ac4c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262001
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Most interesting thing is that we can use SkColorFilterShader with a
no-op color filter to apply alpha after the shader. We added that
feature to allow us to fold color filters into the shader, but it works
equally well to fold in alpha too.
The rest is basically deleting TODOs as unimportant.
Change-Id: Ib572d2f37b74ef1093c1e99ddee3642d4cfa5a76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262344
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Not sure why I had it wrapping a shader,
which was constant yellow so always completely overwritten.
Change-Id: Id8db93b767a2897c9032523cfb3a1146db63a644
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262346
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
https://crrev.com/d459837f12b4d8d7e032c9b474d9a23f6935ff35 [swarming] Add bot_id property to TaskResult (athom@google.com)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ide04b4f7becb6ec01f366e8760f533e451b591cd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262338
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
longest line and so on.
Change-Id: I497022269ad38e3cf6a1920f67b1d9217aa6d805
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/260778
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Moves RTShader to be built behind a flag (and not shipped
to npm [yet])
Bug: skia:9733
Change-Id: Ibdf965bbf3c0191ab7d9689168b1a099488c2ca3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262142
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
This fixes up some other build flag options:
- font-specific js code is correctly omitted when no_font is set
- SKP serialization is only compiled in debug (or with flag).
Bug: skia:9733
Change-Id: Ifdbd2ddac278cfcefa842f6d4826d5429b6ed64b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262137
Reviewed-by: Kevin Lubick <kjlubick@google.com>
1fdf6ca514..1031d2c65b
git log 1fdf6ca5141d..1031d2c65b5e --date=short --first-parent --format='%ad %ae %s'
2020-01-04 kbr@chromium.org Upstream Mac logging changes from WebKit.
2020-01-03 shrekshao@google.com Workaround EXT_texture_norm16 for OpenGL ES drivers
2020-01-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src e4a2b7f22782..2be3fe0f8471 (7 commits)
2020-01-03 syoussefi@chromium.org Vulkan: Support vertex-only line emulation draw with xfb
2020-01-03 syoussefi@chromium.org Vulkan: Correct error message for VK_ERROR_INVALID_SHADER_NV
Created with:
gclient setdep -r third_party/externals/angle2@1031d2c65b5e
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC jvanverth@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: jvanverth@google.com
Change-Id: I5f6119491d073ad0349e4645715bdf5d4cfcbd69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262261
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Change-Id: Ic4d35e054b0fb35d9238a214933cf8004855002c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262204
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This clarifies the code instead of keeping fCurrGlyph and
glyphIdx in sync.
Change-Id: I2746eac3c681d14a1cb0eb73b91de920b5e6fbbc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262151
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
These were a backstop to catch regressions in an area of code that we're
no longer actively developing (how we choose rasterization algorithms.)
Change-Id: If0b4bf71593fc9f895a69d6aa36c86ea4f8ac141
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261844
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Remove any Debug bot that's not on the CQ and has a corresponding ASAN
bot (fudging it a little on one Mac bot that had a Metal-only ASAN bot.)
Change-Id: Ie82dce2c37ee1dfebb8686bb1774baaed80d8fd4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261842
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Remove some unused functions/macros.
Move two functions only used by GrBufferAllocPool there.
We only ever used GrSizeAlignUp with pow 2 alignments. Require that,
rename, move to GrTypesPriv.h (along with GrSizeDivRoundUp).
Change-Id: I1a7248952d1905f16f02de2028d65768b186acee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262061
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Client code has been updated to use SkRuntimeEffect directly.
Change-Id: If471fa413ea60087d6445fce20b8363a07a64049
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262063
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
There's little need to run a Release ASAN bot when we've an equivalent
Debug ASAN bot. This removes almost all Release ASAN bots and adds one
Debug ASAN bot.
The only Release ASAN bots I've kept are a bot on the CQ,
Perf-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-ASAN, and the
corresponding Build bot. We could leave that forever, replace it with
a Debug bot, or just take it off the CQ.
Change-Id: Ic0864fe2efdc39a95e204c7dfaaace238f2098ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262087
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
This logic that any GCE CPU *SAN bot is implicitly
a BonusConfigs bot is confusing... make it explicit.
This also means we can make BonusConfigs CPU bots
run disjoint work like the BonusConfigs GPU bots do.
No need to run the default configs redundantly.
Change-Id: I1219091f065a3d1135973bffea7c8774a8ca1ad6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262085
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
As they are a significant chunk of code, this reduces the size of the
release executable.
Change-Id: Ib764b3ec6244629e50941b0101a540e49d56c320
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261955
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
While staring at this code snippet for too long,
I realized it's possible to set a crazy color on
a paint and trick the code at head into thinking
that it's normalized, using the fast sRGB curves
erroneously. Might as well fix it.
Change-Id: If16c1476dbfc913adc8ba079bdb48cab374b681d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262029
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
cbbfa2f28a..1fdf6ca514
git log cbbfa2f28a0e..1fdf6ca5141d --date=short --first-parent --format='%ad %ae %s'
2020-01-02 xinghua.cao@intel.com D3D11: Restrict to translate uniform block to StructuredBuffer
Created with:
gclient setdep -r third_party/externals/angle2@1fdf6ca5141d
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC nifong@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: nifong@google.com
Change-Id: If1806bb2ef4155b1e9692d0fecf7b9a08cd2b076
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262027
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
I _think_ I've sorted out everything that went wrong the first time:
- Since we're not always kPremul by the time we clamp, we now
need to clamp to [0,1] when either fClampAsIfUnpremul is set
or... we're actually unpremul! That's the first diff we couldn't
figure out.
- This was not the only use of apply(pipeline, SkColorType),
and removing it made things fall back on apply(pipeline, bool),
which was making us think everything was normalized. I think
that'll get the layout tests.
So I think this is now everything we'd want, uncompromised.
Change-Id: I46f3cd1cc79358e55f5c46a425bacb1de6932c7b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262022
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This makes the Housekeeper-PerCommit-InfraTests_Win task less broken.
Change-Id: Icd82b172dede83b69ed415fb03c3c47b54b5df5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261997
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Followup to https://skia-review.googlesource.com/c/skia/+/261933; Pixel
bots don't have enough capacity.
Change-Id: I3b3413c32170a31ba25a53cbbdc15b65b9c66f33
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261996
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
fBrokenRun indicates if the atlas became full at any
glyph other than the first glyph of the SubRun.
* Remove getter and setters for fAtlasGeneration.
Change-Id: I603f15e7a2b3b632e184a985f0143d6a711f25e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262000
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
We've realized we'd like to have a few more Debug Perf bots, and it
seems like maybe a good way to satisfy that is to backfill anywhere
we've got a Release Perf ASAN bot but not a Debug one.
In net, this adds:
1) some Android ASAN Debug Build bots, both 32- and 64-bit ARM
2) some Android ASAN Debug _Test_ bots using those new builds
3) one CPU and one GPU Debug ASAN Perf bot
This CL originally was intended just to fulfill 3); I didn't anticipate
finding those testing gaps filled by 1) and 2), and if we find those new
bots to be a bother we can revert them. They seemed like glaring enough
holes to try to fix now.
Change-Id: I5714522db52bb5bde458b724091a227229e55fea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261933
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Otherwise it falls back on a 64K table.
Change-Id: I871fdfd9ef22ba7f3df758272b7dc557f217d5e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261942
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Change-Id: I0b11d4210c6e663cfb4854fc33e1396fd79fe9a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261780
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
The interpreter doesn't (yet) support all GPU intrinsics, so adjust the
code to avoid 'max' and 'saturate'.
The interpreter is more picky about uniform blocks being the correct
size, so don't pass the color matrix data to the "None" effect, which
has no uniforms.
Change-Id: I4609f913eaa762ca171b2875eb25d23141a0646c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261931
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>