Change-Id: I7574c8d99f0e68d753e5714731aec57e0b20f327
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237799
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Change-Id: Idf163572eedac0b434fbe49ddb8bd8e5b4ca0adb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237519
Commit-Queue: Stephen White <senorblanco@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Remove use of Dawn's third_party vulkan headers and the BUILD.gn file
it rode in on.
Change-Id: Ibfb6f063cae291445e19a15d42e96279be072376
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237448
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Extract the appropriate parts of Dawn's third_party BUILD.gn for it, and
put them in their own BUILD.gn.
Change-Id: Iedfc11321ca5366499dfc8a1759d8aa08eb78931
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237442
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Use Skia's copies in //third_party/externals/ instead.
Change-Id: I9cddb1d1268033fcc6f345b147495820bc1d308b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237439
Commit-Queue: Stephen White <senorblanco@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Change-Id: Ia47127d5f539f6eb479c095f7bf9079db1ff5bad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237120
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Herb Derby <herb@google.com>
We've failed to get these bots to report where issues happen
any more finely than the name of the executable, which makes
them a real pain to fix when they go red.
We don't expect we'll be able to run cleanly in this mode for
long without bots enforcing it, so remove support from GN too.
Change-Id: Ie86f0cbf2f5f859ac2ddb869da7e5b8d31b33fa0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237195
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This is a reland of d617d5d29c
Original change's description:
> Update DEPS: roll spirv-tools and spirv-headers.
>
> spirv-tools and spirv-headers were about two years out-of-date, and
> Dawn requires more recent versions.
>
> This required an updated BUILD.gn file for spirv-tools. I used a
> modified version of the one I had written for Dawn. (The latter will
> be removed in favour of this one when we switch the Dawn backend
> from using Dawn's DEPS for spirv-tools and spirv-headers to using
> Skia's).
>
> Change-Id: If61eb05ada9f4287b1a16daf10f9b1fac041a7b0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234907
> Commit-Queue: Stephen White <senorblanco@chromium.org>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Change-Id: Ic4fe17fe286b04905977b9acb280ee9970b305bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237194
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit d617d5d29c.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Update DEPS: roll spirv-tools and spirv-headers.
>
> spirv-tools and spirv-headers were about two years out-of-date, and
> Dawn requires more recent versions.
>
> This required an updated BUILD.gn file for spirv-tools. I used a
> modified version of the one I had written for Dawn. (The latter will
> be removed in favour of this one when we switch the Dawn backend
> from using Dawn's DEPS for spirv-tools and spirv-headers to using
> Skia's).
>
> Change-Id: If61eb05ada9f4287b1a16daf10f9b1fac041a7b0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234907
> Commit-Queue: Stephen White <senorblanco@chromium.org>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
TBR=senorblanco@chromium.org,ethannicholas@google.com
Change-Id: I464dc2c21381e714dabc25e63939dd6d7fa3fcff
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237150
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
spirv-tools and spirv-headers were about two years out-of-date, and
Dawn requires more recent versions.
This required an updated BUILD.gn file for spirv-tools. I used a
modified version of the one I had written for Dawn. (The latter will
be removed in favour of this one when we switch the Dawn backend
from using Dawn's DEPS for spirv-tools and spirv-headers to using
Skia's).
Change-Id: If61eb05ada9f4287b1a16daf10f9b1fac041a7b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234907
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Also whitelist third_party/skcms from #include rewrites.
https://skia.googlesource.com/skcms.git/+log/d931999c3afd..6655095842ec
git log d931999c3afd..6655095842ec --date=short --no-merges --format='%ad %ae %s'
2019-08-20 mtklein@google.com Add missing b-tweak to skcms_TF_Invert()
Created with:
gclient setdep -r skia/third_party/skcms@6655095842ec
The AutoRoll server is located here: https://autoroll.skia.org/r/skcms-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=luci.chromium.try:linux-blink-rel
Bug: chromium:976551
Change-Id: I6566968525070f0af808d04211b16e71f9850cea
TBR=egdaniel@google.com,mtklein@google.com
TBR=egdaniel@google.com,mtklein@google.com
Change-Id: I2c9b6a270693e9e93303b9cfef1262488bba1aae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235936
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>
Add FrameCapture.cpp to third_party/angle2/BUILD.gn
to mirror "Capture/Replay: Fix capture-enabled libs build."
1ebe601438..1dbbc7b3e2
git log 1ebe6014389e..1dbbc7b3e232 --date=short --no-merges --format='%ad %ae %s'
2019-07-31 ynovikov@chromium.org Skip couple TextureBorderClampIntegerTestES3 tests.
2019-07-31 jmadill@chromium.org Capture/Replay: Fix capture-enabled libs build.
2019-07-31 lujc@google.com Vulkan: Optimize memory allocation offset rounding
2019-07-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src f04f1f93a70f..eea340047eca (1 commits)
2019-07-31 xinghua.cao@intel.com Correct barriers of glMemoryBarrier in test cases
Created with:
gclient setdep -r third_party/externals/angle2@1dbbc7b3e232
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:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=benjaminwagner@google.com
Change-Id: I3fb7d3a2df08c89d2b63babe002756d05567b14c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/231396
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
In addition to checking .fp files, this ought to make this bot now also
check that our .gn files are formatted and our #includes are consistent
with rewrite_includes.py.
Some .gn files needed formatting; you can see the failure caught on PS 4.
Cq-Include-Trybots: skia.primary:Housekeeper-PerCommit-CheckGeneratedFiles
Change-Id: Ia6669581406212c986da81f2521e4e9d8d3eadb4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/229802
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Switch to Dawn's version of dawn_generator.gni. This depends on having
a file called build_overrides/dawn.gni. However, this will also enable
us to use the upstream Dawn BUILD.gn files more easily in the future.
This required adding it to compile.isolate, so the bots can pick it up.
Keeping up with Dawn:
Rename TextureFormat enums.
Rename dawn::BufferUsageBit::TransferDst -> CopyDst.
Removal of GLAD dependency.
SPIRV-Tools update.
Change-Id: Idcd5d1035ed106485dd2503b829e3c3b57a5688b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/228568
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Add Dawn repo to DEPS.
Add skia_use_dawn flag to BUILD.gn (default false).
Add Metal.framework for Mac when building for Dawn/Metal.
Add d3d12, dxgi, d3dcompiler libs when building for Dawn/D3D12.
Disable SPIRV validation when building for Dawn.
Add BUILD.gn for dawn and dawn/third_party libraries.
(Note that I had to split the declare_args() section of BUILD.gn
into two, so that I could refer to skia_use_dawn in skia_enable_spirv_validation.
If there's a better way to do this, I'm open to suggestions.)
Change-Id: I9bdaf990694f6b8bcce6b77c1a8b1620a7396e34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225137
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
For now, disable the vpmovusdb AVX-512 instruction, using the compound
AVX2 fallback instead. I need to learn how to encode EVEX prefixes
before we can use that, and it's not very important.
That's everything! We're fully in control now, and should be able to
run this on any x86-64 Linux or Mac. And we can relax some of the
defined(SKVM_JIT) guards so that, e.g., we can unit test Assembler even
on all platforms.
Stifle some warnings about ~bool by ~(int)bool.
Would like to enable when is_mac too but can't seem to get past
(bogus?) thread annotation on the bots. My local Mac is fine. :/
Change-Id: If00bdd97ebd9684ed109933e2fa70c5e6f6ea339
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222631
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
This will ensure that the headers from the dependencies will have
precedent over system headers, thus preventing situations where system
headers will block dependency headers and prevent compilation.
Change-Id: I0d480a6d3898f2da99cf2706c5335aaac05b4e4d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220276
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Long term we'll need to spin up our own codegen rather than using xbyak,
since it uses exceptions and does not support ARM.
I really don't like how I've hacked in the caching of the JITted
program, but that'll change anyway when switching away from xbyak.
Performance looks good, better than (lowp) SkRasterPipeline
but not quite as good as hand-tuned code:
Opts: 0.2 ns/px
RP: 0.7
F32: 0.8
I32: 0.6
I32_SWAR: 0.5
ninja -C out dm nanobench && out/dm -m SkVM && gobjdump -D -b binary -mi386:x86-64 /tmp/code.bin --insn-width=10
Change-Id: I34ce46e1d3fe5aa75f42709049a92ac79bf48bbd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219341
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Change-Id: Ide69d3c9f0f02e886bd0d52723d425a548edd2e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214187
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
We previously moved them to only being added via -isystem
(and -imsvc). This prevents warnings in those headers from
breaking our builds, which is good.
However, when generating Visual Studio project files, GN
doesn't know about those switches, so it omits these paths.
Propagating to include_dirs causes them to be added, and
fixes include path and symbol resolution in the IDE.
Change-Id: Id261bec8f91d2eaca60dbc6c3e8628e9608826ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212762
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Fixes a slew of warnings when doing distributed builds.
Change-Id: Ie96144eef1e593479201d8bab8c93cbc6e64e87c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212407
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>
Noticed that there was an include for <array> in there that didn't make
a lot of sense, so cleaned up the others which are hanging around from
older code which was in there.
Change-Id: I77acbb0914989e9bf67ab74dfd842a798ea592f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206172
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Change-Id: I094fd08c25593a7957c3e91b330ec914a7cf86da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/211585
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Add a shim to redirect until clients are updated
Change-Id: Ib43614e5620b1a24ca18187c1646a8ed1a9ee7a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/211003
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This rolls in the patch to fix NEON + clang-cl.
Cq-Include-Trybots: skia.primary:Build-Win-Clang-arm64-Release
Change-Id: Id34730763ff56b89bb49033001ffb42b09d55a61
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/210360
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
The need for -Ithird_party/gif has already been
rewritten away, and we can do the same for etc1.
Change-Id: I97408652682b5ec406647108056e7a1ea6a56c29
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/210131
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Current strategy: everything from the top
Things to look at first are the manual changes:
- added tools/rewrite_includes.py
- removed -Idirectives from BUILD.gn
- various compile.sh simplifications
- tweak tools/embed_resources.py
- update gn/find_headers.py to write paths from the top
- update gn/gn_to_bp.py SkUserConfig.h layout
so that #include "include/config/SkUserConfig.h" always
gets the header we want.
No-Presubmit: true
Change-Id: I73a4b181654e0e38d229bc456c0d0854bae3363e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209706
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Looks like things are building fine for me without.
Change-Id: I47b01eeca8fe76220b43bf32c5ebb060be3a170e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209876
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Nothing too tricky...
1) tell clang-cl to --target=arm64-windows
2) work around minor libpng issue temporarily
Change-Id: I4f0d792438610268821b67b92caf08fd78dcec4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208882
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
When in GL backend, adds a "Shaders" section to the debug menu.
"Load" scrapes all of the vertex and fragment shaders being used,
then displays them. They can be edited, and "Save" pushes the
results.
Note: It is trivial to trigger an assert by saving a shader that
doesn't compile. I'd like to make the program builder more robust
in a follow-up CL, to fall back to the "real" SkSL, not draw, or
something along those lines.
Change-Id: I841fe2ee76a3c2eae58b64ef587fcbe25b95cc7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206905
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
To write out an LZW dictionary entry each byte
requires two table lookups, one of which must complete
before the next lookup can begin. This change makes it
possible to write up to eight bytes per pair of lookups.
Testing with image_decode_bench show performance
improvement by 20-25% on Elm and Kevin Chromebooks except
for small images with a gradient, which show a slowdown.
However, the patch will introduce some memory hungry code
which lasts only while decoding a frame. The change in
memory requirement is from 4096 bytes to 4096*8 bytes.
BUG=skia:8361
BUG=chromium:859454"
Signed-off-by: tushar khandelwal <tushar.khandelwal@arm.com>
Change-Id: Icf9e0adf215062ef796b5ff9e6347cace5f0af47
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/152580
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Currently hidden behind gn flag: skia_pdf_subset_harfbuzz
Replaces Sfntly subsetter.
TODO:
1) Test on all clients.
2) Enable on each client.
3) Set skia_pdf_subset_harfbuzz default to true,
4) Delete sfntly dependency.
Bug: chromium:931719
Change-Id: I5c763ce3e6b21d6bc65284d4105b9974e0907cdc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/171223
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
This should allow shaper to run on the no-deps bot.
Change-Id: I2515875d4e9b428681c20877630b904c3229ecc5
Reviewed-on: https://skia-review.googlesource.com/c/194420
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Change-Id: Id03174b5f93a16d91fc21cd0abfaeaa80b1f6163
Reviewed-on: https://skia-review.googlesource.com/c/194187
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Depends on https://skia-review.googlesource.com/c/skia/+/186870
It's optional at build time, which is good given that
it adds about 2MB of uncompressed size (from 4.3 MB to 6.4 MB)
Bug: skia:
Change-Id: I5f54ad628b735c3bc880e917394fb27d16849ebe
Reviewed-on: https://skia-review.googlesource.com/c/187924
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
- break dependency on code from src/compute
- port away from C APIs to friendlier C++ wrapper APIs
- add DEPS for OpenCL C++ wrapper headers so we can build on Mac
- factor out a //third_party/opencl GN target
Change-Id: I9e37c6677cfb779021e66f2bd10f97570c450746
Reviewed-on: https://skia-review.googlesource.com/c/191281
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This should disable warnings from third-party headers
on Clang/Win builds. So far we've just gotten lucky.
Change-Id: Ieaf459e200925d46d8c65ba8d489db111705b125
Reviewed-on: https://skia-review.googlesource.com/c/191283
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>
a54104803d..52d861bd49
git log a54104803d72..52d861bd49cc --date=short --no-merges --format='%ad %ae %s'
2019-02-02 syoussefi@chromium.org Disable -Wextra-semi-stmt
2019-02-02 ianelliott@google.com Implement EGL_ANDROID_recordable for Vulkan back-end.
2019-02-01 jonahr@google.com Fix unnecessary copy of for loop variables in ANGLE
2019-02-01 syoussefi@chromium.org Use env variable to select default backend
2019-02-01 jmadill@chromium.org Enable -Wextra-semi and -Wextra-semi-stmt.
2019-02-01 syoussefi@chromium.org Initial support for compiler AST validation
2019-02-01 jmadill@chromium.org Roll glslang.
2019-02-01 ckulakowski@opera.com Fix for linking of non-component angle_unittests
Created with:
gclient setdep -r third_party/externals/angle2@52d861bd49cc
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=borenet@google.com
Change-Id: I008df064f6301658404c371cf47a5656d8c11621
Reviewed-on: https://skia-review.googlesource.com/c/188852
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Bug: skia:
Change-Id: Ia2913ceb3ecaa88fb43b2143f8ba89b86d0f7173
Reviewed-on: https://skia-review.googlesource.com/c/190225
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
8be74d8553..1e06282105
This changes the upstream to github (where actual work is now done) and
picks up AAT work so we can drop the (buggy) CoreText backend on Mac.
Change-Id: Ib3fbbb8e07910d570e70489b4e78a9cb6fac3630
Reviewed-on: https://skia-review.googlesource.com/c/189876
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Change DEPS to point at upstream, not chromium's fork.
`skia_use_icu` defaults to true everywhere but iOS
Clean up SkLoadICU: use U_ICUDATA_ENTRY_POINT, no DLL.
Add data dep to icu/icu.gni
Scripts: icu/{make_data_assembly.py,make_data_obj_win.py}
Scripts: icu/{update_icu.sh,build_icu_data_file.py} for rebuilding
document process in icu/README.md
Bug: skia:8702
Change-Id: I99789749ba84ae737f6c62475d0d676cd36715bb
Reviewed-on: https://skia-review.googlesource.com/c/186870
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
For targets that depend on ICU, only define if `skia_use_icu` is set.
Move declare_args/skia_use_icu into skia.gni. Other variables that need
to work like that can move there later.
icu/BUILD.gn defines SK_USING_THIRD_PARTY_ICU if needed.
SkShaper_harfbuzz.cpp SkPDFSubsetFont.cpp respects
SK_USING_THIRD_PARTY_ICU when calling SkLoadICU().
sfntly/BUILD.gn, harfbuzz/BUILD.gn, icu/icu.gni uses $_src variable to
reduce verbosity. icu/icu.gni adds more headersto sources.
Change-Id: I9e000b9b19902d9f5c0c64e989bf42466aa8a299
Reviewed-on: https://skia-review.googlesource.com/c/189304
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
This enables four different options in the compiler, described
below. I also added enough masks to satisfy RTCc when running
all GMs in both 8888 and gl configs.
---
/RTCc - Detects when a value is assigned to a smaller data
type and results in data loss. This happens even when casting.
Masking is required to suppress this.
/RTCs - Various stack-related checks, including uninitialized
data (by initializing locals to a non-zero value), array bounds
checking, and stack pointer corruption that can occur with a
calling convention mismatch.
/RTCu - Reports when a variable is used without having been
initialized. Mostly redundant with compile-time checks.
/guard:cf - This is more of a security option, that computes
all possible targets for indirect calls at compile time, and
verifies that those are the only targets reached at compile
time. Also generates similar logic around switch statements
that turn into jump tables.
Bug: skia:
Change-Id: I7b527af8fd67dec0b6556f38bcd0efc3fd505856
Reviewed-on: https://skia-review.googlesource.com/c/188625
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
This reverts commit 32a71f126f.
Since more static_libraries are created, we use
target_link_libraries more, which passes the transitive
dependencies.
Bug: skia:8732
Change-Id: I1d05f89b078f5116545306a930b65ca4b5b29e8e
Reviewed-on: https://skia-review.googlesource.com/c/188623
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
This reverts commit e738bf1139.
Reason for revert: Breaks CLION's cmake builds
This affects the Clion users Herb and Brian.
I talked with Kevin, and he thought we should revert this change.
Original change's description:
> make third_party() static libraries
>
> It's sometimes nice to have a libfoo.a to work with.
>
> I've had to borrow a trick from Chromium's component template [1] to
> avoid trying to make static libraries for header or config only targets.
>
> [1] https://cs.chromium.org/chromium/src/build/config/BUILDCONFIG.gn?rcl=ebf3d7e5827761e1f540cc788bbe301e0f6cc674&l=596
>
> Change-Id: I9ec46089c7a4d0a5194ef8ac262dadac10508786
> Reviewed-on: https://skia-review.googlesource.com/c/188024
> Commit-Queue: Mike Klein <mtklein@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Auto-Submit: Mike Klein <mtklein@google.com>
TBR=mtklein@google.com,kjlubick@google.com
Change-Id: I3fd49b78c0d4e28d805bdc70d8405b1e991cb413
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/188140
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Various bugfixes and new features have been added.
Plan to use some of them.
Bug: skia:
Change-Id: Ia18a8df30c5f5791a878d29d755467f4226b98c0
Reviewed-on: https://skia-review.googlesource.com/c/185880
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Brings back GL ETC1 support and adds Vulkan support as well.
Bug: skia:8684
Change-Id: Ie65da0a3172793081f0e4072f161bfb9b14678bc
Reviewed-on: https://skia-review.googlesource.com/c/179724
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Wuffs ships as a "single file C library". Previously, that single file
was a .h file. Now it is a .c file.
The contents of the file are practically the same. The different file
name extension means that the build system (GN/ninja) will treat that
file as a .c file, or "something that generates code", and not merely a
.h file, or "something #include'd by things that generate code".
This should hopefully fix mysterious linker errors when updating the
third_party/wuffs checkout results in the builder doing no work, since
no .c files changed.
Bug: skia:8235
Change-Id: I451e251d8cd23f3f0db359bbe03caa429c00fcea
Reviewed-on: https://skia-review.googlesource.com/c/180420
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
With this change clients will still have to have vulkan/vulkan_core.h
on their include path when compiling files that include Skia. However,
it will not be required when compiling Skia files.
Bug: skia:
Change-Id: I1cd75f4f18d3097c8a1606c3e8a51a371b01b565
Reviewed-on: https://skia-review.googlesource.com/c/179560
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
We were ~2.5 years behind. Most importantly, there's a compile fix for
Windows-on-ARM64 that's needed to continue development of that target.
Bug: skia:8569
Change-Id: I9dd2c85111113061dcff697ba5beedb838f3ff9b
Reviewed-on: https://skia-review.googlesource.com/c/175580
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Bug: skia:8569
Change-Id: Ie869cad26cbb07d92553a756372b218debc5d373
Reviewed-on: https://skia-review.googlesource.com/c/175589
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
* C++ code moved into tools/skqp/src/.
* State held with single SkQP class.
* gmkb functions moved to skqp_model.{h,cpp}
* model no longer knows about report format.
* skqp_main and skqp_lib no longer have globals
* jni code has fewer globals.
* skqp_main no longer uses googletest.
* AssetMng returns SkData, not a SkStream.
* Add jitter tool.
* dump GPU information into grdump.txt
* JUnit puts report in directory with timestamp.
* Document SkQP Render Test Algorithm.
* GPU driver correctness workarounds always off
* cut_release tool for assembling models
* make_rendertests_list.py to help cut_release
* make_gmkb.go emits a list of models
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86-devrel-Android_SKQP
Change-Id: I7d4f0c24592b1f64be0088578a3f1a0bc366dd4d
Reviewed-on: https://skia-review.googlesource.com/c/110420
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
This should allow clients to include Skia and their vulkan files in any
order. However, it does require that when clients are building their
files that include skia with vulkan, they must have vulkan/vulkan_core.h
on their include path somewhere.
Bug: skia:
Change-Id: I969db396c92127be7c8df754926d175f38b8aafa
Reviewed-on: https://skia-review.googlesource.com/c/172147
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Still to come, actually exposing drawVertices, and the
other APIs needed.
Had to re-make all the jsfiddles because of an API change
in a previous CL.
Docs-Preview: https://skia.org/?cl=166444
Bug: skia:
Change-Id: I4d4825f6e7b073d6792ab8d99d5117df860d4815
Reviewed-on: https://skia-review.googlesource.com/c/166444
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
This reverts commit 7d1c9ec49f.
Bug: skia:8235
Change-Id: I830ba00a87e85c80f7e8583f5dfa105cd60029b2
Reviewed-on: https://skia-review.googlesource.com/c/165301
Commit-Queue: Leon Scroggins <scroggo@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This is a reland of c766370d86
Original change's description:
> always optimize third_party code
>
> Change-Id: I5b2244460a4760e9336640f597d0f74c374a0d04
> Reviewed-on: https://skia-review.googlesource.com/155641
> 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>
Change-Id: I63e7f9ca852fc99728d7a01d9987b3506115d266
Reviewed-on: https://skia-review.googlesource.com/155760
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit c766370d86.
Reason for revert: speculative -- trying to fix Debian breaks (pdf?)
Original change's description:
> always optimize third_party code
>
> Change-Id: I5b2244460a4760e9336640f597d0f74c374a0d04
> Reviewed-on: https://skia-review.googlesource.com/155641
> 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>
TBR=mtklein@google.com,brianosman@google.com
Change-Id: I5467c95f9487c31e6f538f13579e490cdaeeee2e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/155607
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Change-Id: I5b2244460a4760e9336640f597d0f74c374a0d04
Reviewed-on: https://skia-review.googlesource.com/155641
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>
People using is_official_build don't really want to see warnings.
They're for devs, not users.
The somewhat odd update to gn/BUILDCONFIG.gn keeps command
line flag precedence (later == more important) unchanged.
Change-Id: I1a04a35f066b7408021d474535f0dbf4928e21d3
Reviewed-on: https://skia-review.googlesource.com/151380
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>