Commit Graph

3511 Commits

Author SHA1 Message Date
Ben Wagner
b5f2897ab5 IWYU for tests starting with 'D'.
Change-Id: I9189e4b56ce1635b627119733447c2ed4220753d
Reviewed-on: https://skia-review.googlesource.com/129319
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-05-21 19:34:48 +00:00
Cary Clark
4dc5a45405 remove defines and add commas
Preparation for generating bookmaker files for all remaining
interfaces

Standardize enum and enum classes by including a comma after
the last entry.

Replace flatten-related #define in public interfaces
with their equivalent.

The motivation is to give documentation something to refer to.

An alternative would be to move part or all of this out of the
public interface; something I can work on in a follow-up CL.

R=reed@google.com,bsalomon@google.com

Bug: skia:6898
Change-Id: I4b865f6ec3d8f5d31e50448fef7d2714510302f0
Reviewed-on: https://skia-review.googlesource.com/129312
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-05-21 17:33:39 +00:00
Cary Clark
32a4910e57 Revert "remove toString"
This reverts commit 5191880cbf.

Reason for revert: broke flutter

Original change's description:
> remove toString
> 
> toString may have been used by obsolete debugger only
> find out if that is so
> 
> R=​brianosman@google.com,bsalomon@google.com
> 
> Docs-Preview: https://skia.org/?cl=119894
> Bug:830651
> Change-Id: I737f19b7d3fbc869bea2f443fa3b5ed7c1393ffd
> Reviewed-on: https://skia-review.googlesource.com/119894
> Commit-Queue: Cary Clark <caryclark@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org

Change-Id: I9f81de6c3615ee0608bcea9081b77239b4b8816c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 830651
Reviewed-on: https://skia-review.googlesource.com/129340
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
2018-05-20 23:15:48 +00:00
Cary Clark
5191880cbf remove toString
toString may have been used by obsolete debugger only
find out if that is so

R=brianosman@google.com,bsalomon@google.com

Docs-Preview: https://skia.org/?cl=119894
Bug:830651
Change-Id: I737f19b7d3fbc869bea2f443fa3b5ed7c1393ffd
Reviewed-on: https://skia-review.googlesource.com/119894
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-05-20 21:16:37 +00:00
Brian Osman
78a764860b Add drawBitmapLattice to SkDebugCanvas
One more step to full coverage of SkCanvas API. (Also, it would be nice
to implement fromJSON for both lattice types, I'll attempt that in a
follow up CL).

Change-Id: I5fe55ca90b7859e40f5e8ec83bc12b7938674b60
Reviewed-on: https://skia-review.googlesource.com/129245
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-05-20 18:18:06 +00:00
Ravi Mistry
da17f1e7df Omit "espn" from key_mobile_sites_smooth in RecreateSKPs bot
We already have a espn page set in Skia. Removing it from the chromium page
set does not lose us coverage.

NoTry: true
Bug: skia:7917
Change-Id: Ie5456ee7f8053ad904eb858eddfe564e3781249a
Reviewed-on: https://skia-review.googlesource.com/129303
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2018-05-20 14:53:16 +00:00
Ben Wagner
255ab8d9a5 Make SkStream readers report failure.
This also fixes an issue noticed while making this change where
SkFontDescriptor improperly round trips negative axis values.

Change-Id: Iacc5929a185659dcacc18c802c4908e4f34c6899
Reviewed-on: https://skia-review.googlesource.com/128341
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2018-05-18 15:06:24 +00:00
Joe Gregorio
26171e8927 [skiaserver] Start loading html/css/js from https://debugger-assets.skia.org.
Also clean up quoting and fix a hard-coded URL to https://debugger.skia.org.

Bug: skia:
Change-Id: I31283f3769c81a138d82c03214f005c7fb82c5b2
Reviewed-on: https://skia-review.googlesource.com/129164
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2018-05-18 14:10:14 +00:00
Cary Clark
ffb3d688b0 Color Documentation
- treat Color, ARGB, etc as things not requiring definitions
- fix links to Anti-alias, RGB-565
- finish everything marked incomplete, color and elsewhere
- add #Code blocks for #Typedef

R=caryclark@google.com
Docs-Preview: https://skia.org/?cl=128547
Bug: skia:6898
Change-Id: Icf12fe70bc2bf1a8b1a5b31380b2454610949f23
Reviewed-on: https://skia-review.googlesource.com/128547
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-05-17 16:45:13 +00:00
Jim Van Verth
cbeae03cae Fix check for valid proxies returned by AtlasManager.
Also renames a lot of variables to make it clearer that getProxies()
returns the number of instantiated proxies, not the number of all
proxies.

Bug: skia:
Change-Id: Ifbc910cbd6635dccdb4e7f0df2e69a0f341130af
Reviewed-on: https://skia-review.googlesource.com/128660
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-05-16 19:28:32 +00:00
Ravi Mistry
02faa2b992 Fix capitalization of "twitter" in RecreateSKPs bot
Case has suddenly started to matter.

NoTry: true
Bug: skia:7917
Change-Id: I6020622bd12481a2ac291caf565632451a3c8da5
Reviewed-on: https://skia-review.googlesource.com/128480
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-05-16 15:01:54 +00:00
Cary Clark
682c58da48 Documentation refresh
- add links to types within methods
- add check to see that all references and definitions match
- add style to tables to make them easier to read
- use https everywhere
- remove trailing spaces
- move overview inside class
- split class and struct in summary tables
- add missing #Line
- clean up SkImageInfo constant documentation
- work on SkColor documentation
- allow common phrases to take different parameters
- add more flexibility to generated tables
- tighten token parent requirements
- generalize deprecated and example interfaces
- detect inner constructors

R=caryclark@google.com
Docs-Preview: https://skia.org/?cl=121799
Bug: skia:6898
Change-Id: Ia75a23740b80259460916890b310e2a9f024962a
Reviewed-on: https://skia-review.googlesource.com/121799
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-05-16 11:35:24 +00:00
Chris Dalton
6a0e54e479 Add a vknostencils config
Bug: skia:
Change-Id: Id4781799ba0b30b01a60788afc235fd6134516cf
Reviewed-on: https://skia-review.googlesource.com/128380
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-05-15 21:57:53 +00:00
Mike Reed
81f60ecd9c Allow slides/gms to extend the UI
Bug: skia:
Change-Id: Ia5971d827e6e05ab6cc30af3105b3b32ee691a34
Reviewed-on: https://skia-review.googlesource.com/128321
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-05-15 14:29:43 +00:00
Brian Salomon
c7fe0f708c Make GrCaps and GrShaderCaps private.
Moves getCaps() from GrContext to GrContextPriv and removes unused refCaps().

Change-Id: Ic6a8951b656c0d1b2773eae73bff8e88af819866
Reviewed-on: https://skia-review.googlesource.com/127389
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-05-11 14:47:27 +00:00
Ben Wagner
99a78dcb1a Add all SkPaint::Flags to Viewer app.
Originally a change to add just one more, turned into adding all of
them.

Change-Id: Ibd6b6cab75d5a018744661038cfccdb50470c234
Reviewed-on: https://skia-review.googlesource.com/127134
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-05-10 13:46:35 +00:00
Hal Canary
46cc3dabaf Revert "Revert "SkAdvancedTypefaceMetrics: factor out GlyphToUnicode""
This reverts commit 97c1108607.

Change-Id: Ic3c6addc64ced39766bbee3e10b4d88faf61ba2f
Reviewed-on: https://skia-review.googlesource.com/127021
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-05-09 18:00:35 +00:00
Greg Daniel
97c1108607 Revert "SkAdvancedTypefaceMetrics: factor out GlyphToUnicode"
This reverts commit 1c2bcd8b14.

Reason for revert: breaking chrome roll

Original change's description:
> SkAdvancedTypefaceMetrics: factor out GlyphToUnicode
> 
> Change-Id: Iedce8c1ea2c405d5ab64ccac353970d5cd2b9d63
> Reviewed-on: https://skia-review.googlesource.com/126507
> Commit-Queue: Hal Canary <halcanary@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

TBR=halcanary@google.com,bungeman@google.com,reed@google.com

Change-Id: Ib1ff8484ffd09cdb88d461ac00745aa32c191124
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/127000
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-05-09 15:36:06 +00:00
Hal Canary
1c2bcd8b14 SkAdvancedTypefaceMetrics: factor out GlyphToUnicode
Change-Id: Iedce8c1ea2c405d5ab64ccac353970d5cd2b9d63
Reviewed-on: https://skia-review.googlesource.com/126507
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-05-09 14:24:45 +00:00
Florin Malita
38792ce0f8 Add a single-file viewer option
Pass --file/-f to open a single file for viewing.

Change-Id: Ida168765ed6a5c7d76df1a8298bfe658d39d0196
Reviewed-on: https://skia-review.googlesource.com/126761
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-05-08 15:58:44 +00:00
Florin Malita
4e9e325725 [viewer] Avoid per-frame json UI updates
The reason we push Json updates for every frame is to support the
Android FPS meter - which happens to require the native FPS meter for
updates.

Instead of supporting two meters:

1) scale up the native FPS widget on Android (1.5x)

2) remove the Android widget

3) stop calling updateUIState() from onPaint()

Change-Id: Ica8109869035b2f885743a7e38b50688b69fa5e4
Reviewed-on: https://skia-review.googlesource.com/126621
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-05-07 21:30:27 +00:00
Ben Wagner
cb1393585e Allow finer rotation in Viewer app.
It turns out the ImGui sliders don't use the format string just for
display but also to modify the potential values. Change the format
string for rotation to three decimal places to match zoom.

Change-Id: I5f8d675a18687d67c2f19b03aa4c19c3ae094415
Reviewed-on: https://skia-review.googlesource.com/125960
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-05-04 19:09:08 +00:00
Florin Malita
87ccf33f15 [skottie] Disable on Android Framework builds
Make Skottie truly optional (own flag), and disable in framework builds
(to unblock landing the RapidJson refactoring).

Change-Id: I4611f915e43fe11c1f6754ab4a9f63e45af2f8d3
Reviewed-on: https://skia-review.googlesource.com/125872
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-05-04 18:36:03 +00:00
Brian Salomon
ec54539d39 Make RenderDoc work automatically with GLX viewer
Change-Id: I19769924882c2790cfc862373d6f26508b410eee
Reviewed-on: https://skia-review.googlesource.com/125871
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-05-04 16:27:13 +00:00
Brian Osman
de81a21f32 Remove colorspaceinfo
We prefer skcms iccdump, and colorspaceinfo was relying on
soon-to-be-deleted internals of SkColorSpace.

Bug: skia:
Change-Id: I06f6e0365f1f6840339aaf2fb02a7c5aab43b39d
Reviewed-on: https://skia-review.googlesource.com/125748
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-05-03 19:12:02 +00:00
Yuqian Li
737b9a9d48 Remove legacy guard flags
Bug: skia:
Change-Id: I3b526f2caec6766faea72cdc89550f50e17c71d2
Reviewed-on: https://skia-review.googlesource.com/125746
Reviewed-by: Cary Clark <caryclark@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2018-05-03 18:48:32 +00:00
Chris Dalton
3a67b8e46b Add support for building with MoltenVK
Bug: skia:
Change-Id: If55785d7fcc6e2c92c961ac390700add874c8d6d
Reviewed-on: https://skia-review.googlesource.com/125601
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-05-03 16:26:01 +00:00
Yuqian Li
9127ea3488 Add name field to calmbench json
This should let perf.skia.org get the "name" keyword instead of "test".

Bug: skia:7816
Change-Id: Icb2e9f7c6109a0cfb06499ee58f9fd0cc834e5c3
Reviewed-on: https://skia-review.googlesource.com/125540
Auto-Submit: Yuqian Li <liyuqian@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2018-05-03 15:18:02 +00:00
Ben Wagner
20fa1e94a0 Update SkRandomScalerContext to handle mask filters.
SkRandomScalarContext would apply all path and mask filters twice, once
on the proxy and once to itself.

This also changes the SkScalerContext mask generation in anticipation of
removing the mask format overrides.

This also changes the textblobrandomfont test to fix the line spacing
and emoji handling.

Change-Id: Ib2a633d49ccb801a1849dd982185f44c1d2ea85f
Reviewed-on: https://skia-review.googlesource.com/124644
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2018-05-03 01:00:08 +00:00
Brian Osman
805a727d26 Add toggle for 'real' vs. 'fake' perspective in Viewer
Real perspective draws content with perspective applied. Fake
perspective rasterizes in ortho, then stretches the image by the
perspective matrix.

Change-Id: I738cd379f9a58b965469ef8a57fb2dfd597fda10
Reviewed-on: https://skia-review.googlesource.com/125442
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-05-02 20:09:38 +00:00
Khushal
38a0843688 fonts: Reland push font remoting.
This relands the following changes:
1) https://skia-review.googlesource.com/c/skia/+/120283
2) https://skia-review.googlesource.com/c/skia/+/125029
3) https://skia-review.googlesource.com/c/skia/+/125140

The original changes had to be reverted due to a memory leak in
SkBaseDevice from SkTextBlobCacheDiffCanvas. This has been addressed by
https://skia-review.googlesource.com/c/skia/+/125160

TBR=herb@google.com

Bug: skia:7515, 831354
Change-Id: I73f4fcb1c397f31bf01553ff48c71ed2d6dd0770
Reviewed-on: https://skia-review.googlesource.com/125326
Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
Reviewed-by: Khusal Sagar <khushalsagar@chromium.org>
2018-05-02 18:39:31 +00:00
Herb Derby
fcac00f2f1 Reland "Remove devKerning"
This is a reland of c86c5c0144

Original change's description:
> Remove devKerning
> 
> Dev kerning is not supported by any scalers. This is
> mostly removed. The remaining fields fRsbDelta and
> fLsbDelta are kept to keep Android compiling.
> 
> Change-Id: If1a9ee9bb599d4e1bdf4b3751ac0c65246350809
> Reviewed-on: https://skia-review.googlesource.com/124921
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

Change-Id: Ibf5fac5f1442c7e62392d5146ad460da27b10d5c
Reviewed-on: https://skia-review.googlesource.com/125300
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-05-02 15:15:08 +00:00
Herb Derby
efe39bcfb8 Take sk_sp<SkDevice> instead of SkDevice*
Change-Id: I0b296bf5b80adc19758a3dc99160be9d2ed05680
Reviewed-on: https://skia-review.googlesource.com/125160
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Herb Derby <herb@google.com>
2018-05-02 14:46:17 +00:00
Mike Klein
8a232023e1 Revert "fonts: Set up remote glyph caching to push fonts."
This reverts commit 101d56359a.

Reason for revert: 5 of 5

Original change's description:
> fonts: Set up remote glyph caching to push fonts.
> 
> Currently the SkStrikeClient is designed to pull fonts from the server
> on demand, and to pre-fetch a batched request by analyzing the ops using
> a SkTextBlobCacheDiffCanvas. This change modifies the design to support
> a push based model, where the server pushes fonts required by the client
> and sets up the requisite SkGlyphCaches on the client prior to
> rasterizing the ops.
> 
> This model still relies on the SkTextBlobCacheDiffCanvas for analyzing
> the glyphs required for rasterizing an op. The glyph caches required for
> raster are locked and missing glyphs to be sent to the client are tracked
> by the SkStrikeServer. The embedder can serialize this font data at any
> point, but must ensure that this data is deserialized by the
> SkStrikeClient at the remote end, before rasterizing any ops analyzed
> prior to serialization. Any refs on the caches are released once the
> font data is serialized by the server.
> 
> The locking of glyph caches relies on the embedder providing discardable
> handles. These handles can be created on the server and serialized to be
> sent to the client, and map to an instance of SkGlyphCache. This allows
> the server to control the lifetime of the caches on the client.
> 
> Bug: skia:7515
> Change-Id: Id39f346b47b60899778404bbd0429ee811d0e53b
> Reviewed-on: https://skia-review.googlesource.com/120283
> Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
> Reviewed-by: Herb Derby <herb@google.com>

TBR=mtklein@google.com,herb@google.com,khushalsagar@chromium.org

Change-Id: If72caf968ddcbf70b8b9d71782a2339a118ed202
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7515
Reviewed-on: https://skia-review.googlesource.com/125264
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-05-02 13:55:08 +00:00
Mike Klein
c76e26a6bb Revert "Remove devKerning"
This reverts commit c86c5c0144.

Reason for revert: 4 of 5

Original change's description:
> Remove devKerning
> 
> Dev kerning is not supported by any scalers. This is
> mostly removed. The remaining fields fRsbDelta and
> fLsbDelta are kept to keep Android compiling.
> 
> Change-Id: If1a9ee9bb599d4e1bdf4b3751ac0c65246350809
> Reviewed-on: https://skia-review.googlesource.com/124921
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=bungeman@google.com,herb@google.com,reed@google.com

Change-Id: If865f702868192a1b72cd811baa996dd1282bbce
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/125263
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-05-02 13:54:54 +00:00
Herb Derby
c86c5c0144 Remove devKerning
Dev kerning is not supported by any scalers. This is
mostly removed. The remaining fields fRsbDelta and
fLsbDelta are kept to keep Android compiling.

Change-Id: If1a9ee9bb599d4e1bdf4b3751ac0c65246350809
Reviewed-on: https://skia-review.googlesource.com/124921
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-05-01 21:12:15 +00:00
Khushal
101d56359a fonts: Set up remote glyph caching to push fonts.
Currently the SkStrikeClient is designed to pull fonts from the server
on demand, and to pre-fetch a batched request by analyzing the ops using
a SkTextBlobCacheDiffCanvas. This change modifies the design to support
a push based model, where the server pushes fonts required by the client
and sets up the requisite SkGlyphCaches on the client prior to
rasterizing the ops.

This model still relies on the SkTextBlobCacheDiffCanvas for analyzing
the glyphs required for rasterizing an op. The glyph caches required for
raster are locked and missing glyphs to be sent to the client are tracked
by the SkStrikeServer. The embedder can serialize this font data at any
point, but must ensure that this data is deserialized by the
SkStrikeClient at the remote end, before rasterizing any ops analyzed
prior to serialization. Any refs on the caches are released once the
font data is serialized by the server.

The locking of glyph caches relies on the embedder providing discardable
handles. These handles can be created on the server and serialized to be
sent to the client, and map to an instance of SkGlyphCache. This allows
the server to control the lifetime of the caches on the client.

Bug: skia:7515
Change-Id: Id39f346b47b60899778404bbd0429ee811d0e53b
Reviewed-on: https://skia-review.googlesource.com/120283
Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
2018-05-01 18:15:15 +00:00
Chris Dalton
117d9729c1 skpbench: Add support for Pixel 2
Bug: skia:
Change-Id: Ic0901ca84bf8e3fda29b3bd7a0504396445ca0f4
Reviewed-on: https://skia-review.googlesource.com/124282
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-04-30 15:29:13 +00:00
Florin Malita
6eb85a1cf1 [skottie] Show load stats in SkottieSlide
TBR=
Change-Id: Ie3a1036d9a90cb16d2795134c453759aeff06e3c
Reviewed-on: https://skia-review.googlesource.com/124461
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-04-30 15:19:03 +00:00
Yuqian Li
58b90f7f17 Raise exceptions from child threads to the main thread
Bug: skia:7883
Change-Id: Ia71550b94867588c124e93eac347c67e35aa48e8
Reviewed-on: https://skia-review.googlesource.com/124380
Auto-Submit: Yuqian Li <liyuqian@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-04-30 11:42:09 +00:00
Brian Osman
bdaf97bdb8 Rotate about the slide center, and before perspective
This causes rotation to happen in the perspective plane, which is
more (?) interesting/useful.

Change-Id: If57a81de6662591be67cb68f0278f71038ac8d40
Reviewed-on: https://skia-review.googlesource.com/124160
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-04-26 20:52:43 +00:00
Brian Osman
9bb47cf0ff Add perspective support (rect to rect) to Viewer
Change-Id: I312d5b3e6b7f37a3a7bfd5561bcdb31b43e207b8
Reviewed-on: https://skia-review.googlesource.com/123934
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
2018-04-26 20:21:23 +00:00
Cary Clark
d98f78cd01 alternative no anonymous enums
Anonymous enums play havoc with documentation;
there's no name to refer to. It may be that all
enums may either be named or replaced with constexpr
without breaking anything. Try replacing all
anonymous enums in include/core to see what happens.

This names SkCanvas::SaveLayerFlagsSet but leaves
SkCanvas::SaveLayerFlags as a uint32_t, to reduce
risk as compared to review.skia.org/123584.

There's also some chance that external linkage will
break if some client refers to anonymous enum in a way
that could require its address: see
https://stackoverflow.com/questions/22867654/enum-vs-constexpr-for-actual-static-constants-inside-classes
(This CL does not require definitions + declarations)

Brought bookmaker docs in line with this change.
This also tripped over missing code in bookmaker
handling constexpr so added that as well.

R=reed@google.com,bsalomon@google.com

Docs-Preview: https://skia.org/?cl=123920
Docs-Preview: https://skia.org/?cl=123584
Bug: skia:6898
Change-Id: I14a342edcfd59e139ef9e4501f562417c4c60391
Reviewed-on: https://skia-review.googlesource.com/123920
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-04-26 17:11:53 +00:00
Chris Dalton
218c29453f Remove the MSAA path renderer
Bug: skia:
Change-Id: Ib18bede613c8d27fd6326f655dc2d638e35870ff
Reviewed-on: https://skia-review.googlesource.com/123726
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-04-25 19:59:59 +00:00
Adrienne Walker
6f719aeeae Add CheckGeneratedFiles recipe check for gpu workarounds
Followup to https://skia-review.googlesource.com/122800

Bug: chromium: 829614
Change-Id: Idde753e0f8943290208625ba5b6332a5fdc07184
Reviewed-on: https://skia-review.googlesource.com/123536
Commit-Queue: Adrienne Walker <enne@chromium.org>
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Adrienne Walker <enne@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
2018-04-25 19:26:27 +00:00
Hal Canary
fd9bcabca1 sk_tools/Resources: optional SK_TOOLS_REQUIRE_RESOURCES flag
BUG=skia:7842
Change-Id: I1ce7d12308cd8ee101163d73dfc79f2d2155c632
Reviewed-on: https://skia-review.googlesource.com/123425
Auto-Submit: Hal Canary <halcanary@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-04-24 18:08:06 +00:00
Ben Wagner
d02a74d649 Add Transform section to viewer tools window.
This adds sliders for Zoom and Rotate.

Change-Id: Ie568e5381d76bd5a457760e2d6224e42e64c7f16
Reviewed-on: https://skia-review.googlesource.com/123027
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-04-23 17:21:30 +00:00
Ben Wagner
7a3c6748f3 Backspace opens slide picker (not paint) in viewer.
A recent change added the "Paint" section to the viewer tools window. The
code around forcing the slide picker open when the backspace key was
pressed was inadvertantly separated from the slide picker section, so
now the paint section is confusingly held open instead. This changes the
logic so that the slide picker is once again the target of backspace.

Change-Id: Ibfcb78bb0a1e2bdbb2ccce54b38e8206e0303753
Reviewed-on: https://skia-review.googlesource.com/122949
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-04-23 14:57:00 +00:00
Adrienne Walker
1df7cd8712 Reland "Add stub gpu workaround generators"
This is a reland of 94d25b970b

Original change's description:
> Add stub gpu workaround generators
> 
> Like https://chromium-review.googlesource.com/c/chromium/src/+/1005362,
> this patch adds a way for Chrome and Skia to share a set of driver
> workaround names so that they can be turned on by Chrome (or Skia) as
> needed.
> 
> To avoid weird cross-repository dependencies, the generator script is
> duplicated in Skia.
> 
> This patch just adds a few dummy workaround names to make sure the build
> process is working.  The followup to this is to add workaround init
> to GrContext/GrContextOptions and to start implementing individual
> workarounds.
> 
> Implementing these workarounds is to support Chrome's "out of process
> raster" which will use Ganesh without a command buffer, and so will not
> have the workarounds that the command buffer provides.
> 
> Bug: chromium:829614
> Change-Id: I40745a777a95805995991fedb81657ae418b52d9
> Reviewed-on: https://skia-review.googlesource.com/120608
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Adrienne Walker <enne@chromium.org>

Bug: chromium:829614
Change-Id: Idb3309ffa894f7585ee493388b56565e9d4a3101
Reviewed-on: https://skia-review.googlesource.com/122800
Auto-Submit: Adrienne Walker <enne@chromium.org>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-04-20 17:50:45 +00:00
Ben Wagner
7464a262a2 Add more angle_gl_* configs for NVIDIA.
Bug: skia:7823
Change-Id: I9fbf0875696661ca87b37cf8949bd5f0b48b314d
Reviewed-on: https://skia-review.googlesource.com/122600
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-04-19 21:32:34 +00:00
Brian Osman
fb9f39a98a Remove duplicate predefined configs
Change-Id: I065bb1c20a6a246a2864b394f025fc12614c6a18
Reviewed-on: https://skia-review.googlesource.com/122543
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-04-19 20:47:04 +00:00
Ben Wagner
4b5e4b3f93 Remove unused parameters from internalGetPath.
The fillPath and fillToDevMatrix parameters to
SkScalerContext::internalGetPath are never used. Remove them.

Change-Id: I4fda9b3a24232924e9f94be4abcf8ac10ac7901c
Reviewed-on: https://skia-review.googlesource.com/122360
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-04-19 15:24:04 +00:00
Greg Daniel
57bf4a3dbf When creating testing backendTexture take colorspace into account.
Bug: skia:
Change-Id: Ifa8dbad3eca81790648476f9a6d3fa5a088fede9
Reviewed-on: https://skia-review.googlesource.com/122341
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-04-19 15:02:34 +00:00
Leon Scroggins
2ae45ae83a Revert "Add stub gpu workaround generators"
This reverts commit 94d25b970b.

Reason for revert: Breaking the Chromium roll

Original change's description:
> Add stub gpu workaround generators
> 
> Like https://chromium-review.googlesource.com/c/chromium/src/+/1005362,
> this patch adds a way for Chrome and Skia to share a set of driver
> workaround names so that they can be turned on by Chrome (or Skia) as
> needed.
> 
> To avoid weird cross-repository dependencies, the generator script is
> duplicated in Skia.
> 
> This patch just adds a few dummy workaround names to make sure the build
> process is working.  The followup to this is to add workaround init
> to GrContext/GrContextOptions and to start implementing individual
> workarounds.
> 
> Implementing these workarounds is to support Chrome's "out of process
> raster" which will use Ganesh without a command buffer, and so will not
> have the workarounds that the command buffer provides.
> 
> Bug: chromium:829614
> Change-Id: I40745a777a95805995991fedb81657ae418b52d9
> Reviewed-on: https://skia-review.googlesource.com/120608
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Adrienne Walker <enne@chromium.org>

TBR=bsalomon@google.com,enne@chromium.org

Change-Id: Ie0b69d7d028dabca1fd70813b6920386c8838247
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:829614
Reviewed-on: https://skia-review.googlesource.com/122240
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-04-19 12:25:14 +00:00
Adrienne Walker
94d25b970b Add stub gpu workaround generators
Like https://chromium-review.googlesource.com/c/chromium/src/+/1005362,
this patch adds a way for Chrome and Skia to share a set of driver
workaround names so that they can be turned on by Chrome (or Skia) as
needed.

To avoid weird cross-repository dependencies, the generator script is
duplicated in Skia.

This patch just adds a few dummy workaround names to make sure the build
process is working.  The followup to this is to add workaround init
to GrContext/GrContextOptions and to start implementing individual
workarounds.

Implementing these workarounds is to support Chrome's "out of process
raster" which will use Ganesh without a command buffer, and so will not
have the workarounds that the command buffer provides.

Bug: chromium:829614
Change-Id: I40745a777a95805995991fedb81657ae418b52d9
Reviewed-on: https://skia-review.googlesource.com/120608
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Adrienne Walker <enne@chromium.org>
2018-04-18 23:10:33 +00:00
Hal Canary
64f75eecdd SkQP: speed up tools/skqp/make_apk_list\
NoTry: true
Change-Id: I94852a9375329a6c9df269004b89efb48d2e4691
Reviewed-on: https://skia-review.googlesource.com/122083
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-04-18 19:39:44 +00:00
Ben Wagner
a580fb3f9e Add paint flags to viewer GUI.
Overriding bits of the paint was added with keyboard bindings but
without being reflected in the GUI. This adds these flags to the GUI.

Change-Id: I633801fb776248952afe7cbe8857676ef8b57135
Reviewed-on: https://skia-review.googlesource.com/121796
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-04-17 16:10:14 +00:00
Ben Wagner
37c5403890 Add pixel geometry and dft selection to viewer app.
Change-Id: I2fea84793383c44b102fa97b23f59235ef302ff9
Reviewed-on: https://skia-review.googlesource.com/121581
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2018-04-16 22:46:50 +00:00
Cary Clark
2d4bf5f288 document SkColor.h
SkColor.h uses #define liberally, and has many global symbols,
two things bookmaker hasn't seen in other includes.

Revised .h -> .bmh converter to work with SkColor.h as well
as updating how .bmh indices are built.

Generated SkColor_Reference.bmh for globals, and
SkColor4f_Reference.bmh for class.

Other than the existing comments, this doesn't update the
documentation or add new examples.

Docs-Preview: https://skia.org/?cl=118985
TBR=caryclark@google.com
Bug: skia:6898
Change-Id: I5978257ee0e51319823efbe8dfc467a08c99ffe0
Reviewed-on: https://skia-review.googlesource.com/118985
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-04-16 16:26:20 +00:00
Herb Derby
209a5f3bea Remove all notion of transport from the API - V2.
There is only a need to pass buffers in and out of the system.
All transport is external to the system.

BUG=skia:7515

Change-Id: Ie50cbc3fa1b9776e56dab8e49e91ce640e0b3954
Reviewed-on: https://skia-review.googlesource.com/119893
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-04-16 15:58:40 +00:00
Derek Sollenberger
6aab2ab762 Include shadow ops in the debugger.
Bug: skia:7803
Change-Id: Ic4441e696a56b898e5095f747ab1b9a9c0e0f858
Reviewed-on: https://skia-review.googlesource.com/121100
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2018-04-12 17:21:10 +00:00
Robert Phillips
ba375a8884 Add SK_SUPPORT_LEGACY_BACKEND_OBJECTS
This relies on the Chrome CL: https://chromium-review.googlesource.com/c/chromium/src/+/999796 (Add SK_SUPPORT_LEGACY_BACKEND_OBJECTS to SkUserConfig.h) landing first.

Change-Id: Ie0a2b7b84cc02e46957765a0a7d6444a5320769d
Reviewed-on: https://skia-review.googlesource.com/119140
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-04-12 14:56:10 +00:00
Mike Reed
1f275851ec remove unused/dumb methods from SkRect
Bug: skia:
Change-Id: I407dc94256a347c7a9343b75a5af43c4294891d3
Reviewed-on: https://skia-review.googlesource.com/119360
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
2018-04-11 19:40:57 +00:00
Brian Osman
255735e53b Remove code that was only used by the old debugger
Change-Id: I1035d9fa5f9888f3b6c332b16a0bde69f357a4a8
Reviewed-on: https://skia-review.googlesource.com/119144
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-04-09 13:30:54 +00:00
Herb Derby
4473907dee Revert "Remove all notion of transport from the API."
This reverts commit 4961a93858.

Reason for revert: Breaks MSVC

Original change's description:
> Remove all notion of transport from the API.
> 
> There is only a need to pass buffers in and out of the system.
> All transport is external to the system.
> 
> Change-Id: I26dfc8e0b4cce9969395c96d5230078e7dca3f3d
> Reviewed-on: https://skia-review.googlesource.com/119062
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Khushal Sagar <khushalsagar@google.com>

TBR=herb@google.com,reed@google.com,khushalsagar@google.com

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

Change-Id: I62cbac1be4483702ba7464822d93fb9f818f88b7
Reviewed-on: https://skia-review.googlesource.com/119580
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-04-08 04:29:01 +00:00
Herb Derby
4961a93858 Remove all notion of transport from the API.
There is only a need to pass buffers in and out of the system.
All transport is external to the system.

Change-Id: I26dfc8e0b4cce9969395c96d5230078e7dca3f3d
Reviewed-on: https://skia-review.googlesource.com/119062
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Khushal Sagar <khushalsagar@google.com>
2018-04-06 18:18:34 +00:00
Cary Clark
99885411ae remove SK_IGNORE_TO_STRING
SK_IGNORE_TO_STRING is not defined anywhere.
The same effect can be had by using a modern
linker.

Removing it simplifies bookmaker and makes
our includes easier to understand.

R=robertphillips@google.com
TBR=reed@google.com

Bug: skia:6898
Change-Id: Ib716f5ef1b42a7fbda0df43ece212d1b7c40289f
Reviewed-on: https://skia-review.googlesource.com/118963
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-04-05 23:52:23 +00:00
Ben Wagner
5ddb308625 Distinguish between glyphs with empty path and no path.
BUG=skia:4904

Change-Id: I065e3b4d8596b415ddaf094d7f9a4b65da64d4d4
Reviewed-on: https://skia-review.googlesource.com/117280
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2018-04-05 22:37:33 +00:00
Florin Malita
6127c4c660 Clip SlideDir slides to their declared dimensions
(to avoid spilling cell content)

TBR=
Change-Id: I7bbbbf004d35faab5f264d9914bcd24d2bb8eaeb
Reviewed-on: https://skia-review.googlesource.com/118984
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-04-05 19:47:48 +00:00
Florin Malita
0ffa322ecd [viewer] Consolidate external slide loading
Handle all external slides (.skp, .jpg, .json, .svg) consistently:

  * support both single-file/directory flags
  * add "directory" slides for all types

Change-Id: I4881c51f597ed4cb2a5b4c61706a168c754a5a8f
Reviewed-on: https://skia-review.googlesource.com/119020
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-04-05 19:05:28 +00:00
Florin Malita
c659c2c30d Viewer SVG support
Change-Id: I93ee61271ebe960063bec16ba472b3fd243ee149
Reviewed-on: https://skia-review.googlesource.com/118885
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-04-05 16:34:22 +00:00
Herb Derby
46117c83d2 Clean up buffering and serializatoin.
BUG=skia:7515

Change-Id: Id580e8f464c6263fa32a5d6347f505b00bba29d7
Reviewed-on: https://skia-review.googlesource.com/118460
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-04-04 00:53:01 +00:00
Cary Clark
a4f581a475 fix global method indentation
Check to see if a method is inside a struct or class
before increasing its indentation. Also, add missing
description.

Docs-Preview: https://skia.org/?cl=118381
Bug: skia:6898
Change-Id: I9402442a89dafc96d87bf69f157dcfa40cdf6e2b
Reviewed-on: https://skia-review.googlesource.com/118381
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-04-03 20:02:25 +00:00
Cary Clark
186d08f621 fix bugs exposed by documenting SkImageInfo
- More rigorous symbol identification creates additional
links, and finds spurious errors like unnecessary
parentheses.

- Fixed code to allow preprocessor directives in
#Code blocks (still more to do).

- Fixed examples waiting on fiddle updates.

- Make SkImageInfo officially documented (update in status.json).

- Fixed enum indentation.



Docs-Preview: https://skia.org/?cl=115656
Bug: skia:6898
Change-Id: Ifcf5cfd3f6c03b3b83155c898b2b035a2f3d443c
Reviewed-on: https://skia-review.googlesource.com/115656
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-04-03 16:09:56 +00:00
Ben Wagner
2de1eda3d2 SkScalerContext::getMetrics to not request metrics it will ignore.
Before this change SkScalerContext::getMetrics always calls
generateMetrics to force the subclass to create full metrics. However,
if the SkScalerContext is going to draw from outlines then there is no
reason to do so since it is immediately going to overwrite those metrics
by computing its own from the path. This also puts off other decisions
being made based on the glyph metrics until after the metrics are fully
computed.

The logic in SkScalerContext::getImage is updated to be similar to the
logic in the new SkScalerContext::getMetrics.

Change-Id: I1798c9244277fab85595fb39fc3a85ef7eb33620
Reviewed-on: https://skia-review.googlesource.com/117085
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-04-02 20:54:52 +00:00
Derek Sollenberger
d39622210f Add multilib support as the default build option for libskqp
Change-Id: I98e7315f402bf9ff8fd11e990497e17fa0c0dc7a
Reviewed-on: https://skia-review.googlesource.com/117636
Reviewed-by: Hal Canary <halcanary@google.com>
2018-04-02 17:46:52 +00:00
Yuqian Li
755778cda0 Update trans limit after zoom changes in viewer
Previously, the trans limit assumes that only touch gesture can
change the zoom level. That's not true on desktops so we need this
fix. Otherwise, we won't be able to translate when we zoomed in.

Bug: skia:
Change-Id: I5901600a0044639a47514ab76b7e1914f04137a2
Reviewed-on: https://skia-review.googlesource.com/116987
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2018-03-28 20:51:44 +00:00
Ben Wagner
97182cc8f6 Add color fonts.
BUG=skia:7624

Change-Id: I68a6bb4c6fa541ffad565d970438d93ff1bd8ed6
Reviewed-on: https://skia-review.googlesource.com/109521
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-on: https://skia-review.googlesource.com/116541
Reviewed-on: https://skia-review.googlesource.com/116984
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-03-28 20:14:44 +00:00
Ben Wagner
aa5da735fa Check that paint is not null in OveridePaintFilterCanvas.
SkCanvas::drawPicture may provide nullptr for a paint.

BUG=skia:7756

Change-Id: I46651f7e8f0d859a7e75206d93ed1f3b3c0a4bac
Reviewed-on: https://skia-review.googlesource.com/116902
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-03-28 18:02:24 +00:00
Robert Phillips
e47f0a0f16 Remove old method of drawing DDL SKPs from DM (in favor of ViaDDL method)
Change-Id: I6bb270d9df1c76b9d2e384abde603cdda91c9bb6
Reviewed-on: https://skia-review.googlesource.com/116550
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-03-28 17:21:24 +00:00
Herb Derby
39e45df22d Various cleanup to remote_demo
Integrate SkRemoteGlyphCacheRenderer into SkStrikeServer
Add a Timer.
Remove unused code.

BUG=skia:7515

Change-Id: Idffb477af71cbcc4035df190e29e8910b61aa6e5
Reviewed-on: https://skia-review.googlesource.com/116485
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-03-27 21:51:44 +00:00
Ben Wagner
3560b58de3 Revert "Add color fonts."
This reverts commit d3b933f3e0.

Reason for revert: we're not mirroring experimental/ everywhere.

Original change's description:
> Add color fonts.
> 
> BUG=skia:7624
> 
> Change-Id: I1d0974282adce2fd7b13a003309e63593b6e1a9c
> Reviewed-on: https://skia-review.googlesource.com/109521
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>
> Reviewed-by: Herb Derby <herb@google.com>
> Reviewed-on: https://skia-review.googlesource.com/116541

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

Change-Id: Ic2d763244cbce663a23eb53321ac45201c466501
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7624
Reviewed-on: https://skia-review.googlesource.com/116680
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-03-27 18:16:04 +00:00
Ben Wagner
d3b933f3e0 Add color fonts.
BUG=skia:7624

Change-Id: I1d0974282adce2fd7b13a003309e63593b6e1a9c
Reviewed-on: https://skia-review.googlesource.com/109521
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-on: https://skia-review.googlesource.com/116541
2018-03-27 16:49:14 +00:00
Robert Phillips
33f02edb14 Switch DDL rendering to be a Via in DM (take 2)
This will let us also render the GMs via DDLs.

TBR=mtklein@google.com
Change-Id: If7c2460d964822a6decc33cf5e8e685e67923127
Reviewed-on: https://skia-review.googlesource.com/116463
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-03-27 12:37:44 +00:00
Herb Derby
97be88f58a Move cache difference code into remote cache files
BUG=skia:7515

Change-Id: I59e75d460b4ed4d0a737c833520b2335808a4ce4
Reviewed-on: https://skia-review.googlesource.com/115706
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-03-26 21:28:04 +00:00
Robert Phillips
f14e833392 Revert "Switch DDL rendering to be a Via in DM"
This reverts commit bd2e2a0caf.

Reason for revert: 

Build-Debian9-Clang-x86_64-Debug-MSAN

In file included from ../../../dm/DMSrcSink.cpp:8:
../../../dm/DMSrcSink.h:548:15: error: private field 'fNumDivisions' is not used [-Werror,-Wunused-private-field]
    const int fNumDivisions;

Original change's description:
> Switch DDL rendering to be a Via in DM
> 
> This will let us also render the GMs via DDLs.
> 
> Change-Id: I866a5af66d737473f4760dbc9d45053460c42e6e
> Reviewed-on: https://skia-review.googlesource.com/116021
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>

TBR=egdaniel@google.com,mtklein@google.com,robertphillips@google.com

Change-Id: Ice07c25ab29c57b2efb193c03e5504a2ae1a0743
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/116560
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-03-26 20:58:14 +00:00
Robert Phillips
bd2e2a0caf Switch DDL rendering to be a Via in DM
This will let us also render the GMs via DDLs.

Change-Id: I866a5af66d737473f4760dbc9d45053460c42e6e
Reviewed-on: https://skia-review.googlesource.com/116021
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-03-26 20:30:33 +00:00
Brian Salomon
032aaae5be Remove legacy GrContext factories function and supporting code/types.
Change-Id: I437a4a0a58bf70ea1b8b0659b099a2af2bfa64fe
Reviewed-on: https://skia-review.googlesource.com/116197
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-03-23 21:12:50 +00:00
Hal Canary
22e6e21e7c Reland "CreatePlatformGLTestContext_egl: Try GLES 3, then GLES 2."
This is a reland of 0593a840b1

New functionality (which doesn't work everywhere) is behind a flag:
GR_EGL_TRY_GLES3_THEN_GLES2.

Original change's description:
> CreatePlatformGLTestContext_egl:  Try GLES 3, then GLES 2.
>
> Also cleanup.
>
> Change-Id: I186a7d7f509bc7852241c083414495b6182b916c
> Reviewed-on: https://skia-review.googlesource.com/115922
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>

Change-Id: I362079dee9c74f1a2c31d935bcb821201a413923
Reviewed-on: https://skia-review.googlesource.com/116143
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-03-23 19:21:20 +00:00
Hal Canary
d4dac9cfd1 Revert "CreatePlatformGLTestContext_egl: Try GLES 3, then GLES 2."
This reverts commit 0593a840b1.

Reason for revert: Fails with Nexus7-GPU-Tegra3-arm

Original change's description:
> CreatePlatformGLTestContext_egl:  Try GLES 3, then GLES 2.
> 
> Also cleanup.
> 
> Change-Id: I186a7d7f509bc7852241c083414495b6182b916c
> Reviewed-on: https://skia-review.googlesource.com/115922
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>

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

Change-Id: I5f276a89d1b880212861986b5385e567ac884c62
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/116142
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-03-23 14:40:31 +00:00
Jim Van Verth
af78a94217 Revert "Add color fonts."
This reverts commit c912d6133c.

Reason for revert: Causing TSAN issues.

Original change's description:
> Add color fonts.
> 
> BUG=skia:7624
> 
> Change-Id: Id2b7449048591892ff802484d5e3745a7e1402bb
> Reviewed-on: https://skia-review.googlesource.com/109521
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>
> Reviewed-by: Herb Derby <herb@google.com>

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

Change-Id: I2ccd1f00e91bb92b7059323c95da0dd3de954164
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7624
Reviewed-on: https://skia-review.googlesource.com/116141
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-03-23 14:39:51 +00:00
Ben Wagner
c912d6133c Add color fonts.
BUG=skia:7624

Change-Id: Id2b7449048591892ff802484d5e3745a7e1402bb
Reviewed-on: https://skia-review.googlesource.com/109521
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2018-03-22 20:55:05 +00:00
Hal Canary
0f66681ff1 BUILD: build when !skia_use_expat
Change-Id: I17a695c64be0e2081ad4937b23038b7ce88ae293
Reviewed-on: https://skia-review.googlesource.com/115988
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-03-22 20:28:45 +00:00
Hal Canary
0593a840b1 CreatePlatformGLTestContext_egl: Try GLES 3, then GLES 2.
Also cleanup.

Change-Id: I186a7d7f509bc7852241c083414495b6182b916c
Reviewed-on: https://skia-review.googlesource.com/115922
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-03-22 19:20:25 +00:00
Brian Salomon
5fba7ad39a Support GL_RGB textures and render targets.
Bug= skia:7533

Change-Id: Iba30e90dbf2574368b773bb5cf2ebd5219559717
Reviewed-on: https://skia-review.googlesource.com/108188
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-03-22 14:49:44 +00:00
Derek Sollenberger
ea4aa7e7ec Update Android build file for SkQP to point to ndk compliant libjsoncpp
Bug: b/74442448
Change-Id: If5e0e349cdb13352d580e55b0af26c908cc80003
Reviewed-on: https://skia-review.googlesource.com/115605
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2018-03-21 17:54:38 +00:00
Joe Gregorio
7e86547842 [lottiecap] Fix timestamp calculation to exactly match skottie in DM.
Also use the much faster goToAndStop() call.

Bug: skia:
Change-Id: I22b8ac2b3d2fd70da4b396cb6b4ad50485a6f408
Reviewed-on: https://skia-review.googlesource.com/115324
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2018-03-20 21:02:57 +00:00
Cary Clark
06c20f356d more SkImageInfo docs
fix a couple of fiddles with changed output
rewrite some SkSurface image makers
move towards replacing SkImageInfo.h

R=caryclark@google.com

Docs-Preview: https://skia.org/?cl=115163
Bug: skia:6898
Change-Id: Id9895b051cd457336c30250a69cf95359d1d34d7
Reviewed-on: https://skia-review.googlesource.com/115163
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-03-20 20:20:20 +00:00
Herb Derby
aeb425dbf1 Regularize SkGlyphCache creation.
This allows no need for downcasting for specialized use
of SkScalerContext for the remote case. This allows
cache priming to be used in a single process.

BUG=skia:7515

Change-Id: I963a50e36af9deef5a3414fc8a4c94ccfc38deaf
Reviewed-on: https://skia-review.googlesource.com/115121
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-03-20 19:11:31 +00:00
Hal Canary
b0ca84f3a8 SkQP/Docs: fix missing step in README
NoTry: true
Change-Id: Id97b0677ea203fdf542e42957a38feb84db08b4c
Reviewed-on: https://skia-review.googlesource.com/115365
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-03-20 19:10:51 +00:00
Joe Gregorio
0060c3394c [lottiecap] Moved over from buildbot repo.
Command line application to build a 5x5 filmstrip
from a Lottie file in Chrome headless and then export
that filmstrip in a 1000x1000 PNG.

Bug: skia:
Change-Id: I38decac363f2d592fddc28b3f4ca9450c5851ac6
Reviewed-on: https://skia-review.googlesource.com/115100
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-03-20 13:25:23 +00:00
Kevin Lubick
a3ecaf5fcf [skpbench] Use android's perf settings for Pixel C
These are a bit more conservative, but will hopefully come with improved
stability like https://skia-review.googlesource.com/c/skia/+/111740 did.

If this works, we can push the envelope by using the slightly
more aggressive settings found at
https://android.googlesource.com/platform/platform_testing/+/master/scripts/perf-setup/dragon-setup.sh

Bug: skia:7238
Change-Id: Ia0e24c7fc9bcc2fd44dcd0a57dde481ad8c55f7d
Reviewed-on: https://skia-review.googlesource.com/114283
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-03-19 14:22:55 +00:00
Cary Clark
89b1456b55 detect deprecated methods
If a method in an include is marked deprecated, make sure that
the documentation is marked deprecated.

It's OK for the documentation to mark something deprecated that
is not marked as such in the includes since the documentation may
be ahead of the includes.

Fix a couple of mistakes found around deprecated methods.

Docs-Preview: https://skia.org/?cl=114184
TBR=caryclark@google.com
Bug: skia:6898
Change-Id: I2bb4c293d7bf28e5d12f9ae01b7be49ce48b9ee4
Reviewed-on: https://skia-review.googlesource.com/114184
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-03-19 13:30:16 +00:00
Robert Phillips
fe0253f8bb Alter GrSurface/GrSurfaceProxy flags to prepare for GrTexture/GrTextureProxy -specific flags
This CL:
  moves GrRenderTarget::fFlags to GrSurface::fSurfaceFlags
  adds a GrInternalSurfaceFlags type and uses it for GrSurfaceProxy::fSurfaceFlags

  The goal of this is to provide a location where GrTexture/GrTextureProxy-specific flags
(i.e., isExternal & isRectangle) can be stored.

Change-Id: I8df7b79036a6853dd378ff6cf10d4b37c60dd511
Reviewed-on: https://skia-review.googlesource.com/114796
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-03-19 12:21:05 +00:00
Herb Derby
76d69b44bb Apply filterTextFlags so the fonts are the same.
In order to apply filterTextFlags correctly, teach
TrackLayerDevice how to process save and restore layers.

At this point, I don't see any other traffic than the
cache warming traffic.

This code has a performance between 82% and 105% of just
drawing the picture.

BUG=skia:7515

Change-Id: I44736be46884f18b6d120d4b5ca582f34dbdff0f
Reviewed-on: https://skia-review.googlesource.com/114641
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-03-16 20:28:36 +00:00
Leon Scroggins III
af18f22da6 Make get_images_from_skps always return success
Previously, it would fail (and thus turn the bot red) if an image failed
to decode (e.g. with SkCodec::Result of kInvalidInput). This tends to
happen because the captured page had not fully downloaded yet. Stop
treating this an error. It may still be useful to test using SkCodec
just to be sure that we didn't crash, so keep running the test.

Change-Id: I1a0530fb82fa32d95c5f01d5131626745cf6c4f2
Reviewed-on: https://skia-review.googlesource.com/114582
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-03-15 21:13:26 +00:00
Robert Phillips
7f4419696b Make CreateBackendFormatFromTexture shared code
TBR=bsalomon@google.com
Change-Id: I19e6e6c8dc32ba584738545d443de092e4987a5a
Reviewed-on: https://skia-review.googlesource.com/114374
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-03-15 16:51:36 +00:00
Robert Phillips
7e6dafdfed Prepare ddl skp rendering for prime time
Change-Id: I87742b8ef043588c4e835ab6ec49b217dd49f829
Reviewed-on: https://skia-review.googlesource.com/114289
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-03-15 11:48:16 +00:00
Herb Derby
67c47f2329 Add glyph cache warming - prototype
A system for prewarming the cache using a single "RPC"
This improve performance by ~5X.

This is a checkin of rough code so I can use small
changes clean it up.

BUG=skia:7515

Change-Id: Id0192b4f533c257b0a7eea0170b1e25c336d6432
Reviewed-on: https://skia-review.googlesource.com/105440
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-03-14 18:50:39 +00:00
Greg Daniel
8a3f55c659 Revert "Improve handling of GrPixelConfig in GrBackendTex/RT ctors"
This reverts commit 7d2b16ad13.

Reason for revert: Maybe breaking chrome?

Original change's description:
> Improve handling of GrPixelConfig in GrBackendTex/RT ctors
> 
> Make sure that no client facing code was relying on what we set as the
> default value for fConfig by making in kUnkown.
> 
> Bug: skia:
> Change-Id: Ie52ff08ba8deeacc16fe06eb0dd0c7292b2edf91
> Reviewed-on: https://skia-review.googlesource.com/114261
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com

Change-Id: I91e190d72407f9c4bee93a031a557f740bb49b66
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/114423
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-03-14 17:32:41 +00:00
Mike Reed
1be1f8d097 hide SkBlurMaskFilter and SkBlurQuality
SK_SUPPORT_LEGACY_BLURMASKFILTER

Bug: skia:
Change-Id: Ic3e27e08e6e3cd2ffc1cd13b044e197bebc96236
Reviewed-on: https://skia-review.googlesource.com/113940
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-03-14 17:27:36 +00:00
Greg Daniel
7d2b16ad13 Improve handling of GrPixelConfig in GrBackendTex/RT ctors
Make sure that no client facing code was relying on what we set as the
default value for fConfig by making in kUnkown.

Bug: skia:
Change-Id: Ie52ff08ba8deeacc16fe06eb0dd0c7292b2edf91
Reviewed-on: https://skia-review.googlesource.com/114261
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-03-14 14:12:42 +00:00
Brian Salomon
52e943a469 Add testing-only backend render target support to GrVkGpu.
Update unit tests to use backend render targets on non-GL contexts

Add named DM configs for rendering to Vulkan backend render targets and textures.

Make src data ptr param to createTestingOnlyBackendTexture be const.

Change-Id: I17f5375ed9bb08422006698956469d3151c4954c
Reviewed-on: https://skia-review.googlesource.com/113276
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-03-13 15:02:57 +00:00
Brian Osman
99b63400eb Remove use of deprecated MakeFromIRect
Bug: skia:
Change-Id: I793456c7a479d160a82bc613cbaf656f85bf6819
Reviewed-on: https://skia-review.googlesource.com/114081
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-03-13 14:57:53 +00:00
Brian Osman
c25e2693ab Fix several bugs in SkDebugCanvas/SkDrawCommand
This adds drawImageNine and drawRegion support, actually
serializes regions (badly) for clipRegion, and fixes bugs
in quite a few other draw commands (wrong op type, missing
factory registration, JSON attribute mismatch, etc...)

There are still some other draw virtuals missing, but even
getting Lattice to round-trip through JSON is going to be
a bunch of new code, and I didn't want to combine too much
new code with the fixes for existing bugs.

Change-Id: I13749a2d21f4a5ca5f5948b60fc11185bc46645f
Reviewed-on: https://skia-review.googlesource.com/113707
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-03-13 01:35:26 +00:00
Cary Clark
566414ef70 fail on mdout error
bookmaker sent mdout errors to stdout, but did not return
failure, fooling skia-commit-bot into thinking that the
md files should be updated.

Continue to report all mdout errors in a file, but fail
once the errors are reported.

TBR=rmistry@google.com

Bug: skia:6898
Change-Id: Ic342dd9a6e4aeea29626b52efe7d2c4e53da155e
Reviewed-on: https://skia-review.googlesource.com/113701
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-03-12 12:47:18 +00:00
Brian Osman
46fe9c7f6c Remove SkDumpCanvas
Bug: skia:
Change-Id: I045e84f154d0294121a4c1966dcf47c0d7e52934
Reviewed-on: https://skia-review.googlesource.com/113464
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-03-10 03:29:54 +00:00
Brian Salomon
0c51eeada6 Add GrMockRenderTarget and mock backend render targets
Change-Id: I59673dd7d0015471b7a81aa0c237c67043892454
Reviewed-on: https://skia-review.googlesource.com/113427
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-03-09 22:32:14 +00:00
Cary Clark
bbfda2583f add starting template support
some support for interfaces containing
template <typename x> class x
includeParser now correctly balances
bracket indentions and builds correct hierarchy.

Cross-check does not detect that the bmh definition
is missing the class; then includeWriter asserts
when the bmh class can't be found.

TBR=caryclark@google.com
Bug: skia:6898
Change-Id: Ibb70667ed4a6f8e553eec3924b56dfde737b4383
Reviewed-on: https://skia-review.googlesource.com/113460
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-03-09 20:57:50 +00:00
Mike Reed
43f0ba0730 update tool to sniff images during deserialization
Bug: skia:
Change-Id: I0162225772a5fe9849d3d51b2d1dd5d67c606097
Reviewed-on: https://skia-review.googlesource.com/113212
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2018-03-09 19:12:50 +00:00
Brian Salomon
26102cb604 Make GrGpu::deleteTestingOnlyBackendTexture() take const GrBackendTexture&
Change-Id: Ibd00d0dc6d8c73628f26851e102defdbafab149b
Reviewed-on: https://skia-review.googlesource.com/113164
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-03-09 18:20:40 +00:00
Greg Daniel
a8d9211bc3 Add promise images for deferred instantiation of wrapped gpu textures
This will allow a client to make an SkImage that "wraps" a gpu texture,
however the client does need to supply the actual gpu texture at Image
creation time. Instead it is retrieve at flush time via a callback.

Bug: skia:
Change-Id: I6267a55ab7102101a7bd80a6f547b6a870d2df08
Reviewed-on: https://skia-review.googlesource.com/109021
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
2018-03-09 18:02:00 +00:00
Brian Salomon
afdc6b1ba9 Vulkan backend render targets don't allow client to specify stencil bits
We already always create the stencil buffer even for wrapped RTs.

Make VulkanWindowContext use SkSurface::MakeFromBackendRenderTarget.

Change-Id: I5df429d347331801954ec17cb9d75e323a7af345
Reviewed-on: https://skia-review.googlesource.com/113206
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-03-09 17:26:50 +00:00
Brian Salomon
f865b05fe5 Add GM configs that test rendering to a GL backend texture and render target
This also adds GrGpu::create/deleteTestingOnlyBackendRenderTarget. Implemented in GL only for now.

Change-Id: I9e5fdc953c4a249959af89e08332f520cefe9d90
Reviewed-on: https://skia-review.googlesource.com/113305
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-03-09 16:32:10 +00:00
Robert Phillips
5a66efbbab Remove GrRestrictedAtlasManager
Philosophically this relies on: https://skia-review.googlesource.com/c/skia/+/111807 (Revise Text & Small Path Atlas so instantiation failure is handled at flush time)

Change-Id: I4fdcf1af8c5e9ffefdfb973104045f4f5d223a4e
Reviewed-on: https://skia-review.googlesource.com/112702
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-03-08 14:29:11 +00:00
Brian Salomon
02bd2950e0 Make ProxyUtils::MakeTextureProxyFromData use wrapped textures when origin is kBottomLeft
This is to prepare for only supporting kBottomLeft origin for wrapped texture/render targets.


Change-Id: Iecb2e463867f746186695893276ebb5dc47a9d90
Reviewed-on: https://skia-review.googlesource.com/112860
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-03-07 21:23:30 +00:00
Stephan Altmueller
88df8d2e5a Test SKQP on Firebase Testlab and Upload
- adds building the testlab driver (run_testlab) as a separate step
- adds gcloud isolate necessary to run testlab
- adds Testlab support and uploading a verified AKP to GCS (with
  meta data attached).

Bug: skia:
Change-Id: I1bf265f46c99360eb3a9eb684886f93de48085fe
Reviewed-on: https://skia-review.googlesource.com/111603
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Stephan Altmueller <stephana@google.com>
2018-03-07 20:44:50 +00:00
Robert Phillips
d2e9f767bb Revise Text & Small Path Atlas so instantiation failure is handled at flush time
This paves the way to having the AtlasTextOps not need the RestrictedAtlasManager at op creation time.

Change-Id: I1028faba730d50d3d3349a4c0809465d036ed611
Reviewed-on: https://skia-review.googlesource.com/111807
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-03-07 19:25:10 +00:00
Brian Salomon
58389b90cd Initial texture data is never flipped when uploaded.
The first bytes of the data always refer to the pixel accessed by texture coord (0, 0).

Change-Id: I708702d90f35b3bc896a48c3c3fd6a0be73f505a
Reviewed-on: https://skia-review.googlesource.com/112261
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-03-07 18:22:40 +00:00
Kevin Lubick
08b44fa497 Experiment with different settings for Pixel SKP bench
Bug: skia:7670
NOTRY=true
Change-Id: Ic3460c133b44d7fb323e80c9f8ce212fc0e2517c
Reviewed-on: https://skia-review.googlesource.com/111740
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2018-03-07 13:25:20 +00:00
Hal Canary
c5cf762177 Viewer/Amdroid: universal build, resources in APK
Change-Id: I57dda6e3329dbee720333b6e92142fce28f8dbd3
Reviewed-on: https://skia-review.googlesource.com/111940
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Yuqian Li <liyuqian@google.com>
2018-03-06 22:52:10 +00:00
Robert Phillips
0c4b7b1f2f Move internal calls from GrContext to GrContextPriv
A mechanical bulk move just to get these out of the public API.

TBR=bsalomon@google.com
Change-Id: I813efbd54a09dd448275697c0e50947753a5cfd3
Reviewed-on: https://skia-review.googlesource.com/112262
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-03-06 14:23:45 +00:00
Brian Salomon
2a4f983c94 Remove GrSurfaceOrigin from GrSurfaceDesc.
This field has no interpretation at the GrTexture/GrGpu as the orientation is
handled at the GrSurfaceProxy level.

This change requires GrGpu to accept a GrSurfaceOrigin when creating a texture with initial data. The origin refers to the texel data to be uploaded. Longer term the plan is to remove this and require the data to be kTopLeft. Additionally, kBottomLeft will only be allowed for wrapped texture/RTs as this evolves.

Change-Id: I7d25b0199aafd9bf3b74c39b2cae451acadcd772
Reviewed-on: https://skia-review.googlesource.com/111806
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-03-05 18:50:25 +00:00
Cary Clark
1a8d762a18 work in imageinfo and phrase substitution
This adds the ability to define long phrases
in one place and refer to those phrases in
many places.

Bookmaker has new syntax to support phrase substitution.
When it encounters

#some_phrase_reference#

It substitutes the body of

#PhraseDef some_phrase_reference
text to substitute when encountering the phrase
##

The phrase label must start with a lowercase letter,
and be bracketed by single hash marks, without spaces
between the label and the hash marks.

Docs-Preview: https://skia.org/?cl=111224
TBR=caryclark@google.com
Bug: skia:6898
Change-Id: I12c57d916ccedbd86b421377d117399150ada72a
Reviewed-on: https://skia-review.googlesource.com/111224
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-03-05 18:48:15 +00:00
Bryce Thomas
95a7b76a44 dm: support printing specific page of mskp to SVG
Currently with dm, it's possible to convert an .mskp to a multi-page PDF as
follows:

    out/Release/dm --src mskp --mskps /tmp/filename.mskp -w /tmp \
    --config pdf --verbose

The SVG equivalent partially works, although only outputs the first page:

    out/Release/dm --src mskp --mskps /tmp/filename.mskp -w /tmp \
    --config svg --verbose

This CL adds support for passing extended options to SVG.  Specifically, the
'page' option , which now determines which page of the source mskp gets
converted to the SVG output.  The new syntax is as follows:

    out/Release/dm --src mskp --mskps /tmp/filename.mskp -w /tmp \
    --config svg[page=2] --verbose

The `[key=value]` syntax is the same extended options syntax currently used by
dm with --config gpu, e.g. `gpu[api=gl,color=8888]`.

BUG=skia:7601

Change-Id: I3523d79b1cdbbba9e80fd46501331877091bdead
Reviewed-on: https://skia-review.googlesource.com/105404
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2018-03-02 22:20:19 +00:00
Brian Osman
10fc6fddf2 Revert "Revert "Add 1010102 support to Ganesh""
This reverts commit ded47a5014.

Bug: skia:
Change-Id: I7d7552e6ccc8591cae91426407ab13b628b93b68
Reviewed-on: https://skia-review.googlesource.com/111760
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-03-02 18:19:50 +00:00
Hal Canary
8080a6e705 SkQP: Host APK list on cloud; no more commits
No-Try: true
Change-Id: I7f77c828cba2aa3763d495bec86d016eb65cb485
Reviewed-on: https://skia-review.googlesource.com/111741
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-03-02 16:54:50 +00:00
Brian Osman
ded47a5014 Revert "Add 1010102 support to Ganesh"
This reverts commit 44b61204d9.

Reason for revert: TSAN bot crashing

Original change's description:
> Add 1010102 support to Ganesh
> 
> Adds gl1010102, gles1010102, vk1010102, and mtl1010102
> configs to DM.
> 
> This uses the same saveLayer approach as CPU, switching
> to 8888 so that we have enough alpha precision.
> 
> Change-Id: I9f5b63747ec01031c8db97dadfc42f77e4863ccb
> Reviewed-on: https://skia-review.googlesource.com/110500
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: I782e740763044c1ae78fb219161e37eec7617c74
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/111580
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-03-01 20:10:15 +00:00
Robert Phillips
1056eb821f Move atlas manager creation to GrContext derived classes (take 2)
TBR=bsalomon@google.com
Change-Id: Ie10b7e770e24104d10c36ce7882126dd8551a8ba
Reviewed-on: https://skia-review.googlesource.com/110822
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-03-01 19:41:04 +00:00
Kevin Lubick
4f16db62e5 [skpbench] experiment with not disabling services
Bug: skia:7670
Change-Id: I24ee36e1ac6bc97da8bb6dfaa3b7899190e4dbed
Reviewed-on: https://skia-review.googlesource.com/111302
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-03-01 19:28:44 +00:00
Robert Phillips
c4039ea466 Fission GrAtlasGlyphCache in two (take 2)
Reland all the things

This CL splits the old GrAtlasGlyphCache into a GrAtlasGlyphCache and an GrAtlasManager.

The GrAtlasManager itself is split into a rather limited base class (GrRestrictedAtlasManager)
and the all powerful GrAtlasManager. The GrRestrictedAtlasManager is available at op creation
time and provides access to the proxies backing the atlases. The full GrAtlasManager is
only available at flush time and allows instantiation of the proxies and uploading to them.

In the DDL world all of the DDL Contexts will receive a GrRestrictedAtlasManager-version of the
GrAtlasManager in the main thread. This future atlas manager will have had all of its
GrDrawOpAtlases created (but not instantiated) so there should be no race conditions.

TBR=jvanverth@google.com
Change-Id: I05c6cd8d301bf2decca39765e5cae62993d9da04
Reviewed-on: https://skia-review.googlesource.com/111362
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-03-01 19:09:14 +00:00
Brian Osman
44b61204d9 Add 1010102 support to Ganesh
Adds gl1010102, gles1010102, vk1010102, and mtl1010102
configs to DM.

This uses the same saveLayer approach as CPU, switching
to 8888 so that we have enough alpha precision.

Change-Id: I9f5b63747ec01031c8db97dadfc42f77e4863ccb
Reviewed-on: https://skia-review.googlesource.com/110500
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-03-01 18:34:35 +00:00
Robert Phillips
5c56af1790 Revert "Fission GrAtlasGlyphCache in two"
This reverts commit acf17904d6.

Reason for revert: Chrome

Original change's description:
> Fission GrAtlasGlyphCache in two
> 
> This CL splits the old GrAtlasGlyphCache into a GrAtlasGlyphCache and an GrAtlasManager.
> 
> The GrAtlasManager itself is split into a rather limited base class (GrRestrictedAtlasManager)
> and the all powerful GrAtlasManager. The GrRestrictedAtlasManager is available at op creation
> time and provides access to the proxies backing the atlases. The full GrAtlasManager is
> only available at flush time and allows instantiation of the proxies and uploading to them.
> 
> In the DDL world all of the DDL Contexts will receive a GrRestrictedAtlasManager-version of the
> GrAtlasManager in the main thread. This future atlas manager will have had all of its
> GrDrawOpAtlases created (but not instantiated) so there should be no race conditions.
> 
> Change-Id: I9967d3a4116af50128f390c5039a712b8cd4db08
> Reviewed-on: https://skia-review.googlesource.com/108001
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>

TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com

Change-Id: I7c760ea1a9f041a310b96d552aa1497ee5902cd8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/111040
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-02-28 16:37:47 +00:00
Robert Phillips
0551818a01 Revert "Move atlas manager creation to GrContext derived classes"
This reverts commit e5b7ceeac8.

Reason for revert: Breaking Mus/Viz tests in Chrome roll

Original change's description:
> Move atlas manager creation to GrContext derived classes
> 
> This CL relies on: https://skia-review.googlesource.com/c/skia/+/108001 (Fission GrAtlasGlyphCache in two)
> 
> TBR=bsalomon@google.com
> Change-Id: Ic3f91cea2238221b970f8ebbda99b10202925cd8
> Reviewed-on: https://skia-review.googlesource.com/110621
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,robertphillips@google.com

Change-Id: I3973463b7b837145d9732171a91d82f0f0cea148
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/110821
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-02-28 14:19:16 +00:00
Robert Phillips
e5b7ceeac8 Move atlas manager creation to GrContext derived classes
This CL relies on: https://skia-review.googlesource.com/c/skia/+/108001 (Fission GrAtlasGlyphCache in two)

TBR=bsalomon@google.com
Change-Id: Ic3f91cea2238221b970f8ebbda99b10202925cd8
Reviewed-on: https://skia-review.googlesource.com/110621
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-02-28 00:20:06 +00:00
Robert Phillips
acf17904d6 Fission GrAtlasGlyphCache in two
This CL splits the old GrAtlasGlyphCache into a GrAtlasGlyphCache and an GrAtlasManager.

The GrAtlasManager itself is split into a rather limited base class (GrRestrictedAtlasManager)
and the all powerful GrAtlasManager. The GrRestrictedAtlasManager is available at op creation
time and provides access to the proxies backing the atlases. The full GrAtlasManager is
only available at flush time and allows instantiation of the proxies and uploading to them.

In the DDL world all of the DDL Contexts will receive a GrRestrictedAtlasManager-version of the
GrAtlasManager in the main thread. This future atlas manager will have had all of its
GrDrawOpAtlases created (but not instantiated) so there should be no race conditions.

Change-Id: I9967d3a4116af50128f390c5039a712b8cd4db08
Reviewed-on: https://skia-review.googlesource.com/108001
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2018-02-27 22:05:55 +00:00
Hal Canary
84fdd4fcba SkQP: optionally build make_universal_apk with debug on.
* Respects SKQP_DEBUG=true.
  * Also, be more selective about cleaning. (So I can test on master.)
  * Also, stop using `gradlew --daemon`, which was getting confused
    when switching back and forth build types.

No-Try:true
Change-Id: Id93f77ab7831a82cad9a3a64dbb8a93af4757d57
Reviewed-on: https://skia-review.googlesource.com/108222
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
2018-02-27 20:42:29 +00:00
Cary Clark
f895a420c9 work on skimageinfo
work on skimageinfo

Docs-Preview: https://skia.org/?cl=109081
TBR=caryclark@google.com
Bug: skia:6898
Change-Id: I4d1734647ef1fa879d08b04c64142c7f16abc858
Reviewed-on: https://skia-review.googlesource.com/109081
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-02-27 15:12:59 +00:00
Ravi Mistry
1693d43f37 Skip failing pageset from key_mobile_sites_smooth
I would normally move the Chromium failing pagesets to be a Skia pageset but we used to have twitter.com/katyperry as a pageset a while ago and decided to remove it.

NoTry: true
Bug: skia:7348
Change-Id: I005b34b33f3bd2cc5e7948e1caad222156f36216
Reviewed-on: https://skia-review.googlesource.com/110120
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2018-02-26 20:00:08 +00:00
Greg Daniel
8385a8a44b Revert "Revert "Fixes to alignment issues with regards to mapped vulkan memory.""
This reverts commit 88fdee9bde.

Reason for revert: Pre Fixes landed in other repos

Original change's description:
> Revert "Fixes to alignment issues with regards to mapped vulkan memory."
> 
> This reverts commit 9fb6cf4c49.
> 
> Reason for revert: breaks fuchsia
> 
> Original change's description:
> > Fixes to alignment issues with regards to mapped vulkan memory.
> > 
> > Bug: skia:
> > Change-Id: Ida9813fe774580a6d157b8eb8d330488c8e8c4bc
> > Reviewed-on: https://skia-review.googlesource.com/109483
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > Reviewed-by: Jim Van Verth <jvanverth@google.com>
> 
> TBR=djsollen@google.com,egdaniel@google.com,jvanverth@google.com
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: skia:
> Change-Id: If1223313cab27737ada401d1f3fe4b7ab849d03f
> Reviewed-on: https://skia-review.googlesource.com/110040
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

Bug: skia:
Change-Id: Ifeebf535c3617674846f7ef25e686ee11ceee65c
Reviewed-on: https://skia-review.googlesource.com/110160
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-02-26 18:59:38 +00:00
Yuqian Li
b8b6253df6 Add threaded backend sink to DM. Fix a scheduler bug.
The bug is spotted by the new sink. I'd expect more bugs to be revealed
and fixed using the new sink.

Bug: skia:
Change-Id: I6b0c9267079fbd6149004f0ecd55ddb179702588
Reviewed-on: https://skia-review.googlesource.com/109720
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2018-02-25 16:36:24 +00:00
Greg Daniel
88fdee9bde Revert "Fixes to alignment issues with regards to mapped vulkan memory."
This reverts commit 9fb6cf4c49.

Reason for revert: breaks fuchsia

Original change's description:
> Fixes to alignment issues with regards to mapped vulkan memory.
> 
> Bug: skia:
> Change-Id: Ida9813fe774580a6d157b8eb8d330488c8e8c4bc
> Reviewed-on: https://skia-review.googlesource.com/109483
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>

TBR=djsollen@google.com,egdaniel@google.com,jvanverth@google.com

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

Bug: skia:
Change-Id: If1223313cab27737ada401d1f3fe4b7ab849d03f
Reviewed-on: https://skia-review.googlesource.com/110040
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-02-25 14:00:39 +00:00
Greg Daniel
9fb6cf4c49 Fixes to alignment issues with regards to mapped vulkan memory.
Bug: skia:
Change-Id: Ida9813fe774580a6d157b8eb8d330488c8e8c4bc
Reviewed-on: https://skia-review.googlesource.com/109483
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2018-02-23 20:17:16 +00:00
Florin Malita
1022f74375 [skottie] Nested animation support
Extend composition layers to support referencing external .json
animations ("$"<PATH> syntax).

This is a custom extension (not supported in BM/Lottie).

Also make skottie::Animation ref-counted, to facilitate sharing.

TBR=

Change-Id: I062d031e5868d759f3930dea9b261f9b3ec81684
Reviewed-on: https://skia-review.googlesource.com/109806
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-02-23 19:15:26 +00:00
Hal Canary
65a4178ff7 SkQP: do test filtering correctly
PLEASE NOTE: Instructions for running a single test have changed!

No-Try: true
Change-Id: I1923240e879daa7ff0556737ddd5aa3f58e0097c
Reviewed-on: https://skia-review.googlesource.com/109566
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2018-02-23 15:57:46 +00:00
Hal Canary
f637cc01f8 SkQP: run a single test
PLEASE NOTE:  Instructions on running `am instrument` for the
SkQP APK have changed.

To run a single test, see the section "Running a single test"
in `tools/skqp/README.md`.

No-Try: true
Change-Id: I0a2cbc47755929d6c6a927a3591ff98046779c77
Reviewed-on: https://skia-review.googlesource.com/108780
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-02-21 20:49:56 +00:00
Chris Dalton
9ce9507a7f Fix touch coordinate mapping in Windows
Coordinates were not previously being mapped correctly from screen
coordinates to window coordinates.

Bug: skia:
Change-Id: Ie56ac3b42273aede6f97ee6f83ac9766020510ea
Reviewed-on: https://skia-review.googlesource.com/109109
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-02-21 19:38:36 +00:00
Florin Malita
83286a0df2 Don't consume mouse events in SkottieSlide
We want to togle inval display on click, but if we always consume the
event we disable pan/zoom in viewer.

TBR=

Change-Id: I1f785883252c4f4a09fd35d4a05485849bf7e8ef
Reviewed-on: https://skia-review.googlesource.com/109084
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-02-21 18:25:26 +00:00
Greg Daniel
0a7aa14bf3 Add checks for failed SkImageInfo2GrPixelConfig calls
Bug: skia:7645
Change-Id: I32b9326fb43490ef6a7a99527243b68d89184ae1
Reviewed-on: https://skia-review.googlesource.com/109083
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-02-21 18:22:47 +00:00
Ben Wagner
483c772cfd Add nativeFonts flag to Viewer.
This moves DMFontMgr and several related files which are tightly related
to fonts into tools/fonts, moves some flags around to prevent
duplication, and adds the nativeFonts handling to Viewer.

Change-Id: Id1bdad708a6b74319ac5ac9adfe21025db4ca0b2
Reviewed-on: https://skia-review.googlesource.com/108904
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2018-02-21 03:31:14 +00:00
Florin Malita
60d3bfcef5 [skottie] Show inval rects on mouse click in SkottieSlide
Also fix a SlideDir sizing bug.

TBR=

Change-Id: Iee61bb6665dc56ddd6fc062a686a9c0ef87dea92
Reviewed-on: https://skia-review.googlesource.com/108902
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-02-20 22:12:43 +00:00
Robert Phillips
f3690dd416 Change signature of GrAtlasGlyphCache::getProxies
Split out of https://skia-review.googlesource.com/c/skia/+/108001 (Fission GrAtlasGlyphCache in two)

TBR=bsalomon@google.com
Change-Id: I573730fdeddf178915eb5f5b8cf59a3ab29e0654
Reviewed-on: https://skia-review.googlesource.com/108441
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-02-20 21:16:53 +00:00
Chris Dalton
2d18f41858 Resurrect pathfinder in viewer and rename to "bisect"
Bug: skia:
Change-Id: If8d2f46b8f27fefc3a0f983eb649654e0fb4afcb
Reviewed-on: https://skia-review.googlesource.com/108685
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-02-20 20:44:33 +00:00
Ben Wagner
5423f1f0c5 Correct font metrics, bitmap glyph metrics and underline.
Correct ScaleFontMetrics to scale all of the metrics. Also update the
test fonts, since they were created with the previously unscaled
metrics.

Fix the ascent, descent, and underline position for bitmap glyphs with
FreeType.

Change-Id: I8c2f6e9d6a7e86b0bb08dc619f62ffcce4ad2df2
Reviewed-on: https://skia-review.googlesource.com/108600
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
2018-02-20 20:40:23 +00:00
Cary Clark
edfe6703fa fix Rect doc
move the #Line directive to make bookmaker happy

Docs-Preview: https://skia.org/?cl=108740
Bug: skia:6898
Change-Id: I8b993bab6b4f69cc266941e281a00a945f32f25e
Reviewed-on: https://skia-review.googlesource.com/108740
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-02-20 19:56:23 +00:00
Cary Clark
300cc5b5c1 fix IRect doc
Florin pointed out docs that used SkPoint where
SkIPoint was intended. This was caused by the
original documentation guessing that 'points'
referred to one and not the other.

For now, use IPoint explicitly in the documentation
to get around this.

Docs-Preview: https://skia.org/?cl=108569
Bug: skia:6898
Change-Id: I12bac1d4cf82a614bee98895f12e4f99add2dbd7
Reviewed-on: https://skia-review.googlesource.com/108569
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-02-20 18:10:33 +00:00
Hal Canary
24889c90d2 SkQP: update README.md
No-Try: true
Change-Id: I7b12f683901ece91e3a7e2d9fa432aa05fbcf12a
Reviewed-on: https://skia-review.googlesource.com/108568
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-02-20 17:58:43 +00:00
Florin Malita
eb420457fd Add SkRect::contains(SkScalar x, SkScalar y)
Similar to its SkIRect counterpart.

Change-Id: I6872694d8602ed4181a1a15b4cd1c2c32aeab3f9
Reviewed-on: https://skia-review.googlesource.com/108506
Reviewed-by: Cary Clark <caryclark@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-02-20 17:57:53 +00:00
Florin Malita
97b3d2bcdb [sksg] Add 'plane' geometry node
SG geometry corresponding to SkCanvas::drawPaint().

TBR=

Change-Id: I3b368adda187fb92f524756496a3694c03a3113d
Reviewed-on: https://skia-review.googlesource.com/108562
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-02-20 17:08:53 +00:00
Mike Klein
5ab827c50b Reland "remove third_party/etc1"
This is a reland of 9d7a73527a.

Original change's description:
> remove third_party/etc1
> 
> Nothing seems to reference it.
> 
> Change-Id: Ib009a7dc33d31439b11588758015a07485f56eaa
> Reviewed-on: https://skia-review.googlesource.com/99861
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>

Change-Id: I3a6428074896c7b3c80cb23db61f70d7cb0c785f
Reviewed-on: https://skia-review.googlesource.com/108460
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-02-20 16:52:43 +00:00
Cary Clark
c68ba1d7d9 fix more include generation bugs
Recent changes to generate tables of methods
require more parsing to figure things like
indention params for structs.

Fix other stuff that got broken since the last
time all includes were generated.

TBR=caryclark@google.com
Bug: skia:6898
Change-Id: Icd6f5feb5324eb4e0feb307400aa53207109cb29
Reviewed-on: https://skia-review.googlesource.com/108182
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-02-20 16:24:24 +00:00
Florin Malita
836f822ec0 SlideDir focus tweaks
* cubic-map animation
 * shade the background scene when focused
 * unfocus on click outside focus rect

TBR=

Bug: skia:
Change-Id: I0ef8751b111b3b55c3fc36126c2ca1bc8ff6d33a
Reviewed-on: https://skia-review.googlesource.com/108501
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-02-20 15:51:33 +00:00
Florin Malita
7d910d4a29 Delete SkottieSlide2
Now superseded by the generic SlideDir.

TBR=

Change-Id: Ia9adfc54dcb86ebb0cd50d2e1f4739896279de8f
Reviewed-on: https://skia-review.googlesource.com/108503
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-02-20 15:50:13 +00:00
Greg Daniel
2a30390ce6 Update createWrappedRenderTargetProxy with BackendRT to work with lazy proxies.
This change also triggered a bunch of side changes thanks to WrappedProxyTest
fixing/improving how we handle wrapped proxies in genernal.

Bug: skia:
Change-Id: I743a458923cff1c2e947627d0e9154a4c808a668
Reviewed-on: https://skia-review.googlesource.com/108102
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-02-20 15:32:33 +00:00
Florin Malita
cefc1b9740 Pass Viewer touch events to slides
Change-Id: Ia7b097c22e497e4e84be45108ac9796d89305ef3
Reviewed-on: https://skia-review.googlesource.com/108363
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-02-20 14:54:13 +00:00
Kevin Lubick
aa59d61646 Remove XSAN blacklist
Bug: skia:
Change-Id: I97bf83ca001acc762a42d26207a394faee6d90fb
Reviewed-on: https://skia-review.googlesource.com/107782
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2018-02-20 13:51:28 +00:00
Florin Malita
65fce9edc4 SlideDir focus w/ animation
Add an animated "focus" mode for SlideDir.

Clicking a cell focuses.  SPACE unfocuses.

When a slide is focused, mouse and key events are passed through.

TBR=
Change-Id: Iec47e2327e3b21bd626846bb0d3f9107bf680b1b
Reviewed-on: https://skia-review.googlesource.com/108101
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2018-02-19 18:43:44 +00:00
Cary Clark
2a8c48be4f improve bookmaker defines and references
generating replacement includes exposed
errors mostly dealing with globals like
SkAlphaType and members. Rewrite finding
and resolving links to hopefully make this
area more robust.

TBR=caryclark@google.com
Docs-Preview: https://skia.org/?cl=107160
Bug: skia:6898
Change-Id: I9b8025160203d204286f3f6ca0cebd70da6253b4
Reviewed-on: https://skia-review.googlesource.com/107160
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-02-16 15:35:36 +00:00
Brian Osman
6848b716f7 Fix flicker when changing backend on iOS viewer
This is the same fix from: https://skia-review.googlesource.com/c/skia/+/107941

Change-Id: I1367b1fc466cecbc2733b4e337376ce9f48cb6d8
Reviewed-on: https://skia-review.googlesource.com/107980
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-02-16 15:31:36 +00:00
Florin Malita
76a076bbdf Generic "directory" viewer slide
This is a generalization of "skottie-dir", based on SkSG and operating
at the Slide API level.

For now it is only instantiated for Json slides, but could be used for
other slide "directories" in the future.

TBR=
NOTRY=true
Change-Id: If12429084bddeb172b234344f23eabcdadedcceb
Reviewed-on: https://skia-review.googlesource.com/108002
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-02-16 14:40:45 +00:00
Brian Osman
4013db8e08 Fix flicker when changing backend on Mac viewer
Tie the SDL GL context to the Window, not the context. Deleting the context
causes the window to render a frame of black - this keeps the context alive
along with the window, so that never happens.

Change-Id: Id4df18a6f2fe09f617ec2ff1809d000f18f547ba
Reviewed-on: https://skia-review.googlesource.com/107941
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-02-15 19:14:32 +00:00
Mike Klein
da83c28245 rm ok
I'm not really using it much anymore.
Time to dedup and fold its ideas into DM.

Change-Id: I40a238c9083460e1b7aee459757f867dfd3d79af
Reviewed-on: https://skia-review.googlesource.com/107800
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-02-15 15:28:26 +00:00
Kevin Lubick
469ec137d7 Turn off some third party ASAN blacklists
Specifically, this breaks out all the blacklists and
unblacklists:
 - googletest
 - icu
 - imgui
 - libjpeg-turbo
 - libpng
 - libwebp
 - microhttpd
 - piex
 - sdl
 - skcms
 - zlib



Bug: oss-fuzz:6347
Change-Id: I8da10967a231c603263ac99ddbc9b75f925f5316
Reviewed-on: https://skia-review.googlesource.com/107421
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2018-02-15 13:58:29 +00:00
Yuqian Li
bc8bb02f3f Add header file installation tips for building skia
No-Try: true
Docs-Preview: https://skia.org/?cl=105540
Bug: skia:
Change-Id: I5d83eeb4ba7faf9c2964c91d39d51b3a8efd14a4
Reviewed-on: https://skia-review.googlesource.com/105540
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-02-14 13:07:27 +00:00
Hal Canary
c126191fd1 SkQP: debug option, and fix a bug
Change-Id: I642c65815fdab5adcd7735956e1955ede8ff229a
Reviewed-on: https://skia-review.googlesource.com/106805
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-02-13 16:16:50 +00:00
Ben Wagner
abdcc5f5b4 Add text rendering related overrides to Viewer.
This combines the AAA and DAA settings into one Antialias setting which
also exposes alias and normal settings. It also fixes restoring the AAA
and DAA global state when not overriding.

This adds hinting, subpixel positioning, and subpixel rendering
tri-state toggles as well.

Change-Id: I845fa5be1fed4142e82796e6ef417b276fa76111
Reviewed-on: https://skia-review.googlesource.com/106761
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-02-12 22:38:43 +00:00
Hal Canary
a58bcf7ef8 SkQP: Slimmer APKS
Currently produces 30% smaller APKs.

No-Try: true
Change-Id: Ic04b4bebef78e9a3f8b8dde4bace78ce74e43d66
Reviewed-on: https://skia-review.googlesource.com/106165
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2018-02-12 17:05:22 +00:00
Cary Clark
78c110e2f0 resolve bookmaker refs fixes
Getting ready to update include/core generated bookmaker
files. Fixing errors when resolving references in
bmh files.

Docs-Preview: https://skia.org/?cl=106281
Bug: skia:6898
Change-Id: Ic1cbe5b7b9b9f09346e460802b8f21d2ec14329d
Reviewed-on: https://skia-review.googlesource.com/106281
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-02-11 18:30:05 +00:00
Hal Canary
c87fbf93d0 Android Tools: build x86_64 correctly.
- Fix some naming confusion between `x64` and `x86-64`.
  - SkQP Universal (multi-arch apk) Build Script
    [tools/skqp/make_universal_apk]
  - skqp/build.gradle: add `universal` product flavor
  - skqp manifest:  make debug build optional.

No-Try: true
Change-Id: Ic8cd88719a34786ab2d53771749b2beb9db98be5
Reviewed-on: https://skia-review.googlesource.com/105023
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
2018-02-09 22:13:23 +00:00
Mike Reed
7fcfb62199 move a bunch of helpers from SkImageInfo.h into priv
Bug: skia:
Change-Id: I8c91cfdb89e4f22448d1201d391556fe43d86dca
Reviewed-on: https://skia-review.googlesource.com/105289
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Cary Clark <caryclark@google.com>
2018-02-09 20:38:32 +00:00
Florin Malita
c378fdcad8 [skottie] Fix viewer slide sizing on Android
TBR=

Change-Id: Ibbf4d22ba01e39b80c1f76d9af6bef647454996f
Reviewed-on: https://skia-review.googlesource.com/106160
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-02-09 16:40:41 +00:00
Cary Clark
5635631c88 working on SkImage docs
also fix minor break in SkSurface

TBR=caryclark@google.com
Docs-Preview: https://skia.org/?cl=105021
Bug: skia:
Change-Id: I0cfc01ab5ba4df13a9e84f8dd2904d32e5726a5b
Reviewed-on: https://skia-review.googlesource.com/105021
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-02-08 20:09:51 +00:00
Hal Canary
0e07ad7fe7 ICU on windows
Change-Id: Ib1a2f017d96c5157c60d512332fddfef77c5ae8e
Reviewed-on: https://skia-review.googlesource.com/103001
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-02-08 19:36:49 +00:00
Mike Reed
4c790bd7dd add writePixels to SkSurface --> so we can remove it from canvas
Bug: skia:
Change-Id: Ib35d7bdc113c3fd9f6dfacb42ec61aaa448cb165
Reviewed-on: https://skia-review.googlesource.com/105623
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-02-08 19:34:50 +00:00
Mike Reed
d4746984e5 ensure that what is valid for a surface is also valid for an image
Note, this change will cause some previously succeeding surfaces to fail to build (since they could not snap their image)

Bug: skia:7598
Change-Id: I012ca752ba1351a904625d216429eab646ca4a85
Reviewed-on: https://skia-review.googlesource.com/105421
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2018-02-08 16:50:59 +00:00
Robert Phillips
0b33cc42b4 Remove nvprdit* configs
Having removed the NVPR text renderer, the nvprdit* configs are no longer interesting/useful.

Change-Id: Ic4b9d6507d3e3595723a27636cb58b5e811fb3a3
Reviewed-on: https://skia-review.googlesource.com/105563
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-02-08 13:57:09 +00:00
Cary Clark
4f5a79c676 remove kRW_LegacyBitmapMode
experiment to see if there are any unknown dependencies
on kRW_LegacyBitmapMode

R=reed@google.com,fmalita@chromium.org,bungeman@google.com
Bug: skia:5615
Change-Id: I2cc578570ac18cd31c3520e1bd801f4a7a669347
Reviewed-on: https://skia-review.googlesource.com/105283
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
2018-02-08 13:34:49 +00:00
Robert Phillips
4150eea6c4 Move control of explicit GPU resource allocation to GrContextOptions
Change-Id: Ic284acc79bab5936f0007d5ae5fb1e7a9929e2af
Reviewed-on: https://skia-review.googlesource.com/104880
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-02-08 12:36:29 +00:00
Mike Klein
e083f7c9f2 Reland "remove SkCanvas::kIsOpaque_SaveLayerFlag"
This reverts the revert 9ff8c8c073.

Original:

    This is a performance-only hint that no one but fuzzers
    is using.  It's even explicitly filtered out in Android.

    The fuzzers have noticed they can trick us into allocating
    uninitialized memory and treating it as opaque, blending
    uninitialized pixels, etc.

    Since no one's using this, we can just kill the bit.

    Bug: skia:7566, chromium:808830

Docs-Preview: https://skia.org/?cl=105282
Change-Id: I4326c663f777aa373ff7ec9f319519da9729350d
Reviewed-on: https://skia-review.googlesource.com/105282
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-02-07 18:18:52 +00:00
Cary Clark
78de751969 add subtopics to all methods
add self-check looking for #In markup on every method, pointing
to an existing #Subtopic to reference the method.

Docs-Preview: https://skia.org/?cl=104325
Bug: skia:6898
Change-Id: I749a25b9a43033ae68d193249b2c0b810dcf8fc8
Reviewed-on: https://skia-review.googlesource.com/104325
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-02-07 12:46:16 +00:00
Mike Klein
9ff8c8c073 Revert "remove SkCanvas::kIsOpaque_SaveLayerFlag"
This reverts commit 9a7a2ee5ad.

Reason for revert: still need to update blink_headless in Google3

Original change's description:
> remove SkCanvas::kIsOpaque_SaveLayerFlag
> 
> This is a performance-only hint that no one but fuzzers
> is using.  It's even explicitly filtered out in Android.
> 
> The fuzzers have noticed they can trick us into allocating
> uninitialized memory and treating it as opaque, blending
> uninitialized pixels, etc.
> 
> Since no one's using this, we can just kill the bit.
> 
> Bug: skia:7566, chromium:808830
> 
> Change-Id: Id74a85e51bc4d0907b4127eb9ac5b02576f8f0a7
> Reviewed-on: https://skia-review.googlesource.com/104441
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>

TBR=mtklein@chromium.org,fmalita@chromium.org,reed@google.com

Change-Id: I10d3c7e5184b9322715a5bfb6a7106292c8876a3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7566, chromium:808830
Reviewed-on: https://skia-review.googlesource.com/104781
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-02-07 01:58:56 +00:00
Mike Klein
9a7a2ee5ad remove SkCanvas::kIsOpaque_SaveLayerFlag
This is a performance-only hint that no one but fuzzers
is using.  It's even explicitly filtered out in Android.

The fuzzers have noticed they can trick us into allocating
uninitialized memory and treating it as opaque, blending
uninitialized pixels, etc.

Since no one's using this, we can just kill the bit.

Bug: skia:7566, chromium:808830

Change-Id: Id74a85e51bc4d0907b4127eb9ac5b02576f8f0a7
Reviewed-on: https://skia-review.googlesource.com/104441
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-02-07 00:00:25 +00:00
Hal Canary
703d9c47a8 SkQP: download_model complains when files.checksum is missing
Change-Id: I4fad015181f15e4ffb9c9607723a1313a041621b
Reviewed-on: https://skia-review.googlesource.com/103763
Reviewed-by: Stephan Altmueller <stephana@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-02-06 19:48:55 +00:00
Cary Clark
4855f78dd1 fix bookmaker nightly
- mark the interfaces that use SkMask as deprecated
- add more autogenerated subtopics
- make subtopic names singular, avoiding collision with Skia names
- simplify #Deprecated and #Bug tags
- add "#Deprecated soon" to note things to be deprecated
- fix some spelling errors
- refresh web docs
- add self-check functionality to find methods outside subtopics

TBR=caryclark@google.com
Docs-Preview: https://skia.org/?cl=102150
Bug: skia:6898
Change-Id: I0e742a56d49dccd4409bb68eed9167c8ad7611ce
Reviewed-on: https://skia-review.googlesource.com/102150
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-02-06 15:20:25 +00:00
Herb Derby
ca9c879900 Collapse metrics and image into a single call.
BUG=skia:7515

Change-Id: I518f6010a2f6265666de22f0eaa021f2e330ceaa
Reviewed-on: https://skia-review.googlesource.com/103023
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2018-02-05 21:04:11 +00:00
Herb Derby
9d02182c0b Generate cache traffic each iteration
The old timing system would generate cache traffic
for the first drawing of the picture caching everyting
on the GPU side. Further iterations would just use the cache.

This change forces cache traffic to be generated each iteration.

BUG=skia:7515

Change-Id: I0d857e123796cdc7d655634446082598bef3f962
Reviewed-on: https://skia-review.googlesource.com/103021
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
2018-02-05 19:27:26 +00:00
Derek Sollenberger
82831b18a6 Add a global error tolerance of 4 to the SkQP Android.bp build file
Change-Id: Iceebd0e153351cad1c2784daf6cabcc8f3bb8ebf
Reviewed-on: https://skia-review.googlesource.com/103720
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2018-02-05 17:24:46 +00:00
Hal Canary
5f73c217cc SkQP: use multiprocessing over threading
BUG=skia:7579
NOTRY=true
Change-Id: I4c7d2331e88171943f724592eb1481a5ea41b0ba
Reviewed-on: https://skia-review.googlesource.com/103700
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-02-05 17:06:16 +00:00
Florin Malita
8deb295ca7 Map Viewer mouse events to Slide space.
There isn't much Slide can do with Window-space mouse events.

Change-Id: I36509d4aa1b2ed510b8d8739d39cf5204ad486cc
Reviewed-on: https://skia-review.googlesource.com/102149
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-02-05 15:53:26 +00:00
Robert Phillips
e8fabb2665 Update LazyProxy creation to allow for a non-textureable result
Change-Id: Ic284b4f4220afa714159e07f57798a94fd40d63a
Reviewed-on: https://skia-review.googlesource.com/102484
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-02-04 20:01:28 +00:00
Brian Salomon
bdecacfbe4 Revert "Revert "Revert "Revert "Revert "Revert "Redefine the meaning of sample counts in GPU backend.""""""
This reverts commit 3a2cc2c2ec.

Fix code with samplecnt=0 that slipped in between trybots/CQ and landing of previous version

Change-Id: Iab19f2e8d1e9901601c8c76244d7a88c5d707fab
Reviewed-on: https://skia-review.googlesource.com/103181
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-02-03 01:59:59 +00:00
Brian Salomon
3a2cc2c2ec Revert "Revert "Revert "Revert "Revert "Redefine the meaning of sample counts in GPU backend."""""
This reverts commit 5bb82cbecd.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Revert "Revert "Revert "Redefine the meaning of sample counts in GPU backend.""""
> 
> This reverts commit 18c52a7b52.
> 
> Also relands "More sample count cleanup:" and "Add new GrContext queries for imagability, surfacability, and max sample count of color types"
> 
> 
> Bug: skia:
> Change-Id: I4028105a3a1f16ce3944e134619eb6245af6b947
> Reviewed-on: https://skia-review.googlesource.com/102940
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=egdaniel@google.com,bsalomon@google.com

Change-Id: Idee23be2f1719f0bdc9305043e95a2d589bee8d1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/103220
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-02-03 00:25:20 +00:00
Brian Salomon
5bb82cbecd Revert "Revert "Revert "Revert "Redefine the meaning of sample counts in GPU backend.""""
This reverts commit 18c52a7b52.

Also relands "More sample count cleanup:" and "Add new GrContext queries for imagability, surfacability, and max sample count of color types"


Bug: skia:
Change-Id: I4028105a3a1f16ce3944e134619eb6245af6b947
Reviewed-on: https://skia-review.googlesource.com/102940
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-02-02 23:37:59 +00:00
Stephan Altmueller
dd3eca1fc5 [skqp] More args for skqp related scripts
- allows to choose api versions in run_testlab.go
- adds api_version and work_arounds to generate_gn_args

Bug: skia:
Change-Id: I87516b493f4d8eef3689d1722a5dd864131a44f8
Reviewed-on: https://skia-review.googlesource.com/102900
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Stephan Altmueller <stephana@google.com>
2018-02-02 20:48:59 +00:00
Cary Clark
4efcb7d100 handle degenerate cubic loops
fuzzer generated a cubic with a very tiny loop at one end.
Breaking the cubic in two generated a piece so small it was
discarded, passing the original along.

Instead, use the loop detection as a hint that passing
the original may fail further along. Keep the big piece,
which is more linear than the original;
and change its end to match the original input if the
small piece isn't worth keeping.

R=kjlubick
Bug: skia:7480
Change-Id: If4c5cd46dbf7e16526269f2854e4f2278f427461
Reviewed-on: https://skia-review.googlesource.com/103100
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-02-02 20:39:09 +00:00
Hal Canary
553ca26136 SkQP: stop using global across jni calls
BIG=skia:7572
Change-Id: I9231e5264305eb871e31ec7b9d23c042135bbefc
Reviewed-on: https://skia-review.googlesource.com/103022
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-02-02 19:00:19 +00:00
Derek Sollenberger
5d3f7704bf Add gn_to_bp script for SkQP.
This refactors the current gn_to_bp script and moves the common
components into a utils class.  Both gn_to_bp scripts now also
accept an optional param (--gn <gn_path>) to make it easier to run
within the Android tree where we don't have the DEPS synced.

Change-Id: Idc4de7b3993e63e21a5b7137b1873d82a8e1843e
Reviewed-on: https://skia-review.googlesource.com/102184
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-02-02 15:12:20 +00:00
Hal Canary
a3ca5f857a SkQP: flatten report images
Change-Id: If590ceb362b4d2e23da72543f40f6255502c63f4
Reviewed-on: https://skia-review.googlesource.com/102486
Reviewed-by: Stephan Altmueller <stephana@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-02-02 15:10:19 +00:00
Brian Salomon
18c52a7b52 Revert "Revert "Revert "Redefine the meaning of sample counts in GPU backend."""
This reverts commit d0d7270fcc.

Revert "More sample count cleanup:"

This reverts commit d653cac70e.

Revert "Add new GrContext queries for imagability, surfacability, and max sample count of color types"

This reverts commit 85ae7159c9.


Need to understand NVPR perf changes before relanding

Change-Id: I0db075fb42438ef2a1f9885df184dce52892ac4b
Reviewed-on: https://skia-review.googlesource.com/102780
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-02-02 12:19:52 +00:00
Brian Salomon
85ae7159c9 Add new GrContext queries for imagability, surfacability, and max sample count of color types
Bug: skia:7538
Change-Id: I235fc1aa947ba57faa7aef5e7e7ce9241b315fff
Reviewed-on: https://skia-review.googlesource.com/99704
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-02-02 00:16:28 +00:00
Herb Derby
b2922f64a8 Consolidate all the id handling and caching code.
BUG=skia:7515

Change-Id: Iab31e8cadfaa1ce09d85aab9cc84a3e614ea5e45
Reviewed-on: https://skia-review.googlesource.com/100420
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
2018-02-01 22:01:54 +00:00
Brian Salomon
d653cac70e More sample count cleanup:
rename getSampleCount -> getRenderTargetSampleCount because it will return
0 when a config is not renderable but *is* supported as a texture format.
(Old name kept around until Chrome stops calling it)

Add virtual GrCaps::maxRenderTargetSampleCount(GrPixelConfig).

Devirtualize isConfigRenderable() and implement as maxRTSC != 0. Separate implementation for version with bool withMSAA param to be removed after Flutter is updated to no longer call.

Consolidate various file static GrSurfaceDesc validators fns into GrCaps::validateSurfaceDesc().


Bug: skia:
Change-Id: Ie30a291aa027e910df3bd90fac8518ccdb39e53f
Reviewed-on: https://skia-review.googlesource.com/102141
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-02-01 21:56:49 +00:00
Brian Salomon
d0d7270fcc Revert "Revert "Redefine the meaning of sample counts in GPU backend.""
Fixes gpu config default samples to be 1 and updates config parsing test accordingly.

This reverts commit c1ce2f7966.

Bug: skia:
Change-Id: I456973b1f52ced85a2011ea10fc49449bfc5846f
Reviewed-on: https://skia-review.googlesource.com/102147
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-02-01 21:15:39 +00:00
Hal Canary
2331c82e0d SkQP: skia_skqp_global_error_tolerance
Change-Id: I991f6a5a6fde3815cd5487227f22014570cfb5d5
Reviewed-on: https://skia-review.googlesource.com/102681
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-02-01 21:10:49 +00:00
Hal Canary
b296f017a6 SkQP: README: note need java8 not other version
Change-Id: I4743df622bfbcf75d3335226cc5ea4c63de92762
Reviewed-on: https://skia-review.googlesource.com/102323
Reviewed-by: Hal Canary <halcanary@google.com>
2018-02-01 20:12:48 +00:00
Brian Salomon
c1ce2f7966 Revert "Redefine the meaning of sample counts in GPU backend."
This reverts commit 48825b11ad.

Reason for revert: nanobench

Original change's description:
> Redefine the meaning of sample counts in GPU backend.
> 
> Old: 0  -> nonMSAA
>      1+ -> MSAA
> 
> New:
>      0  -> error/unsupported
>      1  -> nonMSAA
>      2+ -> MSAA
> 
> We still allow 0 to mean nonMSAA in three sets of public APIs for backwards compatibility:
> 
> 1) SkSurface factories
> 2) GrBackendRenderTarget constructors
> 3) GrCaps::getSampleCnt()'s requestedCount parameter
> 
> However, we immediately clamp to 1 and treat 0 as invalid/non-renderable internally.
> 
> This also changes the behavior when using a large sample count. We now fail in that case rather than using the largest sample available sample count. GrCaps::getSampleCount() will return 0 in this case.
> 
> 
> Bug: skia:
> Change-Id: Ida22c6b22c1365e563c9046b611e88bf5eb3ff33
> Reviewed-on: https://skia-review.googlesource.com/101560
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=egdaniel@google.com,bsalomon@google.com

Change-Id: Ic257619a8a5ee9ac15419ecf10259e42daed7f82
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/102662
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-02-01 18:34:40 +00:00
Brian Salomon
48825b11ad Redefine the meaning of sample counts in GPU backend.
Old: 0  -> nonMSAA
     1+ -> MSAA

New:
     0  -> error/unsupported
     1  -> nonMSAA
     2+ -> MSAA

We still allow 0 to mean nonMSAA in three sets of public APIs for backwards compatibility:

1) SkSurface factories
2) GrBackendRenderTarget constructors
3) GrCaps::getSampleCnt()'s requestedCount parameter

However, we immediately clamp to 1 and treat 0 as invalid/non-renderable internally.

This also changes the behavior when using a large sample count. We now fail in that case rather than using the largest sample available sample count. GrCaps::getSampleCount() will return 0 in this case.


Bug: skia:
Change-Id: Ida22c6b22c1365e563c9046b611e88bf5eb3ff33
Reviewed-on: https://skia-review.googlesource.com/101560
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-02-01 18:16:58 +00:00
Hal Canary
2e34f6b6e4 SkQP: remove model slack, README
Change-Id: Ifd258ccd633fba11a13ac3ffc92fb684789d3e57
Reviewed-on: https://skia-review.googlesource.com/102205
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-02-01 15:49:43 +00:00
Cary Clark
08895c4814 auto table generation
Replace manually entered summary tables with ones that are populated
and sorted by bookmaker. This introduces a slight regression for
anonymous enums but fixes a lot of bugs and omissions.

The format is

#Topic somethingTopical
#Populate
##

where somethingTopical is one of Subtopics, Constructors, Constants,
Classes_and_Structs, Members, Member_Functions, and Related_Functions.

Fix the bad formatting in SkCanvas reference. The #Error tag was
was corrupting the markdown table. Remove the tag and replace it
with #NoExample.

Next up: revise self-check to know about populated topics.

TBR=caryclark@google.com
Docs-Preview: https://skia.org/?cl=102080
Bug: skia:6898
Change-Id: Idef5d1c14c740c18a81d6a5106182788dd2a09e1
Reviewed-on: https://skia-review.googlesource.com/102080
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-02-01 15:09:17 +00:00
Florin Malita
22c528dcce [skottie] Convert SkottieSlide2 to SkSceneGraph animators.
Instead of dispatching ticks explicitly, bind Animations to the Scene
using ForwardingAnimator adaptors.

TBR=

Change-Id: I9faffed5c96157c781cc96729395b52d3f841e2b
Reviewed-on: https://skia-review.googlesource.com/102500
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-02-01 00:28:32 +00:00
Florin Malita
51012ce332 [sksg] Initial text support
Use the new node type for SkottieSlide2 labels.

TBR=

Change-Id: Icd6a4faf1c281bd83a2331c0072d1a6ed71acc09
Reviewed-on: https://skia-review.googlesource.com/102441
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-01-31 22:36:05 +00:00
Hal Canary
9c17391cef SkQP: report, use image-rendering:pixelated
Change-Id: If0542634b96dd98e0b86407bbfe0a346a0e42cbd
Reviewed-on: https://skia-review.googlesource.com/102343
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-31 21:13:56 +00:00
Florin Malita
bcd07230eb [skottie] Convert (most of) SkottieSlide2 to SkSceneGraph
Each Skottie animation is now a transformed sksg node.

TBR=

Change-Id: Ib5c153e8279e1a74a242b0eb193c4463898b09ea
Reviewed-on: https://skia-review.googlesource.com/102201
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-01-31 19:15:45 +00:00
Hal Canary
75454f58f5 SkQP: report formatting, junit classname
Change-Id: Ibc5b55c98242c50b62b16134e0a504c04a458f6c
Reviewed-on: https://skia-review.googlesource.com/102320
Reviewed-by: Hal Canary <halcanary@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-31 18:52:45 +00:00
Hal Canary
4689b543a2 SkQP: skia_skqp_enable_driver_correctness_workarounds
Change-Id: If61341423ff03efa48814a393f16eaaee02cecbd
Reviewed-on: https://skia-review.googlesource.com/102183
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-31 17:18:25 +00:00
Hal Canary
ce243ba109 SkQP: fix upload/download scripts
Change-Id: If2b2ec786630e1ecea159e0804547a79478138f5
Reviewed-on: https://skia-review.googlesource.com/101844
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-30 21:40:40 +00:00
Hal Canary
51494f6615 SkQP: Allow checking against nearby pixel's expectations.
Also more verbose logging.

Change-Id: Ib2d9e3074d155140f14ab8818a332ce926488b79
Reviewed-on: https://skia-review.googlesource.com/101543
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-30 20:29:59 +00:00
Hal Canary
537d9c0229 SkQP: remove skia_embed_resources option
Motivation: delete unnecessary code.  ResourceFactory.h provides a much more
flexible way of fixing the same problem.

Change-Id: Ib8a3ce25ce98e4f752dc1e7ce88eb9ceb95a4372
Reviewed-on: https://skia-review.googlesource.com/101920
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-30 19:24:15 +00:00
Hal Canary
ff2742eba8 SkQP: slim deps. Also skia_enable_fontmgr_empty
Change-Id: I24ee2fb3a4a4ca03a60ee2f1a90e022825eee409
Reviewed-on: https://skia-review.googlesource.com/101820
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-30 18:57:45 +00:00
Mike Reed
63227ca63b handle clipping large triangles
originally found by fuzzer.

Bug: skia:
Change-Id: I45007a619f13936153c0db8a60b3631a2c9db20c
Reviewed-on: https://skia-review.googlesource.com/101741
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-01-30 15:56:35 +00:00
Cary Clark
ab2621d3e2 generate tables instead of manual entry
- make descriptions of table entries phrases instead of sentences;
lower case start, no ending period (not enforced, yet)

- add #Line markup to move one line descriptions to the #Method
body. Later, will generate tables like Member_Functions from this

- add #In markup to associate a #Method with a #Subtopic. Later, will
generate tables of related methods from this

- remove return type from operator overloads in tables

- add new colorTypes to examples that index into arrays of strings
to name them


Docs-Preview: https://skia.org/?cl=100422
TBR=caryclark@google.com
Bug: skia:6898
Change-Id: I8558048866369f419f1944832b99c05da3fd52bb
Reviewed-on: https://skia-review.googlesource.com/100422
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-01-30 15:32:15 +00:00
Brian Salomon
e41e1769e7 Add kRGBX_8888, kRGBA_1010102, and kRGBX_1010102 color types. Unused for now.
BUG= skia:7533

Change-Id: I4b3f6b827fd833ba2d07895884d2abc9a3132366
Reviewed-on: https://skia-review.googlesource.com/99781
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-01-30 01:59:31 +00:00
Hal Canary
b0c427b1f2 SkQP: error image now opaque
Also more explanation in the report.

Change-Id: I1d91efb5b5af064d90da5383e4182c8cef197e0c
Reviewed-on: https://skia-review.googlesource.com/101541
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-29 22:02:49 +00:00
Ben Wagner
36a944f1f8 Don't add lines that don't fit on the page.
Check to see if the paragraph will fit on the page and start a new page
if it doesn't.

Change-Id: I053e4199d992628321fc317003c7b44b58fa61f8
Reviewed-on: https://skia-review.googlesource.com/101481
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-01-29 21:47:14 +00:00
Hal Canary
b4d01a95c9 SkQP: ResourceFactory
Change-Id: Ic57a86ec115e3ace52615c0b8e9a22a915988850
Reviewed-on: https://skia-review.googlesource.com/101320
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-29 21:23:33 +00:00
Mike Klein
88d90714fa Revert "hide picture virtuals (no public callers)"
This reverts commit 8005bff7e6.

Reason for revert: hwui, flutter, and headless blink in G3 all still using these.

Original change's description:
> hide picture virtuals (no public callers)
> 
> This prepares the way for a clean impl of a "placeholder" picture that never unrolls
> 
> Bug: skia:
> Change-Id: I3b5785c5c94432b54e9a7dc280b2a6e716592473
> Reviewed-on: https://skia-review.googlesource.com/100260
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Mike Klein <mtklein@chromium.org>

TBR=mtklein@chromium.org,mtklein@google.com,reed@google.com

Change-Id: I385789dd420588ea9a9390c8a44c6ecb96c7f358
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/100880
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-01-27 17:30:15 +00:00
Mike Reed
8005bff7e6 hide picture virtuals (no public callers)
This prepares the way for a clean impl of a "placeholder" picture that never unrolls

Bug: skia:
Change-Id: I3b5785c5c94432b54e9a7dc280b2a6e716592473
Reviewed-on: https://skia-review.googlesource.com/100260
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2018-01-27 04:02:55 +00:00
Mike Klein
5bcef359b2 Revert "remove third_party/etc1"
This reverts commit 9d7a73527a.

Reason for revert: still used by Fiber in Google3

Original change's description:
> remove third_party/etc1
> 
> Nothing seems to reference it.
> 
> Change-Id: Ib009a7dc33d31439b11588758015a07485f56eaa
> Reviewed-on: https://skia-review.googlesource.com/99861
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>

TBR=mtklein@chromium.org,robertphillips@google.com

Change-Id: I12b950931f0680576faefd1907a26afe22cf680f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/100460
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-01-26 22:41:35 +00:00
Hal Canary
323df5720c SkQP: more slack
NOTRY=true
Change-Id: Ibc4efe070cb6e1e69f57f34808b277bf0257ce06
Reviewed-on: https://skia-review.googlesource.com/100421
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
2018-01-26 22:07:44 +00:00
Florin Malita
210b629b32 Revert "Simplify call when finished with bitmaps."
This reverts commit ec48afdc2a.

Reason for revert: broke skdiff

Original change's description:
> Simplify call when finished with bitmaps.
> 
> Bug: skia:
> Change-Id: I841052bdaf68f6ec4c98a045712941f313a7b27b
> Reviewed-on: https://skia-review.googlesource.com/94000
> Reviewed-by: Hal Canary <halcanary@google.com>

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

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

Bug: skia:
Change-Id: Ic3586eb42d7a6cd6c4708381272a6c87a8c5fb1c
Reviewed-on: https://skia-review.googlesource.com/100360
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-01-26 21:44:24 +00:00
Hal Canary
71eabfe9e9 SkQP: re-enable workarounds for unit tests. Also, more logging
Change-Id: I74de5477c3cc9a034553363ac525d8f264478153
Reviewed-on: https://skia-review.googlesource.com/99862
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-26 20:44:50 +00:00
Mike Klein
9d7a73527a remove third_party/etc1
Nothing seems to reference it.

Change-Id: Ib009a7dc33d31439b11588758015a07485f56eaa
Reviewed-on: https://skia-review.googlesource.com/99861
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-01-26 20:15:50 +00:00
Mike Klein
333848272c remove SkColorSpace_Base
The type SkColorSpace_Base doesn't need to exist.  Its one type() query
can be answered instead by toXYZD50().

Now all that's left in the file is SkGammas, so rename it to SkGammas.h.

Change-Id: Id60ddbfb342accfd5674ae89b37a24a6583ef7b8
Reviewed-on: https://skia-review.googlesource.com/99702
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-01-26 19:52:20 +00:00
Mike Klein
8f11d4dcaf eliminate SK_BUILD_FOR_WIN32
SK_BUILD_FOR_WIN and SK_BUILD_FOR_WIN32 have long meant the same thing.

Chrome fix is https://chromium-review.googlesource.com/c/chromium/src/+/884007

Change-Id: I0e907b1bcd2a358eabf776f414fd3aeb3c689561
Reviewed-on: https://skia-review.googlesource.com/99340
Reviewed-by: Mike Reed <reed@google.com>
2018-01-26 19:52:04 +00:00
Herb Derby
d08c682620 Fix typeface duplication problem.
This makes the prototype twice as fast. The code was creating a
new SkTypefaceProxy each time any SkFontid was received.
This caused the unique id on the SkTypeface base class to
increment. Therefore every string of characters got a new
descriptor.

BUG=skia:7515

Change-Id: I2d31f79a7ad119fed246fd5b39fd55759d919554
Reviewed-on: https://skia-review.googlesource.com/99980
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2018-01-26 18:41:10 +00:00
Cary Clark
2dc84ad3ef working on global enum and image info
Added global enum support. That exposed one
big hole in bookmaker: The topic overview
should not be in the class or struct if
the topic includes multiple objects, which
is the case for SkImageInfo and enums like
SkColorType.

This straightens that out, and then used that
knowledge to strengthen the topics in
SkRect as a test. Now SkRect has more
groups of methods, and can expose and link
to sets of methods with the same name.

This work also is getting ready for tightening
SeeAlso data, to be checked as part of the
bots' tasks soon.

Also, remove links from markup for lowercase
method names unless the reference has
trailing parentheses.

TBR=caryclark@google.com
Docs-Preview: https://skia.org/?cl=98782
Bug: skia:6898
Change-Id: I35419c9789da17e272047bf7b9c95b1cf44bb7fe
Reviewed-on: https://skia-review.googlesource.com/98782
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@google.com>
2018-01-26 18:22:10 +00:00
Brian Salomon
33bf56d6b4 Remove GrContext::getRecommendedSampleCount and SkPictureContentInfo::suitableForGpuRasterization
Change-Id: I8c5521f87c5eae185e68622aa104cb8911efa8c8
Reviewed-on: https://skia-review.googlesource.com/100183
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-01-26 17:13:00 +00:00
Ben Wagner
5a907a7cce Fix SkShaper_harfbuzz bidi and non-bmp.
The mismatch between utf8, 16, and 32 and ubudi always wanting to think
in terms of utf16 causes unhappiness.

Change-Id: I375aa61810e344f3b92cba4780c2262d9a878272
Reviewed-on: https://skia-review.googlesource.com/99922
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-01-26 15:11:28 +00:00
Herb Derby
4f505f9c77 Add cache for handling of contexts.
Added scaler context cache on the Renderer side that
maps descriptors to scaler contexts.

Added preliminary timing code.

Remove unused print statements.

BUG=skia:7515

Change-Id: I156ba656aab113e0ceae0c2ea0f9f3c1d3d61d6a
Reviewed-on: https://skia-review.googlesource.com/99540
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
2018-01-25 22:33:07 +00:00
Ben Wagner
5d4dd8bef5 SkShaper to account for line wrap.
Now that line wrap is possible, handle it.

Change-Id: Ibe2c849cedfd91167c2d48352999052b61d47e9d
Reviewed-on: https://skia-review.googlesource.com/99885
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-01-25 21:28:22 +00:00
Ben Wagner
8d45a38abb Improve SkShaper.
Change-Id: Iac536d05ef998bd613051bb7473dcb0523f0881d
Reviewed-on: https://skia-review.googlesource.com/76861
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-01-25 18:08:36 +00:00
Hal Canary
fd1d20b4bb SkQP: run_skqp_exe script
Change-Id: I9e3e4994e15856edd86a1f0f0ab91297c325dcca
Reviewed-on: https://skia-review.googlesource.com/99662
Reviewed-by: Hal Canary <halcanary@google.com>
2018-01-25 16:30:22 +00:00
Hal Canary
7c434fe238 SkQP: Fix errors in README.md
NOTRY=true
Change-Id: I5d9e1834adbff72122c825c63345432a324d5856
Reviewed-on: https://skia-review.googlesource.com/99760
Reviewed-by: Hal Canary <halcanary@google.com>
2018-01-25 15:02:03 +00:00
Brian Salomon
d1e6192961 Add predefined gles4444 config
Change-Id: I166bd3d99090dde58f71043e830a1ee132dac044
Reviewed-on: https://skia-review.googlesource.com/99442
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-01-25 14:11:02 +00:00
Brian Salomon
324d59868c Remove predefined instanced configs
Change-Id: Ib03ff035d308c6809c7527b372aac7558e3d3132
Reviewed-on: https://skia-review.googlesource.com/99243
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-01-25 14:01:02 +00:00
Mike Klein
a8a51cee42 Start of cross process SkScalerContext.
Change-Id: I16d9293cbc0bef1bdce1260d1bd9b43d8853d070
Reviewed-on: https://skia-review.googlesource.com/93641
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
2018-01-24 22:57:11 +00:00
Hal Canary
181ec2f02f SkQP: Stop requiring users to use posix shell
Also update README.md

Change-Id: I62f5ac38ff4a8c3aa19d895441a76664cb8e8176
Reviewed-on: https://skia-review.googlesource.com/99302
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-24 21:11:19 +00:00
Hal Canary
9ef0989f4c SkQP: add slack to model
Change-Id: Id14e5d4d6c5d517c29cd09b815ede1b52604d96a
Reviewed-on: https://skia-review.googlesource.com/99322
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-24 20:47:59 +00:00
Hal Canary
c341d3829d SkQP: make report.html smaller
Change-Id: Ie43bf83fbd94fdf7edc79cfe403b01474894199d
Reviewed-on: https://skia-review.googlesource.com/99280
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-24 16:46:10 +00:00
Hal Canary
3da15bb1c8 SkQP: fix upload script
Also report transparency

Change-Id: I38c803d1abe1892dc4d7ee6d917f5a39eac6c1c3
Reviewed-on: https://skia-review.googlesource.com/98762
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-23 22:37:30 +00:00
Mike Reed
80747ef591 move the guts of SkMaskFilter.h into SkMaskFilterBase.h
Bug: skia:
Change-Id: I29ad0960156562867429542d3cfbf3d639529cab
Reviewed-on: https://skia-review.googlesource.com/98802
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-01-23 21:14:20 +00:00
Hal Canary
8d4a9f01f6 SkQP: upload_directory_contents.sh is sharded
NOTRY=true
Change-Id: I1976778cd2c2bdc82f551285b3d36212034f8f7a
Reviewed-on: https://skia-review.googlesource.com/98643
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-23 19:46:39 +00:00
Hal Canary
16b56f5dcf SkQP: set fDisableDriverCorrectnessWorkarounds
Change-Id: I43ea362c5ff726278e2b74bea73cd54a9ef07761
Reviewed-on: https://skia-review.googlesource.com/98843
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-01-23 19:36:20 +00:00
Hal Canary
23fda7ad07 SkQP: Cloud Scripts
- tools/skqp/generate_gn_args.sh - single script to generate
    configuration used to build SkQP.
  - tools/skqp/make_model.sh - script to execute make_gmkb.go and put
    the results in the correct place.
  - tools/skqp/{up,down}load_directory_contents.sh - scripts to move
    large assets into the cloud and retrieve them.
  - tools/skqp/gm_runner.cpp - treat missing text files as empty.
  - tools/skqp/make_apk.sh - make use of generate_gn_args.sh.
  - tools/skqp/make_{model,known_tests}.sh - better error handling,
    and also stop calling `git add`.

Change-Id: Ib1803b4d68e63945f2c47f8eb6cb96375d24e3be
Reviewed-on: https://skia-review.googlesource.com/98842
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-23 19:07:11 +00:00
Brian Salomon
01b476a028 Start of adding GrContextOption that overrides driver workarounds.
This handles most of the GL driver workarounds but not Vulkan (yet). GL wokarounds related to config support are still not handled.

Change-Id: I3d0f62ac8a0f6e9ba13632ea82acdc493912c63d
Reviewed-on: https://skia-review.googlesource.com/98382
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-01-23 18:33:49 +00:00
Cary Clark
e70b9e899c report error on global enum
rather than segfault when running
bookmaker cross check, report
a parsable error.

In a separate CL, I'll add support
for global enums.

R=herb@google.com
Bug: skia:6898
Change-Id: I91c62df5470acbf5c0acf0c558d2d5d3bf48d40e
Reviewed-on: https://skia-review.googlesource.com/98682
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2018-01-23 18:23:41 +00:00
Robert Phillips
de9cef2f71 rm spurious std::move from getFontAtlasImage_ForTesting
Change-Id: I3a384126b01d6f066f70f6ef8e75bf3445f94daf
Reviewed-on: https://skia-review.googlesource.com/98706
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-01-23 18:18:38 +00:00
Hal Canary
4080305f57 SkQP: add some scripts for admin
Change-Id: Idfba4c3e91eb048792ab395d4ab2e4a98ed8888c
Reviewed-on: https://skia-review.googlesource.com/98323
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-22 22:28:06 +00:00
Hal Canary
a9de760a21 SkQP: replace blacklist with: DoNotExecuteInExperimentalMode and NoScoreInCompatibilityTestMode
Also clean up some things, fix docs, whitelist.

Change-Id: I2818d973978ffe1b8ce0cc9c69f8d91ab4a0ef22
Reviewed-on: https://skia-review.googlesource.com/91805
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-22 20:11:57 +00:00
Jim Van Verth
0848fb0b3e Fix startup for SampleSlide
When we start up Viewer with a SampleSlide as the first slide, nothing
gets rendered because SampleSlide depends on the backend being
initialized before setting its dimensions. This pushes the first slide's
initialization after the backend creation.

Change-Id: I8f83fe7b3973c40234104f1a83c0a60750694311
Reviewed-on: https://skia-review.googlesource.com/98161
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-01-22 19:24:47 +00:00
Jim Van Verth
87d18ced0a Add Chinese zoom Sample.
Bug: skia:
Change-Id: Ibe5ffee64fe9fccd6b8d86c1310a78d2d51e424e
Reviewed-on: https://skia-review.googlesource.com/97065
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-01-22 18:20:27 +00:00
Robert Phillips
f35fd8d2f2 Move more internal methods from GrContext to GrContextPriv (take 3)
Change-Id: Ied630e61cf95780bf85032867e6ce663e1ef9c2f
Reviewed-on: https://skia-review.googlesource.com/98000
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-01-22 16:53:17 +00:00
Cary Clark
5081eede67 self check and corrections
Add self-checking code that looks to see that overview is populated
and alphabetized. Eventually, this will self-check to see if
methods are collected into subtopics and have reciprocal 'see also'
data.

Standardize phrases so that they don't start with a capital or end
with a period.

Self-check is a work in progress, so it is not yet run by the
bookmaker bots. The self-check should run cleanly, however. To run
it:

./out/skia/bookmaker -b docs -k

The expected output is doc stats. Self-check errors such as missing
methods in the overview would be reported here if there are any.

TBR=caryclark@google.com
Docs-Preview: https://skia.org/?cl=93621
Bug: skia:6898
Change-Id: I8f1f817a7b083b13138ee33d1aa090445e9304c6
Reviewed-on: https://skia-review.googlesource.com/93621
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-01-22 14:04:18 +00:00
Mike Reed
8ad91a9bf8 remove unused SkRasterizer
Bug: skia:7500
Change-Id: Iaa683cf8f0b18887cce4ec676631d1e1efee1712
Reviewed-on: https://skia-review.googlesource.com/97400
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2018-01-21 18:24:11 +00:00
Leon Scroggins
2914555e00 Revert "Move more internal methods from GrContext to GrContextPriv (take 2)"
This reverts commit c22e50bd31.

Reason for revert: Speculative fix for Android roll

Original change's description:
> Move more internal methods from GrContext to GrContextPriv (take 2)
> 
> Change-Id: I47108910517d61edeb52f82793d384fdb5605d45
> Reviewed-on: https://skia-review.googlesource.com/97241
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com

Change-Id: I3a77ac33c5f48529357cf9c683d5f4cacaa2379f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/97582
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-01-20 17:09:10 +00:00
Robert Phillips
c22e50bd31 Move more internal methods from GrContext to GrContextPriv (take 2)
Change-Id: I47108910517d61edeb52f82793d384fdb5605d45
Reviewed-on: https://skia-review.googlesource.com/97241
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-01-19 19:26:46 +00:00
Hal Canary
07320e46c0 Revert "Move more internal methods from GrContext to GrContextPriv"
This reverts commit f440cecbfd.

Reason for revert: breaking android builds. 

Original change's description:
> Move more internal methods from GrContext to GrContextPriv
> 
> TBR=bsalomon@google.com
> Change-Id: Ia8cf0e0d30451c69bc7a08215aafa6abe6e0ddbe
> Reviewed-on: https://skia-review.googlesource.com/97080
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com

Change-Id: If263f8161f0fbe3fc6ee8f34bb09e237705c3694
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/97200
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-19 18:18:24 +00:00
Hal Canary
b69a2f6644 SkQP: use bitmap.pixmap()
Change-Id: I8e372f75a1a0b32db88808b0b4d7314c7fba9cda
Reviewed-on: https://skia-review.googlesource.com/97161
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-19 18:07:43 +00:00
Robert Phillips
f440cecbfd Move more internal methods from GrContext to GrContextPriv
TBR=bsalomon@google.com
Change-Id: Ia8cf0e0d30451c69bc7a08215aafa6abe6e0ddbe
Reviewed-on: https://skia-review.googlesource.com/97080
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-01-19 18:03:03 +00:00
Hal Canary
8bad7e01ba SkQP: better logging
Change-Id: If0b093cfe646f5805cc4d0660c581150fbf992f4
Reviewed-on: https://skia-review.googlesource.com/96702
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
2018-01-19 16:19:23 +00:00
Mike Reed
8008df1080 handle large rects, rename helper
To fix gm/bigrect, needed to do adjust "largest" rect so it doesn't become empty when round-tripping with SkRect/SkIRect.
I renamed it after this.

Bug: skia:
Change-Id: I747782c8456da603cf298275d2300ea1996e7629
Reviewed-on: https://skia-review.googlesource.com/95563
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
2018-01-17 17:38:57 +00:00
Florin Malita
ab99c34561 Fix Viewer slide load on backend change - take 2
Split the slide switching logic (including load/unload) into
setCurrentSlide(), while keeping setupCurrentSlide() to deal with config
only.

Change-Id: I5bd2363ffd401c1b756217f845d4dbd16d6be5d6
Reviewed-on: https://skia-review.googlesource.com/94864
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-01-17 14:19:46 +00:00
Florin Malita
54f65c473f Skotty -> Skottie
Change-Id: If8b6516024c69b0fc256208874f6666a4e70e12c
Reviewed-on: https://skia-review.googlesource.com/95241
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-01-17 14:15:36 +00:00
Stephan Altmueller
8ee7fb0083 Fix directory creation in skqp app
Bug: skia:
Change-Id: Id26832ccce7d09d3d3d640bcdd11a424f18943f7
Reviewed-on: https://skia-review.googlesource.com/92682
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-16 21:33:39 +00:00
Robert Phillips
6be756b673 Move resourceProvider accessor to GrContextPriv (take 2)
TBR=bsalomon@google.com
Change-Id: I3fd46ebfad0d04b8a2bfa6190f81308f3a6be620
Reviewed-on: https://skia-review.googlesource.com/95121
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-01-16 20:53:28 +00:00
Florin Malita
3d1869453e Revert "Fix Viewer slide load on backend change"
This reverts commit 5fb009df3c.

Reason for revert: Broke first slide.

Original change's description:
> Fix Viewer slide load on backend change
> 
> Currently Viewer fires unbalanced load events on backend change.
> 
> Instead of calling setupCurrentSlide() with an invalid prevSlide and
> always forcing a slide load, pass a |force| argument on backend change.
> 
> Change-Id: I146b42331f5aa9721d4f407b81c13f4512d67d61
> Reviewed-on: https://skia-review.googlesource.com/94960
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Florin Malita <fmalita@chromium.org>

TBR=brianosman@google.com,fmalita@chromium.org

Change-Id: I52bbc9fb44f6ed4e04bcc549b2ec72c8600c823a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/94861
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2018-01-16 20:05:20 +00:00
Hal Canary
be46e24d57 Revert "Move resourceProvider accessor to GrContextPriv"
This reverts commit 1f9ed8501b.

Reason for revert: 
 1. breaking android roll 
 2. breaking Build-Debian9-Clang-arm-Release-Android_API26



Original change's description:
> Move resourceProvider accessor to GrContextPriv
> 
> Change-Id: I5cddd620a7ec4b006b7359864ede58e9d4dd684e
> Reviewed-on: https://skia-review.googlesource.com/94340
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com

Change-Id: I20b2d267c0925f20453b635663654967199a1197
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/94964
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-16 18:33:14 +00:00
Florin Malita
5fb009df3c Fix Viewer slide load on backend change
Currently Viewer fires unbalanced load events on backend change.

Instead of calling setupCurrentSlide() with an invalid prevSlide and
always forcing a slide load, pass a |force| argument on backend change.

Change-Id: I146b42331f5aa9721d4f407b81c13f4512d67d61
Reviewed-on: https://skia-review.googlesource.com/94960
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-01-16 17:12:54 +00:00
Greg Daniel
f0fe02fdc6 Delete Gr testing contexts in reverse order
This fixes issues where we create a child shared context and expect work
on that to finish before deleting the parent.

Bug: skia:
Change-Id: Iab41b22026cd4b9ec1b9d74e7841ee5051df6036
Reviewed-on: https://skia-review.googlesource.com/94962
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-01-16 17:12:53 +00:00
Robert Phillips
1f9ed8501b Move resourceProvider accessor to GrContextPriv
Change-Id: I5cddd620a7ec4b006b7359864ede58e9d4dd684e
Reviewed-on: https://skia-review.googlesource.com/94340
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-01-16 17:02:45 +00:00
Mike Reed
ec48afdc2a Simplify call when finished with bitmaps.
Bug: skia:
Change-Id: I841052bdaf68f6ec4c98a045712941f313a7b27b
Reviewed-on: https://skia-review.googlesource.com/94000
Reviewed-by: Hal Canary <halcanary@google.com>
2018-01-12 16:41:45 +00:00
Eric Boren
d75fdc64be Add bisect_roll tool
1. Loads the list of commits which have not yet rolled.
2. Loads the recent roll attempts.
3. Suggests a commit to try.
4. Uploads a roll CL at the commit specified by the user.

Bug: skia:
Change-Id: I68a7f6dbbca638cc9f17bad4eed71e889fe43b6e
Reviewed-on: https://skia-review.googlesource.com/93580
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2018-01-11 19:42:55 +00:00
Cary Clark
ac47b88d3c update bookmaker to ToT
more image docs, still not done
add ability to comment out non-working examples easily
start work on additional self-checks
clean up use of this-> in docs

TBR=reed@google.com
Docs-Preview: https://skia.org/?cl=91720
Bug: skia:6898
Change-Id: I706ab8145290e53ab67d3f509ccf4e1225adb3c3
Reviewed-on: https://skia-review.googlesource.com/91720
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-01-11 19:37:49 +00:00
Robert Phillips
cf8626d691 Remove internal files from externally visible markdown documentation
Change-Id: I8d2d8d64891b7952bee9f7f39ff15ad30e3fabdd
Reviewed-on: https://skia-review.googlesource.com/93100
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-01-10 13:25:19 +00:00
Florin Malita
df2713c447 [skotty] Minor tools tweaks
* fix "show inval" persistency in SkottySlide
  * add frame-stamp to DM film strip

TBR=
Change-Id: I965b28fa25b4d6ddfa1ddf80f5f9187dff3f943c
Reviewed-on: https://skia-review.googlesource.com/92941
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-01-09 22:06:48 +00:00
Stephan Altmueller
c35959f3cb First version of SkQP app to run on Firebase Testlab
Adds activities to the skqp app so it can run as an Android
app (as opposed to just instrumentation tests).
A user can trigger the tests via a button.
Adds the an intent receiver so the tests can be triggered on
Firebase Testlab via the gameloop option.

It adds the run_testlab.go script to run an apk across devices
on Firebase Testlab.

Bug: skia:
Change-Id: I3ff5c37d743fa47913a916a0fa1e7db3c2cc79c7
Reviewed-on: https://skia-review.googlesource.com/89163
Commit-Queue: Stephan Altmueller <stephana@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2018-01-08 22:42:21 +00:00
Mike Reed
185ffe916e make growToInclude private
Bug: skia:
Change-Id: Id55344ba2f33563d22c2bf4d5829a9a31095a47d
Reviewed-on: https://skia-review.googlesource.com/92143
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-01-08 22:32:51 +00:00
Mike Reed
274218ef01 move largest apis into private
Related to https://skia-review.googlesource.com/c/skia/+/91860

Bug: skia:
Change-Id: Ia8fd981b422bbab75541b078277d2e09e1fc9d41
Reviewed-on: https://skia-review.googlesource.com/91940
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-01-08 20:42:27 +00:00
Florin Malita
4932807824 [skotty,sksg] Initial image support
TBR=
Change-Id: Ib3c918b1d746e4f190ae05708681f2d5519afdb2
Reviewed-on: https://skia-review.googlesource.com/91980
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-01-08 18:11:31 +00:00
Mike Reed
2985987cac add skotty-dir slide
Shows a directory of skotties in a grid

Bug: skia:
Change-Id: I96b0700d8809c94a394cf517222123967afb20dc
Reviewed-on: https://skia-review.googlesource.com/91407
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-01-08 13:44:49 +00:00
Hal Canary
3de24bf20c SkQP: dump csv report
Change-Id: I7485ed3315acdc3dd3b795a42846ed3deedb6b25
Reviewed-on: https://skia-review.googlesource.com/91403
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-07 03:07:46 +00:00
Brian Salomon
88d99df31f [Viewer] Preserve gesture transformation matrix on slide/backend change
Change-Id: I417fb9b6d6b7c95884dff6871731883fe3736437
Reviewed-on: https://skia-review.googlesource.com/91460
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-01-05 18:18:39 +00:00
Yuqian Li
4a577af2d8 Separate compile task from calmbench task
Bug: skia:7344
Change-Id: I019fe5e3178d13ccf3a510bdcf1c81915149def5
Reviewed-on: https://skia-review.googlesource.com/89900
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2018-01-05 18:13:36 +00:00
Cary Clark
f5404bbcf4 update bookmaker
change https://skia-review.googlesource.com/c/skia/+/91380
should have triggered a bookmaker failure but, while
it reported the error it did not return that the check
failed. See
https://chromium-swarm.appspot.com/task?id=3adfe04df6f9ce10&refresh=10

Update bookmaker to detect and return error

also, add some SkImage examples
fixed some linefeeds

TBR=bsalomon@google.com
Docs-Preview: https://skia.org/?cl=90883
Bug: skia:6898
Change-Id: I3530c8d81785b71568f6229c2aad3259dded59d7
Reviewed-on: https://skia-review.googlesource.com/90883
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-01-05 18:13:34 +00:00
Kevin Lubick
4284613cfe Enable conditional-uninitialized flag
Bug: skia:7462
Cq-Include-Trybots: skia.primary:Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-All-SKNX_NO_SIMD
Change-Id: I1c0a09984bf28a5c620a89af56040f018bae6310
Reviewed-on: https://skia-review.googlesource.com/90941
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2018-01-05 18:03:25 +00:00
Cary Clark
7cfcbca716 limit bookmaker status output
streamline 'working as intended' output
notify when output changed
fix bug which appended output incorrectly to SkBitmap.h
fix bug that hid bad SkSurface.h from detection

Docs-Preview: https://skia.org/?cl=90162
Bug: skia:6898
Change-Id: I067cfe5bbad706345fb5cd540cdc3835ce22d822
Reviewed-on: https://skia-review.googlesource.com/90162
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-01-04 21:41:09 +00:00
Mike Reed
d1c65d6708 remove unneeded readbuffer flags
- buffers are always 'cross-process'
- readbuffer is always validating

Bug:796107
Change-Id: I59614e9c29490c0b029c60d2aafe2806671bc9e1
Reviewed-on: https://skia-review.googlesource.com/90560
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-01-03 18:13:39 +00:00
Cary Clark
61dfc3a53d support srgb flag in bookmaker
allow examples to work with colorspace
fix point array plural form
fix spacing after private message
add some SkImage documentation

TBR=caryclark@google.com
Docs-Preview: https://skia.org/?cl=90360
Bug: skia:6898
Change-Id: I045ee68e7dd9747ec5d40d95588bbc1594c45366
Reviewed-on: https://skia-review.googlesource.com/90360
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-01-03 14:21:19 +00:00
Florin Malita
aa4dc62139 [skotty] Clip/scale/center animations in Viewer
Animations have explicit bounds.  Updated Viewer to map the animation
to its full viewport.

TBR=
Change-Id: I5a016cace8ae97e9b4f0b93261fcfb4993ea2307
Reviewed-on: https://skia-review.googlesource.com/90263
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-01-02 21:25:16 +00:00
Yuqian Li
632156d835 Do gclient sync before compile
Bug: skia:7388
Change-Id: I8d68fe754ceeedea8ca7ff53ad9d2bb18a328288
Reviewed-on: https://skia-review.googlesource.com/90241
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2018-01-02 21:20:01 +00:00
Mike Reed
46596ae505 use tool_utils to encapsulate checking for recording canvas and makeSurface
Bug: skia:
Change-Id: Ia93ee09dd213b8d6ad5c18e887add5ff3448c824
Reviewed-on: https://skia-review.googlesource.com/90243
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-01-02 21:06:41 +00:00
Cary Clark
61ca7c56bd update image doc and minor bookmaker fixes
image doc is still a work in progress.
Update online version to latest; updating
include header is still a ways off.

Remove SkPaint::flatten() example since
parameter is not publicly accessible.

Minor changes to fix typedef and std::function
references.

TBR=rmistry@google.com
Docs-Preview: https://skia.org/?cl=87120
Bug: skia:6898
Change-Id: I3553bc5fca97c5997aa61ea034b5ca10cb10df75
Reviewed-on: https://skia-review.googlesource.com/87120
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-01-02 17:00:40 +00:00
Florin Malita
fc043dcd55 [skotty] Add Json DM source
Generates a filmstrip with evenly distributed frames for a Skotty animation.

TBR=
Change-Id: Ia89e0d65d59fd5ab4ef221a231e9b3e0c033828a
Reviewed-on: https://skia-review.googlesource.com/90025
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-12-31 18:44:29 +00:00
Florin Malita
094ccde238 Initial Lottie loader impl (Skotty)
Coarse workflow:

* Construction

  1) build a Json tree
  2) collect asset IDs (for preComp/image layer resolution)
  3) "attach" pass
     - traverse the Json tree
     - build an SkSG dom, one fragment at a time
     - attach "animator" objects to the dom, for each animated prop
  4) done, we can throw away the Json tree

* For each animation tick

  1) iterate over active animators and poke their respective dom nodes/attributes
  2) revalidate the SkSG dom
  3) draw the SkSG dom

Note: post construction, things are super-simple - we just poke SkSG DOM attributes
with interpolated values, and everything else is handled by SkSG (invalidation,
revalidation, render).

Change-Id: I96a02be7eb4fb4cb3831f59bf2b3908ea190c0dd
Reviewed-on: https://skia-review.googlesource.com/89420
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-12-30 22:55:39 +00:00
Hal Canary
4e9a3504aa SkQP: more README
Change-Id: Id22a094445ea75a7dc60270a195b9f42bb6849f1
Reviewed-on: https://skia-review.googlesource.com/88680
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-12-21 21:11:44 +00:00
Cary Clark
f059e7ca18 fix bookmaker return value
crosscheck in bookmaker allows
discovery of multiple errors,
but fails to return that an
error occurred.

Fix SkSurface so it is up to date with includes.
Add include parameter name in SkSurface.
Allow longer parameter descriptions.

TBR=bsalomon@google.com,rmistry@google.com
Docs-Preview: https://skia.org/?cl=88041
Bug: skia:6898
Change-Id: I9daf83f7f6753b3d1dc996a76e4693b3b8d6798c
Reviewed-on: https://skia-review.googlesource.com/88041
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@google.com>
2017-12-21 20:56:30 +00:00
Mike Reed
47fdf6c85e add serialprocs to MultiDocument, hide redundant methods
Bug: skia:
Change-Id: I6521e93af79439bd8c1d2f5130a68492044a2ee9
Reviewed-on: https://skia-review.googlesource.com/87788
Reviewed-by: Wei Li <weili@chromium.org>
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-12-21 12:36:30 +00:00
Mike Reed
b60c5ebf04 remove unused willPlayBackBitmaps from picture
and SkPictureAnalyzer

Bug: skia:
Change-Id: I394eca648234b1a69e6f9a0a88c407366a33d079
Reviewed-on: https://skia-review.googlesource.com/87791
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2017-12-20 20:27:06 +00:00
Mike Reed
e7a58321bb make InternalOnly_ functions actually private
Bug: skia:
Change-Id: Id06ad4283a0cd9835b3349c783b705b30435855a
Reviewed-on: https://skia-review.googlesource.com/87980
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-12-20 19:32:36 +00:00
Hal Canary
2a7f0aa9eb SkQP: better error report workflow
* Generate report in app after running all tests.
  * Add script to unpack backup.ab file.
  * Remove unused index file.
  * Streamline instructions in README.md.

Change-Id: I44c80b17332eb4496ee31578287b691bd646d71a
Reviewed-on: https://skia-review.googlesource.com/86742
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
2017-12-20 19:23:46 +00:00
Brian Osman
16c81a1ee9 Avoid redrawing every time the mouse moves
Bug: skia:
Change-Id: Idc74e6c7e50f8d416d716ee666b37b52792c7c4b
Reviewed-on: https://skia-review.googlesource.com/87789
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-12-20 17:54:46 +00:00
Chris Dalton
c70817a862 Init executor in SetCtxOptionsFromCommonFlags
Bug: skia:
Change-Id: I45501b6e32ac593d5d69c98c1455d9bde01b239f
Reviewed-on: https://skia-review.googlesource.com/87603
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2017-12-20 17:03:34 +00:00
Brian Osman
56a24813a4 Move stats code to new layer (with configurable list of timers)
Bug: skia:
Change-Id: I3ca5c8c7047309983018339ec7b71b9aea5ee786
Reviewed-on: https://skia-review.googlesource.com/86921
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-12-20 16:59:04 +00:00
Brian Salomon
b5086961f3 Add matrix stack to SkAtlasTextTarget.
Makes SkAtlasTextRenderer::SDFVertex now has a 3 component position vector.

Change-Id: I7ec1a8068fb84388a82e1748d6e9d02820d55abd
Reviewed-on: https://skia-review.googlesource.com/84202
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2017-12-20 14:00:44 +00:00
Greg Daniel
faa095e984 Update SkSurface MakeFromBackend* factories to take an SkColorType.
Bug: skia:
Change-Id: Ib1b03b1181ec937843eac2e8d8cb03ebe53e32c1
Reviewed-on: https://skia-review.googlesource.com/86760
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-12-19 18:41:36 +00:00
Chris Dalton
040238bded Add a tools flag to suppress geometry shaders
Bug: skia:
Change-Id: I38736c5d49e3b281c2d23af3908575274ff97b5c
Reviewed-on: https://skia-review.googlesource.com/86282
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-12-19 17:26:56 +00:00
Mike Klein
6613cc5186 GOOGLE3 -> SK_BUILD_FOR_GOOGLE3
This is more consistent with our other SK_BUILD_FOR_... macros,
and less likely to collide with other preprocessor logic.

(Luckily, this was defined in public.bzl, so we can do this
all in one CL in the Skia repo.)

Change-Id: I5f232888288c9c53fad445545d983d0fb0b4add8
Reviewed-on: https://skia-review.googlesource.com/86940
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-12-19 14:42:16 +00:00
Greg Daniel
f5d8758f29 Add new SkImage factory to create from GrBackendTexture with SkColorType
Bug: skia:
Change-Id: I46bdc54b6d9cdacc8f5a06644aa6b110837879f0
Reviewed-on: https://skia-review.googlesource.com/84342
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-12-18 21:17:46 +00:00
Mike Klein
f1f1162273 remove append_from_srgb()
It's now no different than append(from_srgb).

Bug: skia:7419

Change-Id: I97c59b6987f033ec2f1859db40ca3056b87b370a
Reviewed-on: https://skia-review.googlesource.com/86741
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-12-18 19:48:43 +00:00
Hal Canary
28f89389f0 SkQP: add junit app
Change-Id: Ic32eaec6cce1509f07e7cf610717d3b12d335c89
Reviewed-on: https://skia-review.googlesource.com/83921
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-12-18 18:58:52 +00:00
Ravi Mistry
5b92ce1b24 Blacklist mail.google.com from top25_desk pageset
This will not lose coverage because we already have mail.google.com in Skia's
page sets.

NoTry: true
Bug: skia:7421
Change-Id: Ie3d335559e736e9177c9000f41dab25581230c8b
Reviewed-on: https://skia-review.googlesource.com/86500
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2017-12-18 17:34:42 +00:00
Mike Reed
ef03848357 remove deprecated SkPixelSerializer
Bug: skia:
Change-Id: I25d33517f1ec7c08551c79d03763c676d1a662f5
Reviewed-on: https://skia-review.googlesource.com/86360
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-12-16 14:21:32 +00:00
Brian Osman
f09e35eb59 Remove unnecessary includes from Viewer
Bug: skia:
Change-Id: I7b20db66a7eb5b549997fd4307e41937a8753921
Reviewed-on: https://skia-review.googlesource.com/86020
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2017-12-15 20:09:29 +00:00
Hal Canary
d7b3845f3d SkQP: make_gmkb, gm_knowledge (GM Knowledgebase)
Add a real implementation for gm_knowledge.h  This depends on
the presence of files in the form $GMK_DIR/foo/{max,min}.png

The implementation also writes out failures in a report directory.

Add a utility: experimental/make_gmkb which is a stand-alone
go executable that generates the foo/{max,min}.png data.

tools/skqp/README.md has instructions on running SkQP.

Also: add SkFontMgrPriv.h

Change-Id: Ibe1e9a7e7de143d14eee3877f5f2d2d8713f7f49
Reviewed-on: https://skia-review.googlesource.com/65380
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-12-15 17:23:48 +00:00
Mike Reed
a4daf19319 Moving extra options/parameters into PDFMetadata
Bug: skia:
Change-Id: I29aa69e5765a7f8ba05b0361912d1f5276d77de3
Reviewed-on: https://skia-review.googlesource.com/84501
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-12-14 21:20:27 +00:00
Mike Reed
af978a3428 pre-api change, preparing for expanding metadata
Bug: skia:
Change-Id: I367c728172f24166fb7f06a6e22fe37adb8adc4f
Reviewed-on: https://skia-review.googlesource.com/84880
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-12-14 15:37:23 +00:00
Robert Phillips
b67821da87 Add GrBackendTexture & GrBackendRenderTarget access methods to GrTexture and GrRenderTarget
Change-Id: I627fcc2cab1d04169f49e33a6c17e161e9a9772a
Reviewed-on: https://skia-review.googlesource.com/84621
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-12-13 21:34:20 +00:00
Mike Reed
45ab630045 Revert "Revert "impl SkSerial picture procs""
This reverts commit 2a3009931d.

Implement SkSerialProcs for pictures

Bug: skia:
Change-Id: Icde2d912941a19999e204ac5213f519ed5387e12
Reviewed-on: https://skia-review.googlesource.com/84480
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-12-13 17:02:10 +00:00
Ravi Mistry
9747711d94 Telemetry no longer supports credential files so remove support
NoTry: true
Bug: skia:7401
Change-Id: I18b2dfe92b6e998d0799ed95cd5d735706428d1c
Reviewed-on: https://skia-review.googlesource.com/84540
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-12-13 16:06:34 +00:00
Greg Daniel
81b8059d8b Start removing uses of VkFormatToPixelConfig in vulkan backend
Bug: skia:
Change-Id: I2c8e86b9e8ca6a33913be347a3c65af963c5fd12
Reviewed-on: https://skia-review.googlesource.com/84341
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-12-13 15:46:12 +00:00