Commit Graph

508 Commits

Author SHA1 Message Date
Guruji Panda
c1f3f8cda4 Exclude gl files for Fuchsia platform.
Fuchsia platform supports only vulkan. So exclude all gl files and
add vulkan files for building Skia on Fuchsia.

Change-Id: I2593a14926747b1154a1134bfdd43772627110a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301739
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-07-10 14:09:58 +00:00
Andy Weiss
6438194835 Add SK_BUILD_NO_OPTS to mac base defines
It looked like the mac build worked without this, but it turns out much
further down the pipeline I end up getting:

Undefined symbols for architecture x86_64:
  "SkOpts::Init_sse42()", referenced from:
      SkOpts::init() in libskia.a(SkOpts_cc0e566366dcb82e419fc25db4f55650.o)
  "SkOpts::Init_avx()", referenced from:
      SkOpts::init() in libskia.a(SkOpts_cc0e566366dcb82e419fc25db4f55650.o)
  "SkOpts::Init_hsw()", referenced from:
      SkOpts::init() in libskia.a(SkOpts_cc0e566366dcb82e419fc25db4f55650.o)
  "SkOpts::Init_skx()", referenced from:
      SkOpts::init() in libskia.a(SkOpts_cc0e566366dcb82e419fc25db4f55650.o)
ld: symbol(s) not found for architecture x86_64

Adding this flag back gets rid of the linker errors which makes sense.

Change-Id: I4b9a2d80daa0f373e64a430c4fb770a9c25c5e80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300224
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-07-01 19:36:15 +00:00
Andy Weiss
be1829fe9b Add macos condition support for G3 build
Change-Id: I4204b878a6bbf212e53aaf9e2e8cc9a760233d6e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300173
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-07-01 18:37:55 +00:00
Florin Malita
b8846450a8 Fix public.bzl formatting
TBR=
Change-Id: I294511f4aac3fb66810364c8568f5621de6a8e81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298398
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-06-23 16:27:17 +00:00
Florin Malita
044e8bc8c2 Add SkottieUtils src/hdr defines to public.bzl
TBR=
Change-Id: I290f0af76862bf4f6a35f5d53f7a0ab44dc16ec8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298345
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-06-23 15:01:04 +00:00
Ben Wagner
7c1f3fabf5 Remove SkFontHost_mac.cpp.
This file is now just a stub. Remove it.

Change-Id: I3156c1f2218ebb69a52558e0d139309e1c108b74
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294916
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-06-08 22:25:40 +00:00
Ben Wagner
0ef90dd5e9 Split out coretext fontmgr factory.
There can be only one SkFontMgr::Factory, so each should go in its own
translation unit. In addition, the name SkFontHost_mac is now rather out
of date and should now be SkFontMgr_mac_ct. Since the additional burden
of additional build changes after the first is minimal, also split out
SkTypeface_mac_ct and SkScalerContext_mac_ct. The original
SkFontHost_mac.cpp is kept as a shell which #includes the cpp files
which are replacing it. Once references to it are removed from all
builds it can be removed.

This is intended to be a reorganization without much code change. Most
changes are simple renaming of functions which are now shared between
translation units. However, there are a few behavior changes here.
  * Drop SkTypefaceCache global for SkTypeface_Mac 'local' global.
  * SkCTFontCTWidthForCSSWidth returns CGFloat instead of 'int'.
  * SkFontMgr_New_CoreText takes a CTFontCollectionRef.

Change-Id: Iac548f9fd920c426ea5c6dcdefe8da0a9b89ec90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294456
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294704
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294714
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-06-06 04:06:32 +00:00
Mike Klein
bb5b2a17c2 Revert "Split out coretext fontmgr factory."
This reverts commit 2c628340f4.

Reason for revert: ios-simulator chrome bot:

FAILED: obj/skia/x64/skia_unittests 
TOOL_VERSION=1591394828 ../../build/toolchain/mac/linker_driver.py -Wcrl,strippath,/opt/s/w/ir/cache/xcode_ios_11e146.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip ../../third_party/llvm-build/Release+Asserts/bin/clang++ -B /opt/s/w/ir/cache/xcode_ios_11e146.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/  -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -objc_abi_version -Xlinker 2 -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker obj/skia/skia_unittests.xcent -Wl,-fatal_warnings -arch x86_64 -Werror -nostdlib++ -isysroot sdk/xcode_links/iPhoneSimulator13.4.sdk -mios-simulator-version-min=12.0 -Wl,-ObjC -o "obj/skia/x64/skia_unittests" -Wl,-filelist,"obj/skia/x64/skia_unittests.rsp" -framework UIKit  -framework CoreFoundation -framework CoreGraphics -framework CoreText -framework Foundation -framework ImageIO -framework UIKit -framework Security
Undefined symbols for architecture x86_64:
  "SkCTFontGetSmoothBehavior()", referenced from:
      SkTypeface_Mac::onFilterRec(SkScalerContextRec*) const in libskia.a(SkFontHost_mac.o)
      SkScalerContext_Mac::generateImage(SkGlyph const&) in libskia.a(SkFontHost_mac.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)


Original change's description:
> Split out coretext fontmgr factory.
> 
> There can be only one SkFontMgr::Factory, so each should go in its own
> translation unit. In addition, the name SkFontHost_mac is now rather out
> of date and should now be SkFontMgr_mac_ct. Since the additional burden
> of additional build changes after the first is minimal, also split out
> SkTypeface_mac_ct and SkScalerContext_mac_ct. The original
> SkFontHost_mac.cpp is kept as a shell which #includes the cpp files
> which are replacing it. Once references to it are removed from all
> builds it can be removed.
> 
> This is intended to be a reorganization without much code change. Most
> changes are simple renaming of functions which are now shared between
> translation units. However, there are a few behavior changes here.
>   * Drop SkTypefaceCache global for SkTypeface_Mac 'local' global.
>   * SkCTFontCTWidthForCSSWidth returns CGFloat instead of 'int'.
>   * SkFontMgr_New_CoreText takes a CTFontCollectionRef.
> 
> Change-Id: I897f69f2f5ea06819f5daa964c09cdd36490af85
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294456
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294704

TBR=mtklein@google.com,bungeman@google.com

Change-Id: I5abeb7598c7f533477b4a4af5b568f7cbe6e8644
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294734
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-06-05 23:16:49 +00:00
Ben Wagner
2c628340f4 Split out coretext fontmgr factory.
There can be only one SkFontMgr::Factory, so each should go in its own
translation unit. In addition, the name SkFontHost_mac is now rather out
of date and should now be SkFontMgr_mac_ct. Since the additional burden
of additional build changes after the first is minimal, also split out
SkTypeface_mac_ct and SkScalerContext_mac_ct. The original
SkFontHost_mac.cpp is kept as a shell which #includes the cpp files
which are replacing it. Once references to it are removed from all
builds it can be removed.

This is intended to be a reorganization without much code change. Most
changes are simple renaming of functions which are now shared between
translation units. However, there are a few behavior changes here.
  * Drop SkTypefaceCache global for SkTypeface_Mac 'local' global.
  * SkCTFontCTWidthForCSSWidth returns CGFloat instead of 'int'.
  * SkFontMgr_New_CoreText takes a CTFontCollectionRef.

Change-Id: I897f69f2f5ea06819f5daa964c09cdd36490af85
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294456
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294704
2020-06-05 21:40:46 +00:00
Ben Wagner
aa10dfeec9 Revert "Split out coretext fontmgr factory."
This reverts commit 5c14d63297.

Reason for revert: chromium 'analyze' doesn't do a good job

Original change's description:
> Split out coretext fontmgr factory.
> 
> There can be only one SkFontMgr::Factory, so each should go in its own
> translation unit. In addition, the name SkFontHost_mac is now rather out
> of date and should now be SkFontMgr_mac_ct. Since the additional burden
> of additional build changes after the first is minimal, also split out
> SkTypeface_mac_ct and SkScalerContext_mac_ct. The original
> SkFontHost_mac.cpp is kept as a shell which #includes the cpp files
> which are replacing it. Once references to it are removed from all
> builds it can be removed.
> 
> This is intended to be a reorganization without much code change. Most
> changes are simple renaming of functions which are now shared between
> translation units. However, there are a few behavior changes here.
>   * Drop SkTypefaceCache global for SkTypeface_Mac 'local' global.
>   * SkCTFontCTWidthForCSSWidth returns CGFloat instead of 'int'.
>   * SkFontMgr_New_CoreText takes a CTFontCollectionRef.
> 
> Change-Id: Iaf58a0371667f266ada20c918941fab6bc27d9df
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294456
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>

TBR=mtklein@google.com,bungeman@google.com

Change-Id: I469084efbfc71bba60e5fbfb4eb7152d57324d0c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294703
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-06-05 20:32:52 +00:00
Ben Wagner
5c14d63297 Split out coretext fontmgr factory.
There can be only one SkFontMgr::Factory, so each should go in its own
translation unit. In addition, the name SkFontHost_mac is now rather out
of date and should now be SkFontMgr_mac_ct. Since the additional burden
of additional build changes after the first is minimal, also split out
SkTypeface_mac_ct and SkScalerContext_mac_ct. The original
SkFontHost_mac.cpp is kept as a shell which #includes the cpp files
which are replacing it. Once references to it are removed from all
builds it can be removed.

This is intended to be a reorganization without much code change. Most
changes are simple renaming of functions which are now shared between
translation units. However, there are a few behavior changes here.
  * Drop SkTypefaceCache global for SkTypeface_Mac 'local' global.
  * SkCTFontCTWidthForCSSWidth returns CGFloat instead of 'int'.
  * SkFontMgr_New_CoreText takes a CTFontCollectionRef.

Change-Id: Iaf58a0371667f266ada20c918941fab6bc27d9df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/294456
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-06-05 19:22:38 +00:00
Herb Derby
64aa5138c7 Remove SkAtlasTextTarget
I can find no references to SkAtlasTextTarget in AOSP or in Chromium.
With google3 CL/314226466 there are no more uses in Google3.

Change-Id: I60b5f06fc17c0e4f8d008886c96645475e3d48e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293839
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-06-04 03:52:35 +00:00
Mike Klein
54c0d06941 add Fuchsia condition results for G3 build
Change-Id: Ib03b7c1c72e394edf1b84b5c71492ef8c8882ea0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293580
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Guruji Panda <guruji@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-06-02 16:56:44 +00:00
Mike Klein
bec7f1056c trim down skia_select()
First, remove Bazel support.  We don't test that.

Then, be less strict about the number of args to skia_select(),
simply constructing a dictionary for each condition provided.

This lets us provide more results than BUILD provides conditions,
making it easier to stage new condition/result pairs.

We can use this to provide Fuchsia results here (after wasm), and then
flip it all on by adding the appropriate Fuchsia condition to BUILD.

Change-Id: I309b976470bb5bf13cfb6e59658196820037a142
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293473
Reviewed-by: Nathaniel Nifong <nifong@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-06-02 13:47:20 +00:00
Florin Malita
141ac68fa0 [skottie] Cleanup: split animators into separate CUs
No functional changes, just code reshuffle.

TBR=

Change-Id: Ia04add9d51d6e84903d010534434c9a60464a72a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/277457
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-03-17 15:48:17 +00:00
Leon Scroggins III
a77f30c7db Reland "Split building encoding from decoding"
This reverts commit 9d4b788807.
Copyright issue has been fixed in
https://skia-review.googlesource.com/c/skia/+/275998.

Original description:
Bug: skia:9756

In CanvasKit, a large part of the binary is for encoding. Clients
would be happier with a smaller binary and no webp/jpeg encoding. Make
this an option by splitting up the GN arguments.

Split SK_HAS_WEBP_LIBRARY into SK_CODEC_DECODES_WEBP (to match the
existing SK_CODEC_DECODES_RAW) and SK_ENCODE_WEBP. Same for JPEG and
PNG.

Update CanvasKit compile script to disable webp and jpeg encoding.
Update debugger compile script to disable all encoding.

Change IsPng signature to match other SkCodecs.

TBR=djsollen@google.com

Change-Id: Ic847bae0154e0a2922100b3f2ee14a077ee5635a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276007
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2020-03-09 20:21:19 +00:00
Mike Klein
9d4b788807 Revert "Split building encoding from decoding"
This reverts commit 94aaf7cdf5.

Reason for revert: you know what I already typed the reason stop making rules that people have to follow, robots.

Original change's description:
> Split building encoding from decoding
> 
> Bug: skia:9756
> 
> In CanvasKit, a large part of the binary is for encoding. Clients
> would be happier with a smaller binary and no webp/jpeg encoding. Make
> this an option by splitting up the GN arguments.
> 
> Split SK_HAS_WEBP_LIBRARY into SK_CODEC_DECODES_WEBP (to match the
> existing SK_CODEC_DECODES_RAW) and SK_ENCODE_WEBP. Same for JPEG and
> PNG.
> 
> Update CanvasKit compile script to disable webp and jpeg encoding.
> Update debugger compile script to disable all encoding.
> 
> Change IsPng signature to match other SkCodecs.
> 
> Change-Id: Iec8466ee1b76bc3d1e377c24201068b776cd7718
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273768
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Reviewed-by: Nathaniel Nifong <nifong@google.com>

TBR=djsollen@google.com,scroggo@google.com,kjlubick@google.com,nifong@google.com

Change-Id: I4fc2ea916743fda7e7d0d668b59e52052e880104
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9756
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275710
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-06 21:39:21 +00:00
Mike Klein
dbbf753b20 disable command buffer on iOS g3 builds
Change-Id: Iaed8c2101255c5e02333af76a19b32031da45a48
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275641
Reviewed-by: Brian Osman <brianosman@google.com>
2020-03-06 18:57:13 +00:00
Leon Scroggins III
94aaf7cdf5 Split building encoding from decoding
Bug: skia:9756

In CanvasKit, a large part of the binary is for encoding. Clients
would be happier with a smaller binary and no webp/jpeg encoding. Make
this an option by splitting up the GN arguments.

Split SK_HAS_WEBP_LIBRARY into SK_CODEC_DECODES_WEBP (to match the
existing SK_CODEC_DECODES_RAW) and SK_ENCODE_WEBP. Same for JPEG and
PNG.

Update CanvasKit compile script to disable webp and jpeg encoding.
Update debugger compile script to disable all encoding.

Change IsPng signature to match other SkCodecs.

Change-Id: Iec8466ee1b76bc3d1e377c24201068b776cd7718
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273768
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2020-03-06 18:50:40 +00:00
Mike Klein
491df6ba72 remove SkTLS
- used for debug lock tracking in SkFont*
  - used for debug logging in SkPathOps
  - genuine use in GLTestContext_cmd_buf?
    switched that to thread_local
  - keep empty SkTLS_{pthread,win}.cpp until
    references to them can be cleaned up

Bug: skia:10006
Change-Id: I195a94c95d3f1a1918ee8c9bc4a15fa5b4344fbc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275282
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-06 14:41:01 +00:00
Nathaniel Nifong
c6ce3d469d Patch public.bzl change from cl/298337962
Bug: b/150386856
Change-Id: Ic200bda7b63f0bde84df4b32e2d7967d8572740c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274541
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-03-02 17:55:39 +00:00
Nathaniel Nifong
59b160f991 Can't submit bzl change adding extra arg to skia_select without google3 BUILD rules using it correctly.
Revert "Add WASM os target to public.bzl"

This reverts commit 83346185be.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Add WASM os target to public.bzl
> 
> prerequisite to cl/297131877
> 
> Bug: b/150386856
> Change-Id: I23a770c59ca7c2899ef5e045194a1bf9c27d9449
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274048
> Commit-Queue: Nathaniel Nifong <nifong@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>

TBR=kjlubick@google.com,nifong@google.com

Change-Id: I85719313a17c500220edc3ad6e1ead0d5cf8a363
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/150386856
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274268
Reviewed-by: Nathaniel Nifong <nifong@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-02-29 02:49:59 +00:00
Nathaniel Nifong
55607b1434 Can't submit bzl change without google3 BUILD files using it correctly.
Revert "Fix missing comma in public.bzl"

This reverts commit e2e4d70d2b.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Fix missing comma in public.bzl
> 
> Change-Id: I6b2288c890a3290bf3ed31044219e1c4d9f0f0fa
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274203
> Auto-Submit: Nathaniel Nifong <nifong@google.com>
> Reviewed-by: Nathaniel Nifong <nifong@google.com>
> Commit-Queue: Nathaniel Nifong <nifong@google.com>

TBR=benjaminwagner@google.com,nifong@google.com

Change-Id: Ia01a466953cebd856985445096e2ab441eb12b70
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274267
Reviewed-by: Nathaniel Nifong <nifong@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-02-29 02:48:29 +00:00
Nathaniel Nifong
e2e4d70d2b Fix missing comma in public.bzl
Change-Id: I6b2288c890a3290bf3ed31044219e1c4d9f0f0fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274203
Auto-Submit: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Nathaniel Nifong <nifong@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-02-29 00:55:49 +00:00
Nathaniel Nifong
83346185be Add WASM os target to public.bzl
prerequisite to cl/297131877

Bug: b/150386856
Change-Id: I23a770c59ca7c2899ef5e045194a1bf9c27d9449
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274048
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-02-28 20:48:36 +00:00
Jim Van Verth
03b8ab225f Reland "Create D3D device and queue"
This is a reland of 29dc430f43

Original change's description:
> Create D3D device and queue
> 
> Bug: skia:9935
> Change-Id: Ib6548f413ca3a8befb553d2d47354b400c9162b9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272520
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

Bug: skia:9935
Change-Id: I1c8797e09cdeb3694ea7f47b2236ab7d91d9519f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272996
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-02-24 17:41:55 +00:00
Tyler Denniston
45f94f8344 Reland: Initial checkin of GM verifier framework
The goal of the verifier framework is to enable opt-in checks of the
images produced by individual GMs. The basis of verification will be
comparing the rendered output of a GM against a source-of-truth image,
such as one generated by the CPU backend.

In the short term this can enable coarse-grained sanity checks for a
subset of GMs to catch e.g. egregious rendering bugs. In the longer term
this can provide an SkQP-style suite of tests that can be run across
many/all GMs to provide a vote of confidence in the rendering
correctness of new devices.

Bug: skia:9855
Change-Id: I50f15ecd029b28b69c0f68dc4126df3a4dd61d75
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/268685
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2020-02-06 15:01:31 +00:00
Florin Malita
cbf31d0a0e [skottie] Cleanup: convert shape layer adapters to new pattern
Split off most shape layer components into own CUs (naming convention
following AE), and convert to new DiscardableAdapter pattern.

TBR=
Change-Id: Iba7800cff1998d3d7cf81dfd89b4193d02b59559
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265147
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-01-22 20:16:36 +00:00
Hal Canary
118df7cf62 skottie_ios_app: Add OpenGL.
- Consolidate Skottie logic into SkottieViewController class that no longer
    knows about which backend we use.

  - Abstract out SkiaViewController interdace which SkottieViewController
    implements.

  - Create three classes SkiaGLView, SkiaUIView, and SkiaMtkView, which all
    accept SkiaViewController objects but override GLKView, UIView, and
    MTKView.

  - SkAnimationDraw and SkTimeKeeper now SkiaViewController
    implementation details, no longer shared in headers.

Cq-Include-Trybots: skia/skia.primary:Build-Mac-Clang-arm64-Debug-iOS_Metal
Cq-Include-Trybots: skia/skia.primary:Build-Mac-Clang-arm64-Debug-iOS
Change-Id: I96ff2911d63da7d5327c81f91996b2a1b12c4419
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261178
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2020-01-14 16:16:32 +00:00
Hal Canary
76cc2c5507 public.bzl: add SKOTTIE_IOS_LIB_SDK_FRAMEWORKS
Motivation: this will let me add dependencies without breaking clients.

Change-Id: I70b71c08b0a902b2b7e6fc160c63dc3afdeb7de5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262806
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-01-07 18:19:22 +00:00
Hal Canary
b56b554249 public.bzl: add SKOTTIE_IOS_LIB_{SRCS,HDRS}
Change-Id: I0c74c41980d2598f6955cfa07a3237c0861763ab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261078
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-12-19 15:34:19 +00:00
Hal Canary
484384bf30 Skottie: fix public.bzl
skottie/include/Skottie.h includes modules/skresources/include/SkResources.h

add skresources_lib_hdrs skresources_lib_srcs

Change-Id: I9e1e0c99e55fd638323ecf9fa3f4bd21206fb428
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/260501
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-12-17 17:53:02 +00:00
Ben Wagner
8718be99a2 Format public.bzl
Bug: skia:8210
Change-Id: I215d7a85ad3cee63df78128d8bd00d6f7b67fd99
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/259430
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-12-12 01:37:13 +00:00
Hal Canary
6ad6c50e5e public.bzl: add metal_objc_srcs()
Change-Id: I0e2f7a029a5e4a9dc6901eaab1791e8b74ebe29b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/259338
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-12-11 22:56:54 +00:00
Brian Osman
849f4d6571 Copy SkottieUtils' classes into skresources
For now, we'll have two copies. Once clients are using the skresources
versions exclusively, we can remove the originals from skottie.

Change-Id: I3152f526b0505b8374bdd9b4513a80bddc702ccc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256416
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-11-26 14:25:44 +00:00
Hal Canary
b5c217b698 [reland] public.bzl: update to replace Gif with Wuffs
Original CL: https://review.skia.org/254578

Change-Id: I254e4e0d560f8772a6e2ca60209dca23384dadb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255819
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-11-21 22:05:01 +00:00
Hal Canary
ce4693fb19 Revert "public.bzl: update to replace Gif with Wuffs"
This reverts commit 3e0aa84a55.

Reason for revert: try to fix g3 roll

Original change's description:
> public.bzl: update to replace Gif with Wuffs
> 
> Also, do away with complex exclude rules.  Explicit is often better.
> 
> Change-Id: I1d945c237a179f6db2552742fdf9e067d6d9eaf9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254578
> Commit-Queue: Hal Canary <halcanary@google.com>
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Auto-Submit: Hal Canary <halcanary@google.com>

TBR=halcanary@google.com,scroggo@google.com

Change-Id: I7909840ef9d206718c3ac0483b555f5d2306a04f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255581
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-11-20 21:44:04 +00:00
Hal Canary
3e0aa84a55 public.bzl: update to replace Gif with Wuffs
Also, do away with complex exclude rules.  Explicit is often better.

Change-Id: I1d945c237a179f6db2552742fdf9e067d6d9eaf9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254578
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
2019-11-20 19:01:54 +00:00
Julia Lavrova
f0ade8a687 Fixing no icu situation
Change-Id: I9763a0a2a0ee231500b27c11e17e0f5f4df44f29
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/253683
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-11-08 18:59:03 +00:00
Hal Canary
d394f2ee4f SkPDF/bublic.bzl: switch away from Sfntly subsetter.
Bug: skia:9606
Change-Id: I3fe1078a4fde66f4d8d5e1d9464390e838233c3e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252921
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-11-05 20:56:05 +00:00
Mike Klein
df54f37a5d remove SkPicture_none.cpp
I happened to notice that SkPicture_none.cpp no longer compiles.

    ...
    src/core/SkPicture_none.cpp:101:44: error: out-of-line definition of
    'CreateProc' does not match any declaration in 'SkPictureImageFilter'
    sk_sp<SkFlattenable> SkPictureImageFilter::CreateProc(SkReadBuffer& buffer) {
    ...

This leads me to conclude that it cannot be in active use.

Change-Id: I92a4daa3c7d5d7889c4f841b578c9c691525c1cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235216
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-08-16 14:52:25 +00:00
Mike Klein
c4abade253 Reland "add a stub for running fiddles as GMs"
This is a reland of adfc22df86

PS2+3 restrict this to just local builds: no G3, no Android, etc.

Original change's description:
> add a stub for running fiddles as GMs
>
> This is about the 15th time I've hacked this up.
>
> Change-Id: I0c75c0d04133d867e942c39eba693fd7227ba0f5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233240
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

Change-Id: I7b8e7418edc4949c2f3e07ddf01f0643344397d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233242
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-08-09 16:22:51 +00:00
Stephen White
985741a554 First draft of Dawn backend: clears are working.
First draft of (mostly stubbed-out) GrDawnGpu.
Skeletons of GrDawnCaps, GrDawnGpuCommandBuffer, GrDawnRenderTarget.
First draft of DawnTestContext.
First draft of psuedo-fences for Dawn, implemented with MapReadAsync.

Change-Id: I443f3370522639e82f2fa0eebe6b206c372f13a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/228137
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-07-18 18:09:12 +00:00
Hal Canary
e574f1e409 [reland] SkMetaData: move from src/ to tools/
Original: https://skia-review.googlesource.com/c/skia/+/227436
Change-Id: Iec326027319f39b0402e1b5c03b327cb26249159
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227778
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-07-17 13:14:38 +00:00
Florin Malita
ccacfa02d2 [skottie] Caching motion tile
Update MotionTileEffect to avoid rebuilding shaders redundantly,
at render time:

  1) build all shaders at revalidation time
  2) cache the layer content picture separately, and only rebuild when
     the layer content changes

To support #2, add some SG helpers for querying subtree inval state.

With this change, we avoid all render time allocations.

Notry: true
Change-Id: I55a1f95752704af6a667b266e725492de6640387
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226512
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2019-07-10 19:13:41 +00:00
Brian Osman
489cf8888c Reland "Make the SkSL interpreter opt-in"
This reverts commit b6b966aa43.

Change-Id: I58c34fc8520384157c5adb0056f3568b8ef1d844
Bug: skia:9230
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225939
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-07-09 15:45:24 +00:00
Florin Malita
45dc1f0001 [skottie] Cleanup: split off layers into own CUs
TBR=
Change-Id: Ia6c27cca33f9dc8f242a50e624341dd0b465b380
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224738
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-07-01 18:29:22 +00:00
Nathaniel Nifong
0426c38daa Reland "Deserialize MultiPictureDocument based SKP files (with image sharing proc) in wasm debugger."
This is a reland of 7635013ad1

Original change's description:
> Deserialize MultiPictureDocument based SKP files (with image sharing proc) in wasm debugger.
> 
> Change-Id: I73affae3cd05a2aa6ac1c75c8e049d352bbf3a85
> Bug: 9176
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217135
> Commit-Queue: Nathaniel Nifong <nifong@google.com>
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>

Bug: 9176
Change-Id: Ifef1ff45ac0013ba3015f88c7ecd75527b28b604
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222505
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2019-06-21 15:49:21 +00:00
Florin Malita
e47d8afabd [skottie] Add support for Transform distort effect
Yet another way to transform a layer, disguised as a distort effect.

TBR=
Change-Id: Ic2d5479fa6ae27b460de60875924f73f77fc7f71
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221001
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-06-14 16:58:31 +00:00
Mike Reed
daf1945321 expose xform to google3
Change-Id: Ic4a238b615c428fe6d1e9d6dd9fb56b39bc9c8f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220300
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-06-11 21:21:38 +00:00
Julia Lavrova
5ec1b8ff3f Adding skparagraphto public.bzl
Change-Id: Ia86963f743fc63a25b413344839f7e58e703b728
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219861
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-10 15:48:14 +00:00
Mike Klein
a4bb020636 add SkVMBuilders.* to DM deps in G3
Needed since https://skia-review.googlesource.com/c/skia/+/218041

Change-Id: I914c22e62d96b423041e4810a41b892789030510
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218336
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-06-04 18:42:23 +00:00
Jim Van Verth
8a9a371182 Reland "Added AutoreleasePool for managing pool memory in testing apps."
This is a reland of a36e089065

This is only active when Metal is enabled.

Original change's description:
> Added AutoreleasePool for managing pool memory in testing apps.
>
> This is only active on MacOS and iOS -- on other platforms it
> will do nothing as they have no need for autorelease pools.
>
> Bug: skia:8243
> Change-Id: Ib74968dab6e3455a72e726429832101d0d410076
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217126
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Bug: skia:8243
Change-Id: I743a3dcc93b46387a6a330e855c2e8810b482544
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217379
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-05-31 15:40:01 +00:00
Mike Reed
7bf160e6d5 Revert "Revert "Experimental SkVideoDecoder, to wrap calls to ffmpeg""
fix google3 build (don't build the new gm)

This reverts commit 9cc53fa4bd.

Change-Id: I3de8aa4959f62a380f1d4aaf2b788d250775e194
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214442
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-05-17 21:25:48 +00:00
Mike Klein
9509e04550 Revert "move encoders into codec_srcs"
This reverts commit 6a89611353.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> move encoders into codec_srcs
> 
> This is a stepping stone towards runtime registration.
> 
> This should work in concert with all the other CLs
> that are in the roll pipeline to get things building.
> 
> Change-Id: Id95f1e0bbea2f48f7b5fa438f4310f8db1d5b978
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214083
> Auto-Submit: Mike Klein <mtklein@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,scroggo@google.com,brianosman@google.com

Change-Id: I4808404f0968e8a4deaf259a46e366152b7590fc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214100
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 21:57:59 +00:00
Mike Klein
9098c28d92 Revert "format public.bzl"
This reverts commit f4c2c8e31b.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> format public.bzl
> 
> Change-Id: Ie92b366e5d6e6fcb99c56e80f34e315ad1be8831
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214093
> Reviewed-by: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com

Change-Id: I66f11062ea21127e5d4c44eec932bd41f99d4f2d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214099
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 21:57:31 +00:00
Mike Klein
f4c2c8e31b format public.bzl
Change-Id: Ie92b366e5d6e6fcb99c56e80f34e315ad1be8831
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214093
Reviewed-by: Mike Klein <mtklein@google.com>
2019-05-15 20:54:00 +00:00
Mike Klein
6a89611353 move encoders into codec_srcs
This is a stepping stone towards runtime registration.

This should work in concert with all the other CLs
that are in the roll pipeline to get things building.

Change-Id: Id95f1e0bbea2f48f7b5fa438f4310f8db1d5b978
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214083
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 20:40:57 +00:00
Florin Malita
ca449d5899 [skottie] Cleanup: relocate text sources
Move text-related sources to a dedicated 'text' subdirii, and drop
"Skottie" src prefix.

TBR=
Change-Id: I4f8d1633d649d371f76840405b6e567bd93f0c00
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212724
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-05-08 14:36:07 +00:00
Florin Malita
1b1b657488 Fix .bzl skottie_lib_hdrs
TBR=
Change-Id: Id50b30077045477e4a6b0dfef3b9d950ac8f40f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212023
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-05-03 19:46:55 +00:00
Florin Malita
e4e9551cc8 Add explicit .bzl sources and headers lists for skottie/sksg
(to facilitate atomic repo updates)

Also remove some _INCLUDES (no longer used).

Change-Id: I9788838fb4b837b80a9ac637ab28760f9f4ccbf1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/211994
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-05-03 18:35:36 +00:00
Robert Phillips
6db27c28c6 Reduce opList splitting by default in Skia
Local Skia and DDL recording will always attempt to reduce opList splitting.
Android, Flutter, Google3 and non-DDL Chrome will not.

Note that this is a bit aggressive. Intermediate flushes based on memory usage have not yet been implemented.

The plan is to run this locally in Skia until the next Chrome branch and then enable it everywhere else (when intermediate flushes have been implemented).

OpList splitting reduction in Chrome is disabled in the following Chrome-side CL:

https://chromium-review.googlesource.com/c/chromium/src/+/1588756/ (Disable opList splitting reduction in Skia)

It is disabled in Android in:

https://googleplex-android-review.git.corp.google.com/c/platform/external/skia/+/7259923 (Update #defines to suppress Ganesh features in SkUserConfigManual.h)

It is disabled in Flutter and Google3 w/in this CL.

Change-Id: I59ff448d2c42629fab6cffccb2894d030c73431d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/211101
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-05-01 15:24:08 +00:00
Brian Osman
ea236bf818 Move skcms.h to include/third_party/skcms
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>
2019-04-29 15:02:45 +00:00
Mike Klein
f0a5369d0c cut SK_SAMPLES_FOR_X, simplify SK_?32_SHIFT
SK_SAMPLES_FOR_X doesn't do anything other than set the SK_?32_SHIFT
macros, so we can just set them instead, and further we can derive
everything we need from SK_R32_SHIFT.

Change-Id: I766d00c868da04939208353d09201f189a99c0c7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/210121
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-04-24 20:58:58 +00:00
Mike Klein
e11e5c162f AFAICT, only gm/etc1 uses third_party/etc1
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>
2019-04-24 18:57:58 +00:00
Mike Klein
c0bd9f9fe5 rewrite includes to not need so much -Ifoo
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>
2019-04-24 16:27:11 +00:00
Mike Klein
7ecad8791f add third_party/skcms to includes
This should allow us to #include "skcms.h".

Change-Id: Ie91f3af6145d78ffe0e433383a220fcb40452888
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209780
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-04-23 11:18:36 +00:00
Mike Klein
3276d95876 rm src/compute
This is a stale, unused, untested snapshot.

Change-Id: I7c78c7c0f1637850724cbe8dcd99223a0ea592d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209644
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-04-22 17:35:53 +00:00
Mike Klein
299ea7b860 buildifier public.bzl
Change-Id: I1f7ff758801be30e377d08684b15af22daafde66
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204134
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-03-27 19:00:04 +00:00
Mike Klein
7f95c293d7 split up skia_srcs() in public.bzl
This will let us smoothly switch over from using skia_srcs()
to using base_srcs() and gl_srcs(), listing things we need
from src/ports (and src/utils/mac/*.cpp) in BUILD instead.

Change-Id: I85dabd0dd620e1dcbcf4883ea8cfba3c111ce319
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204126
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-03-27 17:23:48 +00:00
Mike Klein
b61e25b766 update DM_SRCS to build tools/HashAndEncode
Change-Id: Iab2ea4dfbff466f96f3f54d5150e12a8eb673518
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204125
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-03-27 16:25:58 +00:00
Ben Wagner
c5ee499f2c Enable fontconfig fontmgr in public.bzl.
This enables the fontconfig font manager and tests it on unix like
platforms.

Change-Id: Ic0c2ad842e5f67fe50d100752d0eb239659d58e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203466
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-03-25 20:32:31 +00:00
Mike Klein
0498857cee fold sk_pixel_iter.h into ToolUtils
The single class in it is already in the ToolUtils namespace.

Change-Id: Iefa69690c4aa9b218784eb5edcfe7dba8721747b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202314
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-03-20 18:22:15 +00:00
Mike Klein
ea3f014e2b sk_tool_utils -> ToolUtils, and git clang-format
sk_tool_utils doesn't really fit the naming convention
the rest of code under tools/ tends to use.

Change-Id: I45326a174101c6eb4b6149e9c742f658f2fd23b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202313
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-03-20 18:05:42 +00:00
Mike Klein
0cffcbf97b de-Sk tools/font, and git clang-format
Change-Id: I0326eb9cc1e1e38b0fdc417567987a595f9021d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202310
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>
2019-03-20 17:36:52 +00:00
Mike Klein
88544fbe63 remove Sk prefix from CommandLineFlags
The command line flag package is tool-only, not part of Skia per se,
and does not need an Sk prefix to avoid naming conflicts.

And git clang-format.

Change-Id: Ida8477779e51750ed0475590ed2454841b23d6ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202307
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-03-20 17:13:22 +00:00
Hal Canary
30c9eda01b SkShaper/public.bzl fix
Change-Id: Ie9a0b03cdc3e683689d8d8d078cf382adc101021
Reviewed-on: https://skia-review.googlesource.com/c/194423
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-02-22 20:57:07 +00:00
Brian Osman
88cfc50bb6 Remove all references to jsoncpp (build scripts, DEPS, etc)
Bug: skia:
Change-Id: I3cec245e537eee3e6ceb0a4a52bad733c2c8746e
Reviewed-on: https://skia-review.googlesource.com/c/189842
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-02-06 15:15:52 +00:00
Florin Malita
226ba98668 [skshaper] Export "primitive" sources in public.bzl
The harfbuzz backend is not usable in G3 at this point (missing
SkLoadICU header).  Making the primitive backend available to unblock
Skottie progress.

TBR=
Bug: skia:8696
Change-Id: I5aa1003f33926450f6c7512736cd71f9e1c80297
Reviewed-on: https://skia-review.googlesource.com/c/185600
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-01-21 17:29:33 +00:00
Florin Malita
6d415bce3a [skshaper] Build tweaks
Preps for building in Chromium & G3.

Change-Id: I4eb802f27aac7d3652c3b3ce427dcc758d6c31fe
Reviewed-on: https://skia-review.googlesource.com/c/185000
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-01-18 20:25:40 +00:00
Jim Van Verth
1676cb9282 Restore ETC1 compressed texture support.
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>
2019-01-15 19:56:28 +00:00
Sergey Ulanov
f3babcd0af Reland "Add SkFontMgr implementation for Fuchsia"
This is a reland of 309f1deddf

PS2 excludes the new file from Google3 build.

Original change's description:
> Add SkFontMgr implementation for Fuchsia
>
> The new SkFontMgr implementation will be used by Flutter and Chromium on
> Fuchsia.
>
> Change-Id: Ibd60a622282556e8557058e92fe865857f7024f9
> Reviewed-on: https://skia-review.googlesource.com/c/173800
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

Change-Id: I1ea948b644dee4414b7a12a4b354f0a61a5e47ea
Reviewed-on: https://skia-review.googlesource.com/c/175431
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-12-07 01:47:05 +00:00
Mike Reed
1c3255dfea Revert "add SK_SUPPORT_LEGACY_TEXTBLOBBUILD_WITH_PAINT for google3"
This reverts commit 8b998b1e71.

Reason for revert: flag is now defined in google3

Original change's description:
> add SK_SUPPORT_LEGACY_TEXTBLOBBUILD_WITH_PAINT for google3
> 
> Bug: skia:
> Change-Id: I3a7e3555718d5e585d5288b7a70a24ee39d0d327
> Reviewed-on: https://skia-review.googlesource.com/c/172740
> Reviewed-by: Mike Reed <reed@google.com>

TBR=reed@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:
Change-Id: I27130d7c332f1a06f939280a1485a3b82dc13188
Reviewed-on: https://skia-review.googlesource.com/c/172861
Reviewed-by: Mike Reed <reed@google.com>
2018-11-26 15:20:16 +00:00
Mike Reed
8b998b1e71 add SK_SUPPORT_LEGACY_TEXTBLOBBUILD_WITH_PAINT for google3
Bug: skia:
Change-Id: I3a7e3555718d5e585d5288b7a70a24ee39d0d327
Reviewed-on: https://skia-review.googlesource.com/c/172740
Reviewed-by: Mike Reed <reed@google.com>
2018-11-24 17:59:00 +00:00
Florin Malita
a8316554cb [skottie] Make animated image support generally available
Consolidate some helpers under skottie_utils, and update all related
tools to support animated images.

TBR=
Change-Id: If08e97143a11d9a414f3230a49ab4284c508b9d0
Reviewed-on: https://skia-review.googlesource.com/c/169342
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-11-10 19:52:19 +00:00
Mike Reed
0b50838beb Reland "remove guards for hinting in google3"
This reverts commit 2b5edcbe4e.

Reason for revert: moved these flags into Google3 BUILD

Original change's description:
> Revert "remove guards for hinting in google3"
> 
> This reverts commit 761f390470.
> 
> Reason for revert: more google3
> 
> Original change's description:
> > remove guards for hinting in google3
> > 
> > Bug: skia:
> > Change-Id: I99449d4688d33aec6fda56965984938050b7de3f
> > Reviewed-on: https://skia-review.googlesource.com/c/170102
> > Reviewed-by: Mike Reed <reed@google.com>
> 
> TBR=reed@google.com
> 
> Change-Id: I7482ad95a60676d1cb9cb2d52575c28c1bb5be33
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/c/170106
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I6b53ea215730bd1794ad4665d01fa1b2de749173
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/170107
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-09 16:31:01 +00:00
Mike Reed
2b5edcbe4e Revert "remove guards for hinting in google3"
This reverts commit 761f390470.

Reason for revert: more google3

Original change's description:
> remove guards for hinting in google3
> 
> Bug: skia:
> Change-Id: I99449d4688d33aec6fda56965984938050b7de3f
> Reviewed-on: https://skia-review.googlesource.com/c/170102
> Reviewed-by: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I7482ad95a60676d1cb9cb2d52575c28c1bb5be33
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/170106
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-09 16:24:11 +00:00
Mike Reed
761f390470 remove guards for hinting in google3
Bug: skia:
Change-Id: I99449d4688d33aec6fda56965984938050b7de3f
Reviewed-on: https://skia-review.googlesource.com/c/170102
Reviewed-by: Mike Reed <reed@google.com>
2018-11-09 14:50:57 +00:00
Mike Klein
dd650c40d1 disable unit tests in Google3
Many of them will start failing or crashing
once we set SK_DISABLE_READ_BUFFER there.

Alternatively, we could see if we can get away without
SK_DISABLE_READ_BUFFER.  It's small value compared to
the other flags.

Change-Id: I447cbd09f68afed81b4b1db8cc234abd22389d46
Reviewed-on: https://skia-review.googlesource.com/c/169762
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-08 20:19:10 +00:00
Florin Malita
dcc9d0668c [skottie] Add skottie_tool srcs/includes to public.bzl
Change-Id: I5f45a967031ff8d02ea24483807944be64ec5270
Reviewed-on: https://skia-review.googlesource.com/c/169823
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-11-08 20:08:03 +00:00
Mike Reed
9edbf42e75 Revert[4] "hide nested hinting enum"
This reverts commit 8e12cc6dfe.

Bug: skia:
Change-Id: Ice5e3480adad75ab77d97f7366495015f36b15a6
Reviewed-on: https://skia-review.googlesource.com/c/169520
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-08 16:33:04 +00:00
Mike Klein
54378230f8 Reland "simplify disabling effect deserialization"
This reverts commit 34d7a163a4.

Reason for revert: ok now?

Original change's description:
> Revert "simplify disabling effect deserialization"
>
> This reverts commit 5bbf790b5b.
>
> Reason for revert: flutter GN needs some love
>
> Original change's description:
> > simplify disabling effect deserialization
> >
> > Switch to a simple #define instead of conditional build targets.
> >
> > No one changes skia_enable_effects or skia_enable_effects_imagefilters,
> > so we can merge all that together back into :skia.
> >
> > Change-Id: I2985f95ee89149ddc687dc31f4c6bf35cb3a93c7
> > Reviewed-on: https://skia-review.googlesource.com/c/169220
> > Reviewed-by: Kevin Lubick <kjlubick@google.com>
> > Commit-Queue: Mike Klein <mtklein@google.com>
>
> TBR=mtklein@google.com,kjlubick@google.com
>
> Change-Id: I3b818418d303dbc6d2a926a19df64a68499f0ec3
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/169222
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,kjlubick@google.com

Cq-Include-Trybots: skia.primary:Build-Debian9-Clang-arm-Release-Flutter_Android
Change-Id: I534346c3ef3561a871f1af6df976bfee0b48014a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/169640
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-11-08 14:26:52 +00:00
Mike Klein
5d58d09ae7 exclude RAW codec code from Google3 build
Disabling SK_CODEC_DECODES_RAW seems to have gone fine.

Change-Id: I81cefeb653d582872a4e25bba3d34c7ec1858db3
Reviewed-on: https://skia-review.googlesource.com/c/169680
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-11-08 14:13:18 +00:00
Mike Klein
34d7a163a4 Revert "simplify disabling effect deserialization"
This reverts commit 5bbf790b5b.

Reason for revert: flutter GN needs some love

Original change's description:
> simplify disabling effect deserialization
> 
> Switch to a simple #define instead of conditional build targets.
> 
> No one changes skia_enable_effects or skia_enable_effects_imagefilters,
> so we can merge all that together back into :skia.
> 
> Change-Id: I2985f95ee89149ddc687dc31f4c6bf35cb3a93c7
> Reviewed-on: https://skia-review.googlesource.com/c/169220
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,kjlubick@google.com

Change-Id: I3b818418d303dbc6d2a926a19df64a68499f0ec3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/169222
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-07 18:52:19 +00:00
Mike Klein
5bbf790b5b simplify disabling effect deserialization
Switch to a simple #define instead of conditional build targets.

No one changes skia_enable_effects or skia_enable_effects_imagefilters,
so we can merge all that together back into :skia.

Change-Id: I2985f95ee89149ddc687dc31f4c6bf35cb3a93c7
Reviewed-on: https://skia-review.googlesource.com/c/169220
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-07 18:20:23 +00:00
Mike Klein
b5c2cf84ca back out SK_CODEC_DECODES_RAW in Google3
This implies a pretty big code size dependency,
and I suspect we're not actually using it.

There can be some more BUILD-side cleanup after
this rolls in, I think, but this ought to be the
key to making everything else strippable dead code.

Change-Id: I30be8f4e8d83635eec80a16292200eeb9a43c778
Reviewed-on: https://skia-review.googlesource.com/c/169184
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2018-11-07 16:36:40 +00:00
Mike Klein
4991cd3441 move third_party/gif deps to codec_srcs
SkCodec is built as its own cc_library and is missing
these sources.  We've been getting away with it because
:skia is still built with alwayslink=1.

(After this CL, I think it need not be built with alwayslink=1
anymore.  We used to use SkTRegistry to hook in codecs, but
we only use that registration trick in tools now.)

Change-Id: I79dbfc0080a438ecf1ee00e532ff40cd6f45d5b3
Reviewed-on: https://skia-review.googlesource.com/c/169140
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-07 13:51:31 +00:00
Mike Reed
b435b6ce62 Revert "add flag for google3 build"
This reverts commit f9e3a13090.

Reason for revert: fix landed in google3 (I hope)

Original change's description:
> add flag for google3 build
> 
> Bug: skia:
> Change-Id: I5055404ea8790a847ed5b1003122301524fbdd3c
> Reviewed-on: https://skia-review.googlesource.com/c/165680
> Reviewed-by: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I1c1e150f78e270cbcb765d0a09869e577092fd42
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/165682
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-10-27 15:38:16 +00:00
Mike Reed
f9e3a13090 add flag for google3 build
Bug: skia:
Change-Id: I5055404ea8790a847ed5b1003122301524fbdd3c
Reviewed-on: https://skia-review.googlesource.com/c/165680
Reviewed-by: Mike Reed <reed@google.com>
2018-10-27 14:34:46 +00:00
Ben Wagner
ec8c660544 Fix Bazel formatting.
No-Try: true
Change-Id: I8790bf93d3cfb29991677494e9527d4cd62aeaa9
Reviewed-on: https://skia-review.googlesource.com/c/165304
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-10-26 16:36:26 +00:00