Commit Graph

933 Commits

Author SHA1 Message Date
Mike Klein
0e4041f5c9 update software DM/nanobench configs for color testing
- Rename 'srgbnl' to just 'srgb'.
- Add 'narrow' and 'enarrow' for testing a gamut narrower than sRGB.

Tested by running xfermodes2 in DM... all look different, what a mess.
I also ran a few nanobenches and they seemed somewhat sane.

Change-Id: Iacdc391dc0eef4153a76f5b4f78d72c57a4371ee
Reviewed-on: https://skia-review.googlesource.com/135871
Commit-Queue: Mike Klein <mtklein@chromium.org>
Auto-Submit: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-06-19 21:15:18 +00:00
Mike Klein
6120164138 remove "srgb" config from DM,nanobench
Now that "srgb" is broken I don't want to accidentally run it.
"srgbnl" if of course identical, and not broken so much as
simply not yet working.  :)

While here, simplify the configs we run in nanobench too, eliminating
565 and moving F16 to GCE-only (i.e. fast, abundant machines).

Similarly, remove "adobe" VIA that doesn't use Adobe RGB correctly...

Change-Id: Ic295dec97a2caadadbe8500655243db36dd2c43d
Reviewed-on: https://skia-review.googlesource.com/132932
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-06-07 19:12:11 +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
Mike Klein
cdbec8f197 remove bit, srgbnl config in DM
We're not going to need the bit.

I've rewritten "esrgb" and "srgbnl" to express themselves the way I'd
like them to work.  Their images are supressed in Gold already.

Change-Id: I6da58cc75dcb998cbfcf9a8f65de31c030adb494
Reviewed-on: https://skia-review.googlesource.com/130506
Reviewed-by: Brian Osman <brianosman@google.com>
2018-05-29 19:14:03 +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
Mike Klein
ce4cf72e34 non-linear blending first steps
Code:
  - Add a non-linear blending bit and makeNonlinearBlending()
    to SkColorSpace
  - remove enough F16=linear checks to make it possible to
    create surfaces and encode pngs with nonlinear F16

Testing:
  - add "esrgb" software config to DM, run it
  - add "srgbnl" software config, run it
  - deemphasize importance of "srgb" config on bots
  - update unit tests to reflect relaxed F16 constraints
  - add a new unit test file with _really_ basic tests,
    and a new unit test that's not working yet

Bug: skia:7942

Change-Id: I8ac042bdf9f3d791765393b68fd9256375184d83
Reviewed-on: https://skia-review.googlesource.com/127325
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-05-10 18:26:22 +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
Ben Wagner
6ce482aed4 Remove include/svg from public.bzl includes.
It's strange to include it since public.bzl currently excludes all of
the source files that define the symbols declared in the headers in this
directory.

This also fixes the two files which needed to put some of these includes
behind the SK_XML macro. The public.bzl never defines the SK_XML macro,
so there is no need to ever have the include/svg directory on the
include path, even for DM.

Change-Id: I6cc18908aa16cfc914ed9b7ab174d03a0a242aa4
Reviewed-on: https://skia-review.googlesource.com/116547
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-03-27 16:36:29 +00:00
Robert Phillips
cc47335ded Fix flushing of context in ViaDDL
Change-Id: I9f84f4081861e2789b45787405e0f1a5aa87824d
Reviewed-on: https://skia-review.googlesource.com/116546
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-03-27 16:02:44 +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
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
49edccd775 Remove legacy SkSurface::MakeFromBackendRenderTarget that does not take SkColorType
Bug: skia:6718
Change-Id: Iefec5be49bf7450426c5ddb668f5525876f8ec2d
Reviewed-on: https://skia-review.googlesource.com/116194
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-03-23 20:44:50 +00:00
Hal Canary
327ef03a01 dm: fix unused-private-field error when skia_use_expat=false
Change-Id: I309aa420a7900c048c34873ede618f123719823c
Reviewed-on: https://skia-review.googlesource.com/115928
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2018-03-22 17:39: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
Florin Malita
3fae0f3625 [skottie] Simplify DM output
Tweak the Skottie DM strip to facilitate diffing against Lottie results:

  * remove timestamps
  * remove grid
  * always use 200x200 tiles (and a 1000x1000 bitmap size)

TBR=
Change-Id: I870aaa5e19c44f74ee05a8ce72f32d70a26058ef
Reviewed-on: https://skia-review.googlesource.com/114680
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-03-20 15:08:48 +00:00
Brian Salomon
53706774a7 Remove SkSurface::MakeFromBackendTexture variant that doesn't take SkColorType
Bug: skia:6718
Change-Id: I8289c54ca9a5f89d10dc0b0dfe750d4fd1da0b64
Reviewed-on: https://skia-review.googlesource.com/115102
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-03-19 20:12:05 +00:00
Greg Daniel
7278d68cac Add DoneProc to Promise Images
This proc will notify the client when we will no longer call fulfill on
their promise image so that can delete any meta data they needed to store
to be able to complete the fulfill requests.

Bug: skia:
Change-Id: Ife1e6845f221c31ce1ae2c0d2ba5e4c8f0203b74
Reviewed-on: https://skia-review.googlesource.com/114092
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-03-16 19:27:46 +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
Robert Phillips
e4aae34f4f Provide promise images when rendering SKPs w/ DDL
Change-Id: I8014693eefb3c7811a1fc0354ee8441c90c97328
Reviewed-on: https://skia-review.googlesource.com/113213
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-03-14 15:00:12 +00:00
Leon Scroggins III
0118e9756d Remove calls to computeOutputColor- Type and Space
Bug: b/70846442
Test: I5110881203c000474116a94a48f2afc9a9b62001

These methods were already called by the client. The client may have
further overridden the SkColorType (and therefore the SkColorSpace), so
respect their final decision on both.

Change-Id: Iddcf618e474784b0a000fd516250c44285dacc6b
Reviewed-on: https://skia-review.googlesource.com/114062
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2018-03-13 15:42:52 +00:00
Brian Salomon
b07fd4d7fb Add GPUSink getters to suppress unused field warnings in no gpu build.
Change-Id: Iab66cf3a8fd1d3008f62d832cdb7f9a65b2077f7
Reviewed-on: https://skia-review.googlesource.com/113420
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-03-09 19:30:15 +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
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
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
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