Commit Graph

474 Commits

Author SHA1 Message Date
Brian Osman
5ea41fc89b Remove more SkColorSpaceXform (and friends)
- gammaencodedpremul GM was just demonstrating something that we
  understand well (and have much better testing for).
- readpixels GM was filled with workarounds for things that are no
  longer true (unpremul images, clamped F16).
- Other uses can be switched to SkConvertPixels trivially.
- Remove SkColorSpaceXformPriv and SkColorLookUpTable, all unused.
- Remove SkColorSpaceXform_skcms.cpp, no longer referenced by clients.

Bug: skia:
Change-Id: I7298bb53aa61b49ad1398ebc504d35c119fd5cf4
Reviewed-on: https://skia-review.googlesource.com/157153
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-26 22:30:05 +00:00
Hal Canary
23564b9249 SkDocument: Factories now located in SkPDFDocument.h and SkXPSDocument.h
Change-Id: I48e73b27e52511292c2c0bd51ef0168766f53a80
Reviewed-on: https://skia-review.googlesource.com/152780
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-09-20 18:21:07 +00:00
Brian Osman
133823d9a7 Load SVGs into memory before parsing
On my Z840, Windows-Clang-Debug, this cuts the total time to construct
(parse) the 72 SVG sources from 66 seconds to 40 seconds. That's still
awful, but all the time is now spent in expat, so further improvements
will require higher level changes.

Bug: skia:
Change-Id: I0dca67ee18652f6fb8647fe8706716d9a01f7cdf
Reviewed-on: https://skia-review.googlesource.com/155603
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-19 18:35:59 +00:00
Hal Canary
8a00144035 test,tools: whitespace changes for clang-format
Change-Id: I67529f6c0ac26da603f60af22c620f8f603d8a19
Reviewed-on: https://skia-review.googlesource.com/155564
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
2018-09-19 17:50:51 +00:00
Cary Clark
a24712e4dc Revert "makeSurface defaults to raster"
This reverts commit 29a4a684af.

Reason for revert: some configs fail

Original change's description:
> makeSurface defaults to raster
> 
> Rather that returning nullptr for a recording
> canvas, return a raster canvas instead.
> 
> R=​reed@google.com,robertphillips@google.com
> 
> Bug: skia:
> Change-Id: I211d8ef368b9aec6d14cc72d1652ac6a03f3fa7b
> Reviewed-on: https://skia-review.googlesource.com/151666
> Commit-Queue: Cary Clark <caryclark@skia.org>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

TBR=robertphillips@google.com,reed@google.com,caryclark@skia.org

Change-Id: I82d2c3e4589a2ca8523bbf86884ed68b1431631d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/151824
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
2018-09-05 18:41:45 +00:00
Cary Clark
29a4a684af makeSurface defaults to raster
Rather that returning nullptr for a recording
canvas, return a raster canvas instead.

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

Bug: skia:
Change-Id: I211d8ef368b9aec6d14cc72d1652ac6a03f3fa7b
Reviewed-on: https://skia-review.googlesource.com/151666
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-09-05 17:36:49 +00:00
Brian Osman
cca8c6fa47 SkColorSpace cleanup
Remove SkColorSpace_XYZ, no need for an interface with one
implementation.

Change-Id: I47a23293334b5e02a6e5af8356b3df0262f86d5a
Reviewed-on: https://skia-review.googlesource.com/150138
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-04 15:48:02 +00:00
Leon Scroggins III
d6832d047c Remove some references to defunct kIndex_8
Bug: skia:6828
Bug: skia:3338
Bug: skia:3339

The comment for five_reference_pixels seems to suggest removing
the default case, but we already have new SkColorTypes, leaving
the default seems like the right approach for now.

Remove premultiply_if_necessary. We can now draw unpremultiplied
bitmaps, so it's never necessary.

Remove a TODO related to kIndex8

Change-Id: Iafdab22bb6453e4b5bba7278b12d27788cc7d037
Reviewed-on: https://skia-review.googlesource.com/151362
Commit-Queue: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-04 15:32:34 +00:00
Kevin Lubick
c5fe15dd4d Correct LottieWeb drawing params
The tiles are now centered in a 200 x 200 box.
Additionally, the frames drawn should now
match how the seeking happens (before, we would
try to draw frame *index* 300 when there were only
300 frames)

I renamed a variable in DmSrcSink because it initially
confused me as the purpose of it.

Bug: skia:
Change-Id: I8552a24727326cd8714dfd1c7794a0c4b0a418cb
Reviewed-on: https://skia-review.googlesource.com/150126
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-08-29 14:24:04 +00:00
Brian Osman
6b622963a0 Reland "Stop conflating F16 with linear gamma"
This reverts commit 5f7b5e3624.

Reason for revert: Codec CL has re-landed.

Original change's description:
> Revert "Stop conflating F16 with linear gamma"
> 
> This reverts commit d1589c7213.
> 
> Reason for revert: Depends on skcms CL that's been reverted.
> 
> Original change's description:
> > Stop conflating F16 with linear gamma
> > 
> > Note to self: I debugged this, realized that the codecs
> > need to handle A2B -> XYZ, then realized that I just need
> > to wait for https://skia-review.googlesource.com/c/skia/+/136062
> > 
> > Bug: skia:
> > Change-Id: I594c22076feb3700b8a40c471a541fef5ff4e13e
> > Reviewed-on: https://skia-review.googlesource.com/137587
> > Commit-Queue: Brian Osman <brianosman@google.com>
> > Reviewed-by: Mike Klein <mtklein@google.com>
> 
> TBR=mtklein@google.com,brianosman@google.com
> 
> Change-Id: I6dca583697c8efd2563d30cb7ab9ef505b6903ae
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/148860
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

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

Bug: skia:
Change-Id: Iee66531049843758e7ed4130b99d8df6a553d805
Reviewed-on: https://skia-review.googlesource.com/149700
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-28 14:23:27 +00:00
Brian Osman
5f7b5e3624 Revert "Stop conflating F16 with linear gamma"
This reverts commit d1589c7213.

Reason for revert: Depends on skcms CL that's been reverted.

Original change's description:
> Stop conflating F16 with linear gamma
> 
> Note to self: I debugged this, realized that the codecs
> need to handle A2B -> XYZ, then realized that I just need
> to wait for https://skia-review.googlesource.com/c/skia/+/136062
> 
> Bug: skia:
> Change-Id: I594c22076feb3700b8a40c471a541fef5ff4e13e
> Reviewed-on: https://skia-review.googlesource.com/137587
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>

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

Change-Id: I6dca583697c8efd2563d30cb7ab9ef505b6903ae
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/148860
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-23 01:57:13 +00:00
Brian Osman
d1589c7213 Stop conflating F16 with linear gamma
Note to self: I debugged this, realized that the codecs
need to handle A2B -> XYZ, then realized that I just need
to wait for https://skia-review.googlesource.com/c/skia/+/136062

Bug: skia:
Change-Id: I594c22076feb3700b8a40c471a541fef5ff4e13e
Reviewed-on: https://skia-review.googlesource.com/137587
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-22 19:54:57 +00:00
Nigel Tao
66bc524d34 Rename SkCodec::kNone to SkCodec::kNoFrame
Add a SK_LEGACY_SKCODEC_NONE_ENUM #define'able to ease transition.

Also rename another internal "kNone" enum in SkWebpCodec.cpp.

The "kNone" name is overloaded:
- include/core/SkImageGenerator.h defines its own kNone.
- include/encode/SkPngEncoder.h defines its own kNone.
- include/private/GrTypesPriv.h defines multiple kNone's.

Bug: skia:
Change-Id: I18c03a74f2f1b0237016e0eef53dcd4478b82609
Reviewed-on: https://skia-review.googlesource.com/146020
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-08-22 14:49:56 +00:00
Brian Osman
2d010b66a6 Remove old sRGB config support from backend render target tool utilities
Bug: skia:
Change-Id: Ie88c16ddb2b072d8bdd7efc3acabc1d9ad89012f
Reviewed-on: https://skia-review.googlesource.com/146526
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-09 15:27:24 +00:00
Hal Canary
972eba3c5c sk_tool::Registry: make an iterator.
Change-Id: Icf4e31b50bbd91b7ea330a1300f736d6dfd0a41c
Reviewed-on: https://skia-review.googlesource.com/144500
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
2018-08-01 16:59:19 +00:00
Florin Malita
9f7d4cd62a [skottie] Parse animations on the fly in SkottieSrc::draw
This allows DM to use the same source in multiple threads.

Change-Id: Ia0d7c4c673a92ccddab263a67f01afaa2d68b606
Reviewed-on: https://skia-review.googlesource.com/144420
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-30 20:21:21 +00:00
Mike Klein
48b649060c remove SkThreadedBMPDevice and friends
It is unused, is becoming a maintainence burden and source of bugs,
and takes up a lot of time on the *SAN bots.

Change-Id: If383eb6e4838ca23140f9e16d518b1bfc655fa12
Reviewed-on: https://skia-review.googlesource.com/143307
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2018-07-25 18:17:26 +00:00
Brian Osman
a76b7a9ded More color space improvements to DM
Added P3 configs (tagged surface and SkColorSpaceXformCanvas)

Added logic to tag the output PNGs when using a xform canvas,
so the images look correct in Chrome (and work correctly with
skdiff).

We don't use the gamma_correct tag for much in gold, but only
set it for outputs with a linear transfer function.

Change-Id: Iee713682e5010b0bd3212538a6dcb201ae4e8592
Reviewed-on: https://skia-review.googlesource.com/142170
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-07-19 21:04:56 +00:00
Brian Salomon
7fc52996c6 Test GrContextOptions persistent cache on linux/quadrop400 bots.
Change-Id: I181ed6d294774a9c6886fde8252bfdde99adc572
Reviewed-on: https://skia-review.googlesource.com/140982
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-07-16 19:09:19 +00:00
Brian Osman
b62f50cf76 Replace nearly all kRespect with kIgnore
- Encoders and decoders always assume kIgnore.
- They are less opinionated about F16 and color space,
  we just trust the color space that's passed in, and
  put that directly in the image (no sRGB encoding).
- SkBitmap and SkPixmap read/write pixels functions were
  defaulting to kResepct, those are now always kIgnore.
- Many other bits of plumbing are simplified, and I
  added a default of kIgnore to SkImage::makeColorSpace,
  so we can phase out that argument entirely.
- Still need to add defaults to other public APIs that
  take SkTransferFunctionBehavior.

- This makes gold think that we've dramatically changed
  the contents of all F16 images, but that's because
  it doesn't understand the (now linear) color space
  that's embedded. Once we triage them all once, they
  will work fine (and they'll look perfect in the browser).

Bug: skia:
Change-Id: I62fa090f96cae1b67d181ce14bd91f34ff2ed747
Reviewed-on: https://skia-review.googlesource.com/140570
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-07-12 20:54:14 +00:00
Brian Salomon
00a5eb8c12 Add gltestpersistentcache config that tests GrContextOption's cache.
Uses a new GPU sink that runs each test twice, once to populate the
cache and then again with a new GrContext but a warmed cache. It
verifies that the two generated images are the same.

Change-Id: Iaba195a69751f14ea946afe7174228a813b83a63
Reviewed-on: https://skia-review.googlesource.com/140567
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-07-11 20:06:33 +00:00
Brian Osman
c87cfb674b Remove old lazy image decoding heuristic logic
This led to removing a lot of transfer function behavior code. There is
more that could be done, and we need to add in decoding to dst color
space, but this CL is almost entirely mechanical.

Change-Id: I91b2169f95aadcfaacdd2b9821bb1a01ce53f9a6
Reviewed-on: https://skia-review.googlesource.com/140349
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-07-11 14:07:08 +00:00
Khushal
c421ca1d6e gpu: Expose GrContextPriv::abandoned in the public API.
TBR=bsalomon@google.com

Bug: 854416
Change-Id: Iab71ca6e4724a925b0b9791267aac5ddc34f5b15
Reviewed-on: https://skia-review.googlesource.com/137692
Reviewed-by: Khusal Sagar <khushalsagar@chromium.org>
Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
2018-06-27 01:08:45 +00:00
Leon Scroggins III
a57488a1f5 Expose public factories for platform decoders
Bug: skia:8076

Move SkImageGeneratorCG and SkImageGeneratorWIC to include/ports/,
and make them SK_API.

Remove SkImageGeneratorCG::NewFromEncodedCG. No known clients are using
it, and it was a private API in src/. There is already a
MakeFromEncodedCG to replace it.

Similarly, switch WIC from New to Make.

Add a compile test for using them with
SetImageGeneratorFromEncodedDataFactory.

Change-Id: I897eb7a887b3736a6c614a68e38f38b6a1942cf1
Reviewed-on: https://skia-review.googlesource.com/137387
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-06-26 17:30:52 +00:00
Brian Osman
2b23c4bf31 Dest color space no longer impacts mipmaps or texture sampling
PS5: Removes SkDestinationSurfaceColorMode, tracking of mipmap
mode on GrTexture, sRGB decode state per-texture. Because we
were often choosing sRGB configs for RGB color types, legacy
rendering would then be incorrect (too dark). So...

PS7: Stops ever using sRGB pixel configs when translating
image info or color type. Also removes a bunch of GrCaps bits
and a GrContextOption that are no longer relevant.

PS9: Adjusts surface creation unit test expectations, and
changes the raster rules accordingly.

At this point, sRGB configs are (obviously) going to be broken.

Locally, I ran 8888, gl, and the gbr- versions of both. Across
all GMs x configs, there are 13 diffs. 12 are GMs that create
surfaces with a color-space attached (and thus, the offscreen
is no longer getting sRGB pixel config). The only remainder
constructs an SkPictureImageGenerator, (with an attached color
space) and renders it to the gbr-gl canvas, which triggers a
a tagged surface inside the generator.

Bug: skia:
Change-Id: Ie5edfa157dd799f3121e8173fc4f97f6c8ed6789
Reviewed-on: https://skia-review.googlesource.com/131282
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-06-01 17:00:26 +00:00
Brian Osman
c7ad40f76f Remove SK_SUPPORT_GPU checks in tool-only code
Most of this is (obviously) not necessary to do, but once
I started, I figured I'd just get it all. Tools (nanobench,
DM, skiaserve), all GMs, benches, and unit tests, plus support
code (command line parsing and config stuff).

This is almost entirely mechanical.

Bug: skia:
Change-Id: I209500f8df8c5bd43f8298ff26440d1c4d7425fb
Reviewed-on: https://skia-review.googlesource.com/131153
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-05-31 18:59:44 +00:00
Brian Osman
8dc68c67f8 Make skcms mandatory
Change-Id: I6b08cd586d313e3bc41c0da90698fc26ae1a8bb8
Reviewed-on: https://skia-review.googlesource.com/130822
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-05-30 17:37:49 +00:00
Robert Phillips
96601084b3 Add DDL to SKPBench
Most of this CL is just repackaging the promise image and tile
code from ViaDDL for reuse by SKPBench.

Change-Id: Ie5003c36fe85cc5be9639552f9488b8e92dcdbbf
Reviewed-on: https://skia-review.googlesource.com/129805
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-05-30 10:12:08 +00:00
Florin Malita
a33447dab9 [skottie] Animation::animationTick() -> Animation::seek()
Replace poorly defined animationTick() with a normalized seek() method.

TBR=
Change-Id: Id2ea17bb426fe86fede0d6c8a3d93236902f10af
Reviewed-on: https://skia-review.googlesource.com/130508
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-05-29 18:58:16 +00:00
Brian Osman
c494a708be Use skcms for ICC parsing in HP codec test
Change-Id: I6319b00ae35a15ffeaf8a785dde874b730f42c13
Reviewed-on: https://skia-review.googlesource.com/129649
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-05-23 16:18:41 +00:00
Adrienne Walker
ab7181daad Reland "Add driver bug workarounds to GrCaps"
This is a reland of 328490c6a1

Original change's description:
> Add driver bug workarounds to GrCaps
> 
> This moves GrDriverBugWorkarounds to include so that it can be included
> by GrCaps.  This also makes GrContextOptions a nearly empty class in
> the case of !SK_SUPPORT_GPU so that non-gpu builds don't need to build
> in GrDriverBugWorkarounds.cpp.
> 
> Bug: chromium: 829614
> Change-Id: Iedf73677fd09e9a487cfe618a696fd4b25c8703d
> Reviewed-on: https://skia-review.googlesource.com/126581
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Adrienne Walker <enne@chromium.org>

Bug: chromium: 829614
Change-Id: I7b539f99caa3032c8c595dd5068dc3b179747ccd
Reviewed-on: https://skia-review.googlesource.com/127304
Commit-Queue: Adrienne Walker <enne@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-05-14 23:46:49 +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
Greg Daniel
024615e975 Revert "Add driver bug workarounds to GrCaps"
This reverts commit 328490c6a1.

Reason for revert: Breaking compiles inside chrome

Original change's description:
> Add driver bug workarounds to GrCaps
> 
> This moves GrDriverBugWorkarounds to include so that it can be included
> by GrCaps.  This also makes GrContextOptions a nearly empty class in
> the case of !SK_SUPPORT_GPU so that non-gpu builds don't need to build
> in GrDriverBugWorkarounds.cpp.
> 
> Bug: chromium: 829614
> Change-Id: Iedf73677fd09e9a487cfe618a696fd4b25c8703d
> Reviewed-on: https://skia-review.googlesource.com/126581
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Adrienne Walker <enne@chromium.org>

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

Change-Id: I3b35bf65a7b78d2fe16d7c2bcd0e4b3f9bb7fdff
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium: 829614
Reviewed-on: https://skia-review.googlesource.com/127303
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-05-10 17:30:00 +00:00
Adrienne Walker
328490c6a1 Add driver bug workarounds to GrCaps
This moves GrDriverBugWorkarounds to include so that it can be included
by GrCaps.  This also makes GrContextOptions a nearly empty class in
the case of !SK_SUPPORT_GPU so that non-gpu builds don't need to build
in GrDriverBugWorkarounds.cpp.

Bug: chromium: 829614
Change-Id: Iedf73677fd09e9a487cfe618a696fd4b25c8703d
Reviewed-on: https://skia-review.googlesource.com/126581
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Adrienne Walker <enne@chromium.org>
2018-05-10 14:54:15 +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
Yuqian Li
0caef298c2 Let each threaded device in the ThreadSink own its SkExecutor
See https://bugs.chromium.org/p/skia/issues/detail?id=7838#c17

Bug: skia:7838
Change-Id: I98e723e7a2d5f7506d019e28797c34e12582f47b
Reviewed-on: https://skia-review.googlesource.com/125283
Commit-Queue: Yuqian Li <liyuqian@google.com>
Auto-Submit: Yuqian Li <liyuqian@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-05-02 21:34:59 +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
Yuqian Li
cb31248132 Reland "Reland "Reland "Exercise the threaded backend in test bots"""
This reverts commit 47f2b7b089.

Reason for revert: try to fix the issue by reducing the set of bots

Original change's description:
> Revert "Reland "Reland "Exercise the threaded backend in test bots"""
> 
> This reverts commit 7ddad479e4.
> 
> Reason for revert: bots failure
> 
> Original change's description:
> > Reland "Reland "Exercise the threaded backend in test bots""
> > 
> > This reverts commit 0f5972604c.
> > 
> > Reason for revert: ASAN/MSAN should have been fixed
> > 
> > Original change's description:
> > > Revert "Reland "Exercise the threaded backend in test bots""
> > >
> > > This reverts commit 654ca8a340.
> > >
> > > Reason for revert: ASAN,MSAN failures
> > >
> > > Original change's description:
> > > > Reland "Exercise the threaded backend in test bots"
> > > >
> > > > This reverts commit ea51393ba9.
> > > >
> > > > Reason for revert: try again after many fixes of the threaded backend
> > > >
> > > > Original change's description:
> > > > > Revert "Exercise the threaded backend in test bots"
> > > > >
> > > > > This reverts commit a39991ebd7.
> > > > >
> > > > > Reason for revert: Random bots timeout
> > > > >
> > > > > Original change's description:
> > > > > > Exercise the threaded backend in test bots
> > > > > >
> > > > > > We can't draw everything correctly now, but it's at least not crashing.
> > > > > >
> > > > > > The draw_to_canvas is modified by adding flush because now the raster
> > > > > > canvas also needs flush like GPU canvases because of the threaded
> > > > > > backend. (Previously, AndroidCodecSrc vetoed GPU (non-raster) sink
> > > > > > and that's why it was not crashing.)
> > > > > >
> > > > > >
> > > > > > Bug: skia:
> > > > > > Change-Id: I222d706c33e15326e1b97d6bef6c46b8c35cebfd
> > > > > > Reviewed-on: https://skia-review.googlesource.com/118886
> > > > > > Reviewed-by: Kevin Lubick <kjlubick@google.com>
> > > > > > Commit-Queue: Yuqian Li <liyuqian@google.com>
> > > > >
> > > > > TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com
> > > > >
> > > > > Change-Id: Ib1089d937b6e25cc39d90ad4de35b3a4c406f6b1
> > > > > No-Presubmit: true
> > > > > No-Tree-Checks: true
> > > > > No-Try: true
> > > > > Bug: skia:
> > > > > Reviewed-on: https://skia-review.googlesource.com/119100
> > > > > Reviewed-by: Yuqian Li <liyuqian@google.com>
> > > > > Commit-Queue: Yuqian Li <liyuqian@google.com>
> > > >
> > > > TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com
> > > >
> > > > # Not skipping CQ checks because original CL landed > 1 day ago.
> > > >
> > > > Bug: skia:7838
> > > > Change-Id: I1405212204bf694b2f31dfc38154759e1d3e363f
> > > > Reviewed-on: https://skia-review.googlesource.com/121680
> > > > Commit-Queue: Yuqian Li <liyuqian@google.com>
> > > > Reviewed-by: Yuqian Li <liyuqian@google.com>
> > >
> > > TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com
> > >
> > > Change-Id: Id1b273e22a1d0cbc15a2155252909f576b401fa4
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: skia:7838
> > > Reviewed-on: https://skia-review.googlesource.com/123360
> > > Reviewed-by: Mike Klein <mtklein@google.com>
> > > Commit-Queue: Mike Klein <mtklein@google.com>
> > 
> > TBR=mtklein@google.com,kjlubick@google.com,stephana@google.com,liyuqian@google.com
> > 
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> > 
> > Bug: skia:7838
> > Change-Id: I205d579f2959ea726b447993314c1326b731730e
> > Reviewed-on: https://skia-review.googlesource.com/123660
> > Commit-Queue: Yuqian Li <liyuqian@google.com>
> > Reviewed-by: Yuqian Li <liyuqian@google.com>
> 
> TBR=mtklein@google.com,kjlubick@google.com,stephana@google.com,liyuqian@google.com
> 
> Change-Id: I1d3986cc2af12836dd7acbcbba713081a88301a6
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:7838
> Reviewed-on: https://skia-review.googlesource.com/124200
> Reviewed-by: Yuqian Li <liyuqian@google.com>
> Commit-Queue: Yuqian Li <liyuqian@google.com>

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

Change-Id: I2d4d0c172849a86b37c60b32938a7a2b828258fa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7838
Reviewed-on: https://skia-review.googlesource.com/124201
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
2018-04-27 19:53:48 +00:00
Yuqian Li
47f2b7b089 Revert "Reland "Reland "Exercise the threaded backend in test bots"""
This reverts commit 7ddad479e4.

Reason for revert: bots failure

Original change's description:
> Reland "Reland "Exercise the threaded backend in test bots""
> 
> This reverts commit 0f5972604c.
> 
> Reason for revert: ASAN/MSAN should have been fixed
> 
> Original change's description:
> > Revert "Reland "Exercise the threaded backend in test bots""
> >
> > This reverts commit 654ca8a340.
> >
> > Reason for revert: ASAN,MSAN failures
> >
> > Original change's description:
> > > Reland "Exercise the threaded backend in test bots"
> > >
> > > This reverts commit ea51393ba9.
> > >
> > > Reason for revert: try again after many fixes of the threaded backend
> > >
> > > Original change's description:
> > > > Revert "Exercise the threaded backend in test bots"
> > > >
> > > > This reverts commit a39991ebd7.
> > > >
> > > > Reason for revert: Random bots timeout
> > > >
> > > > Original change's description:
> > > > > Exercise the threaded backend in test bots
> > > > >
> > > > > We can't draw everything correctly now, but it's at least not crashing.
> > > > >
> > > > > The draw_to_canvas is modified by adding flush because now the raster
> > > > > canvas also needs flush like GPU canvases because of the threaded
> > > > > backend. (Previously, AndroidCodecSrc vetoed GPU (non-raster) sink
> > > > > and that's why it was not crashing.)
> > > > >
> > > > >
> > > > > Bug: skia:
> > > > > Change-Id: I222d706c33e15326e1b97d6bef6c46b8c35cebfd
> > > > > Reviewed-on: https://skia-review.googlesource.com/118886
> > > > > Reviewed-by: Kevin Lubick <kjlubick@google.com>
> > > > > Commit-Queue: Yuqian Li <liyuqian@google.com>
> > > >
> > > > TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com
> > > >
> > > > Change-Id: Ib1089d937b6e25cc39d90ad4de35b3a4c406f6b1
> > > > No-Presubmit: true
> > > > No-Tree-Checks: true
> > > > No-Try: true
> > > > Bug: skia:
> > > > Reviewed-on: https://skia-review.googlesource.com/119100
> > > > Reviewed-by: Yuqian Li <liyuqian@google.com>
> > > > Commit-Queue: Yuqian Li <liyuqian@google.com>
> > >
> > > TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com
> > >
> > > # Not skipping CQ checks because original CL landed > 1 day ago.
> > >
> > > Bug: skia:7838
> > > Change-Id: I1405212204bf694b2f31dfc38154759e1d3e363f
> > > Reviewed-on: https://skia-review.googlesource.com/121680
> > > Commit-Queue: Yuqian Li <liyuqian@google.com>
> > > Reviewed-by: Yuqian Li <liyuqian@google.com>
> >
> > TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com
> >
> > Change-Id: Id1b273e22a1d0cbc15a2155252909f576b401fa4
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: skia:7838
> > Reviewed-on: https://skia-review.googlesource.com/123360
> > Reviewed-by: Mike Klein <mtklein@google.com>
> > Commit-Queue: Mike Klein <mtklein@google.com>
> 
> TBR=mtklein@google.com,kjlubick@google.com,stephana@google.com,liyuqian@google.com
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: skia:7838
> Change-Id: I205d579f2959ea726b447993314c1326b731730e
> Reviewed-on: https://skia-review.googlesource.com/123660
> Commit-Queue: Yuqian Li <liyuqian@google.com>
> Reviewed-by: Yuqian Li <liyuqian@google.com>

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

Change-Id: I1d3986cc2af12836dd7acbcbba713081a88301a6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7838
Reviewed-on: https://skia-review.googlesource.com/124200
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2018-04-26 21:34:14 +00:00
Yuqian Li
7ddad479e4 Reland "Reland "Exercise the threaded backend in test bots""
This reverts commit 0f5972604c.

Reason for revert: ASAN/MSAN should have been fixed

Original change's description:
> Revert "Reland "Exercise the threaded backend in test bots""
>
> This reverts commit 654ca8a340.
>
> Reason for revert: ASAN,MSAN failures
>
> Original change's description:
> > Reland "Exercise the threaded backend in test bots"
> >
> > This reverts commit ea51393ba9.
> >
> > Reason for revert: try again after many fixes of the threaded backend
> >
> > Original change's description:
> > > Revert "Exercise the threaded backend in test bots"
> > >
> > > This reverts commit a39991ebd7.
> > >
> > > Reason for revert: Random bots timeout
> > >
> > > Original change's description:
> > > > Exercise the threaded backend in test bots
> > > >
> > > > We can't draw everything correctly now, but it's at least not crashing.
> > > >
> > > > The draw_to_canvas is modified by adding flush because now the raster
> > > > canvas also needs flush like GPU canvases because of the threaded
> > > > backend. (Previously, AndroidCodecSrc vetoed GPU (non-raster) sink
> > > > and that's why it was not crashing.)
> > > >
> > > >
> > > > Bug: skia:
> > > > Change-Id: I222d706c33e15326e1b97d6bef6c46b8c35cebfd
> > > > Reviewed-on: https://skia-review.googlesource.com/118886
> > > > Reviewed-by: Kevin Lubick <kjlubick@google.com>
> > > > Commit-Queue: Yuqian Li <liyuqian@google.com>
> > >
> > > TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com
> > >
> > > Change-Id: Ib1089d937b6e25cc39d90ad4de35b3a4c406f6b1
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: skia:
> > > Reviewed-on: https://skia-review.googlesource.com/119100
> > > Reviewed-by: Yuqian Li <liyuqian@google.com>
> > > Commit-Queue: Yuqian Li <liyuqian@google.com>
> >
> > TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com
> >
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> >
> > Bug: skia:7838
> > Change-Id: I1405212204bf694b2f31dfc38154759e1d3e363f
> > Reviewed-on: https://skia-review.googlesource.com/121680
> > Commit-Queue: Yuqian Li <liyuqian@google.com>
> > Reviewed-by: Yuqian Li <liyuqian@google.com>
>
> TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com
>
> Change-Id: Id1b273e22a1d0cbc15a2155252909f576b401fa4
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:7838
> Reviewed-on: https://skia-review.googlesource.com/123360
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

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

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

Bug: skia:7838
Change-Id: I205d579f2959ea726b447993314c1326b731730e
Reviewed-on: https://skia-review.googlesource.com/123660
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
2018-04-26 21:03:13 +00:00
Mike Klein
0f5972604c Revert "Reland "Exercise the threaded backend in test bots""
This reverts commit 654ca8a340.

Reason for revert: ASAN,MSAN failures

Original change's description:
> Reland "Exercise the threaded backend in test bots"
> 
> This reverts commit ea51393ba9.
> 
> Reason for revert: try again after many fixes of the threaded backend
> 
> Original change's description:
> > Revert "Exercise the threaded backend in test bots"
> >
> > This reverts commit a39991ebd7.
> >
> > Reason for revert: Random bots timeout
> >
> > Original change's description:
> > > Exercise the threaded backend in test bots
> > >
> > > We can't draw everything correctly now, but it's at least not crashing.
> > >
> > > The draw_to_canvas is modified by adding flush because now the raster
> > > canvas also needs flush like GPU canvases because of the threaded
> > > backend. (Previously, AndroidCodecSrc vetoed GPU (non-raster) sink
> > > and that's why it was not crashing.)
> > >
> > >
> > > Bug: skia:
> > > Change-Id: I222d706c33e15326e1b97d6bef6c46b8c35cebfd
> > > Reviewed-on: https://skia-review.googlesource.com/118886
> > > Reviewed-by: Kevin Lubick <kjlubick@google.com>
> > > Commit-Queue: Yuqian Li <liyuqian@google.com>
> >
> > TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com
> >
> > Change-Id: Ib1089d937b6e25cc39d90ad4de35b3a4c406f6b1
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: skia:
> > Reviewed-on: https://skia-review.googlesource.com/119100
> > Reviewed-by: Yuqian Li <liyuqian@google.com>
> > Commit-Queue: Yuqian Li <liyuqian@google.com>
> 
> TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: skia:7838
> Change-Id: I1405212204bf694b2f31dfc38154759e1d3e363f
> Reviewed-on: https://skia-review.googlesource.com/121680
> Commit-Queue: Yuqian Li <liyuqian@google.com>
> Reviewed-by: Yuqian Li <liyuqian@google.com>

TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com

Change-Id: Id1b273e22a1d0cbc15a2155252909f576b401fa4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7838
Reviewed-on: https://skia-review.googlesource.com/123360
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-04-23 23:58:37 +00:00
Yuqian Li
654ca8a340 Reland "Exercise the threaded backend in test bots"
This reverts commit ea51393ba9.

Reason for revert: try again after many fixes of the threaded backend

Original change's description:
> Revert "Exercise the threaded backend in test bots"
>
> This reverts commit a39991ebd7.
>
> Reason for revert: Random bots timeout
>
> Original change's description:
> > Exercise the threaded backend in test bots
> >
> > We can't draw everything correctly now, but it's at least not crashing.
> >
> > The draw_to_canvas is modified by adding flush because now the raster
> > canvas also needs flush like GPU canvases because of the threaded
> > backend. (Previously, AndroidCodecSrc vetoed GPU (non-raster) sink
> > and that's why it was not crashing.)
> >
> >
> > Bug: skia:
> > Change-Id: I222d706c33e15326e1b97d6bef6c46b8c35cebfd
> > Reviewed-on: https://skia-review.googlesource.com/118886
> > Reviewed-by: Kevin Lubick <kjlubick@google.com>
> > Commit-Queue: Yuqian Li <liyuqian@google.com>
>
> TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com
>
> Change-Id: Ib1089d937b6e25cc39d90ad4de35b3a4c406f6b1
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/119100
> Reviewed-by: Yuqian Li <liyuqian@google.com>
> Commit-Queue: Yuqian Li <liyuqian@google.com>

TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com

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

Bug: skia:7838
Change-Id: I1405212204bf694b2f31dfc38154759e1d3e363f
Reviewed-on: https://skia-review.googlesource.com/121680
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
2018-04-23 23:22:46 +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
Robert Phillips
c186e17a6b Add handling to ViaDDL for images that are too large to be uploaded in one go
In Chrome's use case they are already doing a lot of work to determine where a given texture lands in device space. Presumably, part of that analysis is to determine if a texture is too big and either resize it or break it up. It seems unlikely they would be letting us upload it and draw it tiled.

Bug: skia:7762
Change-Id: Ia95abc52f7e99c0a6ddef9f6db6237adba8cbc93
Reviewed-on: https://skia-review.googlesource.com/121892
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-04-17 20:57:01 +00:00
Robert Phillips
a479f96daf Get ViaDDL working with Vulkan
Change-Id: Iab5ab689529227d2c8a6dbea89e555b73622a99c
Reviewed-on: https://skia-review.googlesource.com/118989
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-04-11 11:20:02 +00:00
Brian Osman
ea176c608f Remove scanlineOrder switch statements that always do the same thing
I think these date back to GIF codec having a third value of this enum
that meant "interlaced" ?

Change-Id: Iaff11a55ad3cff44da2307149991a22447dfe746
Reviewed-on: https://skia-review.googlesource.com/119146
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-04-06 19:59:44 +00:00
Yuqian Li
ea51393ba9 Revert "Exercise the threaded backend in test bots"
This reverts commit a39991ebd7.

Reason for revert: Random bots timeout

Original change's description:
> Exercise the threaded backend in test bots
> 
> We can't draw everything correctly now, but it's at least not crashing.
> 
> The draw_to_canvas is modified by adding flush because now the raster
> canvas also needs flush like GPU canvases because of the threaded
> backend. (Previously, AndroidCodecSrc vetoed GPU (non-raster) sink
> and that's why it was not crashing.)
> 
> 
> Bug: skia:
> Change-Id: I222d706c33e15326e1b97d6bef6c46b8c35cebfd
> Reviewed-on: https://skia-review.googlesource.com/118886
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Yuqian Li <liyuqian@google.com>

TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com

Change-Id: Ib1089d937b6e25cc39d90ad4de35b3a4c406f6b1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/119100
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2018-04-06 16:59:14 +00:00
Yuqian Li
a39991ebd7 Exercise the threaded backend in test bots
We can't draw everything correctly now, but it's at least not crashing.

The draw_to_canvas is modified by adding flush because now the raster
canvas also needs flush like GPU canvases because of the threaded
backend. (Previously, AndroidCodecSrc vetoed GPU (non-raster) sink
and that's why it was not crashing.)


Bug: skia:
Change-Id: I222d706c33e15326e1b97d6bef6c46b8c35cebfd
Reviewed-on: https://skia-review.googlesource.com/118886
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2018-04-06 14:32:43 +00:00
Ben Wagner
1861e88cad Via*::draw to finish before checking.
Currently Via*::draw checks against the reference
immediately, before the sink is completely finished. This causes
via-gl to fail, since GPUSink::onDraw does not even create the
target pixmap until after drawing the Src into the canvas. This puts off
the actual check against the reference until after the sink is finished,
allowing via-gl to work as expected.

Change-Id: If1a19cc73f184b836e3421a03966db0ee9918fbe
Reviewed-on: https://skia-review.googlesource.com/118627
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-04-05 16:15:33 +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