Commit Graph

28478 Commits

Author SHA1 Message Date
Brian Osman
ae0c50c624 Only support SkVertices in GrDrawVerticesOp and GrRenderTargetContext
Allow overriding the primitive type at draw time, so everyone can
funnel through the same code path. Simplifies the color array type
logic, and saves one memcpy (of indices) in the drawWireframe case.

Bug: skia:
Change-Id: I46653d34169842b9b5304cff48d804b2a9ace529
Reviewed-on: https://skia-review.googlesource.com/17783
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-05-26 18:24:42 +00:00
Florin Malita
95c993cd7b Unexport private SkShader classes
Alternative to https://skia-review.googlesource.com/c/18025/: these
subclasses are private, we shouldn't need to SK_API-tag them.

Change-Id: I94fc38e76ee4468132e41ab16f21ae6ad61fe1f2
Reviewed-on: https://skia-review.googlesource.com/18029
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-05-26 18:19:39 +00:00
Mike Reed
98b7a6a955 rasterpipeline:
+ only dither if the paint asks for it
- don't special case if the shader is a gradient

guard: SK_SUPPORT_LEGACY_RASTERPIPELINE

Bug: skia:
Change-Id: I7f0c101049e5cb32a80306dcfff3bc21bcf318be
Reviewed-on: https://skia-review.googlesource.com/17931
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-05-26 18:19:37 +00:00
Matt Sarett
f485cf9f18 Tag CodecSrc bitmaps with standard color spaces
Tests were previously dependent on the fact that drawBitmap calls were
using the legacy sprite blitters.  Now these tests are blocking the
change that fixes drawBitmap behavior.
https://skia-review.googlesource.com/c/17923/

Bug: skia:
Change-Id: Ia9e5244243f18680d7593b0fa9de942dbbeeeb1d
Reviewed-on: https://skia-review.googlesource.com/18027
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>
2017-05-26 18:14:34 +00:00
Derek Sollenberger
5480a18d87 Add method to GrContext to purge unlocked resources.
Beyond setting the total cache limits this method enables clients to
request to purge a specific number of bytes, as well as specify their
preference to purge scratch resources over resources of other types.

Change-Id: I9259d5544d34251575d77eebe599388f213ff3ce
Reviewed-on: https://skia-review.googlesource.com/17987
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2017-05-26 18:14:33 +00:00
Ravi Mistry
dc8c344558 Create blacklist for new SKP repository
BUG=skia:6694
NOTREECHECKS=true

Change-Id: Ic7eeda7086e51a259f961351fec5a06d1f8fa6ec
Reviewed-on: https://skia-review.googlesource.com/18028
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
2017-05-26 16:59:03 +00:00
Mike Klein
c99be2577e add SK_API to SkShaderBase
Ought to fix Chrome roll:

    warning C4275: non dll-interface class 'SkShaderBase' used as base for
    dll-interface class 'SkEmptyShader'

etc.  May fix Android too?

Change-Id: Ic8ff988b9000c484aa54959e49a1ff17e5635340
Reviewed-on: https://skia-review.googlesource.com/18025
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-05-26 11:59:26 +00:00
Mike Klein
fb65a9f400 Revert "Update clearOp for split-OpList world (take 2)"
This reverts commit 3fdd0bf2d9.

Reason for revert: Chrome roll dryrun?

Original change's description:
> Update clearOp for split-OpList world (take 2)
> 
> It would reduce a lot of noise if the GrRenderTargetOpList kept a pointer to the GrCaps but, for now, I'm trying to shrink the GrRTOpList, not expand it.
> 
> Reland of: https://skia-review.googlesource.com/c/17323/ (Update clearOp for split-OpList world)
> 
> Change-Id: I97f3fb81e6258d430e7f7cf1ea8bd51a392f9f47
> Reviewed-on: https://skia-review.googlesource.com/17830
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> 

TBR=bsalomon@google.com,robertphillips@google.com
No-Presubmit: true
No-Tree-Checks: true
No-Try: true

Change-Id: Ib70285bb484a1ed8babaa519c74bfdf619313806
Reviewed-on: https://skia-review.googlesource.com/18024
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2017-05-26 01:38:31 +00:00
Mike Klein
c020f17127 Revert "Remove (now-dead) SK_LEGACY_SWEEP_GRADIENT code"
This reverts commit 04d22c0483.

Reason for revert: Android roll?
junit.framework.AssertionFailedError: res/drawable/vector_icon_gradient_1.xml: totalDiffPixelCount is 123


Original change's description:
> Remove (now-dead) SK_LEGACY_SWEEP_GRADIENT code
> 
> Behold the first raster pipeline-only gradient!
> 
> Change-Id: Ib6f53224e4ff9506aafdae1d2303102fc5235dfc
> Reviewed-on: https://skia-review.googlesource.com/17982
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> 

TBR=mtklein@chromium.org,mtklein@google.com,herb@google.com,fmalita@chromium.org,reed@google.com
No-Presubmit: true
No-Tree-Checks: true
No-Try: true

Change-Id: I328585f5412068f4eff1d0a2a6083cb4c1a3c078
Reviewed-on: https://skia-review.googlesource.com/18022
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2017-05-26 01:33:07 +00:00
Stan Iliev
d8872be505 Revert "Relocate shaders to own dir"
This reverts commit fabe0b26d0.

Reason for revert: Last android roll failed with "external/skia/src/effects/SkGaussianEdgeShader.h:11:10: fatal error: 'SkShaderBase.h' file not found"

Original change's description:
> Relocate shaders to own dir
> 
> Consolidate all shader impls under src/shaders/.
> 
> Change-Id: I450e37541214704c1ad9e379d9d753b7cc62fac3
> Reviewed-on: https://skia-review.googlesource.com/17927
> Commit-Queue: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Herb Derby <herb@google.com>
> 

TBR=mtklein@google.com,herb@google.com,fmalita@chromium.org,reed@google.com
No-Presubmit: true
No-Tree-Checks: true
No-Try: true

Change-Id: Idbb2b75053969df1dad9d8ce0217cd39189b9ddb
Reviewed-on: https://skia-review.googlesource.com/18020
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
2017-05-25 22:30:19 +00:00
Hal Canary
5b474d3623 SkPDF: assert premultiplied bitmaps are valid in debug.
Change-Id: I5feeee9a02199c6f4aa91c67e19844e022175d23
Reviewed-on: https://skia-review.googlesource.com/17993
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-05-25 22:18:19 +00:00
Mike Klein
b2ef4d6d15 force SkRasterPipeline when using complex blends
Looks like we're faster than legacy pretty much across the board.

out/nanobench -m Hue Saturation Luminosity Color\$ Color_aa\$ --config 8888 -q --ms 2000

    Xfermode_Luminosity      80128.68 -> 27189.83
    Xfermode_Luminosity_aa   18001.46 -> 14449.67
    Xfermode_Color          183520.09 -> 27448.49
    Xfermode_Color_aa        34257.75 -> 14694.85
    Xfermode_Saturation      80323.96 -> 36449.01
    Xfermode_Saturation_aa   19605.81 -> 18576.62
    Xfermode_Hue            125866.82 -> 36611.03
    Xfermode_Hue_aa          25318.00 -> 18489.33

Change-Id: I842b8f53fb356bf1a5e81502be88e4b34d4ad0dc
Reviewed-on: https://skia-review.googlesource.com/17992
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-05-25 21:15:19 +00:00
Florin Malita
9b868f7b40 Remove unused PM4f blitters
Change-Id: I19106b70ba19bffb04ae0517225fce2169ab5f33
Reviewed-on: https://skia-review.googlesource.com/17990
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2017-05-25 21:11:19 +00:00
Herb Derby
e7ba8b05d2 Add tail handling for SSE* to SkJumper.
Change-Id: Icb9d385333082de2f99b7a25cfd7251717e3f663
Reviewed-on: https://skia-review.googlesource.com/17580
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
2017-05-25 20:42:08 +00:00
Florin Malita
fabe0b26d0 Relocate shaders to own dir
Consolidate all shader impls under src/shaders/.

Change-Id: I450e37541214704c1ad9e379d9d753b7cc62fac3
Reviewed-on: https://skia-review.googlesource.com/17927
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
2017-05-25 20:05:08 +00:00
Brian Salomon
1c21431324 Revert "Clear atlas textures at creation in Chrome"
This reverts commit 8785df15fe.

Reason for revert: Chrome bug
Bug: chromium:726226

Original change's description:
> Clear atlas textures at creation in Chrome
> 
> Bug: chromium:656320
> Change-Id: Ia65274aa733f199be188579821e745920493aefc
> Reviewed-on: https://skia-review.googlesource.com/17824
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> 

TBR=bsalomon@google.com,robertphillips@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:656320

Change-Id: Ibc4dd7f184866b58481f2dc7e7e88da9169e7adc
Reviewed-on: https://skia-review.googlesource.com/17988
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-05-25 20:03:07 +00:00
Brian Osman
33fa454b16 Fix two bugs with drawVertices on GPU
1) In SkGpuDevice.cpp, the SkVertices refactor had a copy-paste error
   when moving the paint initialization code into the helper function.
   This caused draws with texs (but no colors, and no shader) to fail
   to draw. Previously (and with this change) that draws solid filled
   triangles. This is still different from CPU (which draws outlines).
   This is an odd edge case, but it's also the easiest way to create
   the second bug...

2) In GrDrawVerticesOp.cpp, we always claimed to have SkColor colors.
   That's only true if the SkVertices has colors, otherwise we use the
   paint's color, which is GrColor. Normally, this doesn't matter,
   because we'll use uniform color which is always GrColor. But if you
   induce batching (and the meshes have different colors), we expand
   the per-mesh color to a per-vertex color. Then, the geo proc code
   thinks that those per-vertex colors are SkColors, and swaps the red
   and blue channels, leading to incorrect results.

Bug: skia:
Change-Id: I3401e030d4ffea8666efd02e20a5fdedcfbd8485
Reviewed-on: https://skia-review.googlesource.com/17986
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-05-25 19:47:07 +00:00
Stephen White
6eca90fea6 GrTessellator: fix for three edges becoming collinear after splitting.
In rare cases, a single edge can become collinear with two adjacent
neighbour edges after it's split. The solution is to continue to merge
until no collinear edges are found.

BUG=722000

Change-Id: Ia5dd212b7acfb40ed1d6c74ebfa9e4a4746fe40a
Reviewed-on: https://skia-review.googlesource.com/17963
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2017-05-25 19:33:17 +00:00
Mike Klein
506262665c add srcover_rgba_8888
Change-Id: Iabdc79183ccd2f9cc513d4bdc530fb078b1627ab
Reviewed-on: https://skia-review.googlesource.com/17930
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-05-25 19:33:07 +00:00
Ben Wagner
9b51d1484a Omit more shapes tests for ANGLE Release.
Bug: skia:6534
Change-Id: I182a207ea827451daad5ed7f982289c0a29ce24d
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/17929
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-05-25 19:23:47 +00:00
Greg Daniel
09bcf735f8 Add NexusPlayer Vulkan perf bot
Bug: skia:
Change-Id: I67594a109ea51bd8627cb47978e263b5493e7737
Reviewed-on: https://skia-review.googlesource.com/17933
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-05-25 19:10:17 +00:00
Florin Malita
04d22c0483 Remove (now-dead) SK_LEGACY_SWEEP_GRADIENT code
Behold the first raster pipeline-only gradient!

Change-Id: Ib6f53224e4ff9506aafdae1d2303102fc5235dfc
Reviewed-on: https://skia-review.googlesource.com/17982
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-05-25 18:33:17 +00:00
Brian Osman
ac1e4964e7 Workaround Mali static analysis bug
Comment describes it: Unless we do something to confuse their optimizer,
they will (incorrectly) deduce that uniform opaque color (modulated only
by a texture fetch) is always going to remain opaque. Then they skip
inserting their shader based blending code, turning SrcOver into Src.

Doing a max against zero is enough to squelch the optimization.

Bug: skia:
Change-Id: I74676cebb0b0c8d121da868dd8a88050e0cfcc0d
Reviewed-on: https://skia-review.googlesource.com/17924
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-05-25 16:15:07 +00:00
Robert Phillips
3fdd0bf2d9 Update clearOp for split-OpList world (take 2)
It would reduce a lot of noise if the GrRenderTargetOpList kept a pointer to the GrCaps but, for now, I'm trying to shrink the GrRTOpList, not expand it.

Reland of: https://skia-review.googlesource.com/c/17323/ (Update clearOp for split-OpList world)

Change-Id: I97f3fb81e6258d430e7f7cf1ea8bd51a392f9f47
Reviewed-on: https://skia-review.googlesource.com/17830
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-05-25 15:20:27 +00:00
Greg Daniel
cd2f512578 Initialize blit framebuffer in GL even if not doing msaa
Bug: skia:
Change-Id: I6b7290485e0c3123c62a50ec156738862e9ad18c
Reviewed-on: https://skia-review.googlesource.com/17926
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-05-25 15:12:17 +00:00
Florin Malita
4aed13889b Reland of SkShaderBase
Introduce a private base class (SkShaderBase), to hide
implementation details from the public interface (SkShader).

Change-Id: Ib1d76cde880bd51868b97408710f8bb38128e536
Reviewed-on: https://skia-review.googlesource.com/17925
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-05-25 14:59:07 +00:00
Mike Klein
555ea8e994 bail out of ChooseBitmapXferProc with a color space
This fixes the paint-color parts of the gamut GM,
and a handful of other similar problems.

We'll still memset in the blitter, just after we get in the right gamut.

BUG=skia:6679

Change-Id: I2b16259ad689c63ae304fb600802acf9125b8c25
Reviewed-on: https://skia-review.googlesource.com/17922
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-05-25 14:14:17 +00:00
Robert Phillips
3b3307f2b1 Disable MSAA for Intel GPUs and re-enable GrSurfaceRenderability test
This CL replaces: https://skia-review.googlesource.com/c/17710/ (Re-enable GrSurfaceRenderability test)

Change-Id: I5626e4fc3581cd2b17fe0f0ad3a9e9bc35b7aa4c
Reviewed-on: https://skia-review.googlesource.com/17764
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-05-25 13:40:16 +00:00
Mike Klein
c998f733e3 make sure to_srgb maps 1 to 1
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE2,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE41,Test-Android-Clang-Nexus10-CPU-Exynos5250-arm-Release-Android,Test-Android-Clang-PixelC-CPU-TegraX1-arm64-Release-Android,Test-Android-Clang-Ci20-CPU-IngenicJZ4780-mipsel-Release-Android

BUG=skia:6678,skia:6683

Change-Id: I217084fa0a11ad661a8751f0c3b1cade5cc52473
Reviewed-on: https://skia-review.googlesource.com/17902
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-05-25 13:25:47 +00:00
Heather Miller
d1a6dd6ad9 Update Skia milestone to 61
BUG=skia:

Change-Id: I9602ddb0f5a08481365e7c74f1fc93836f7e5080
Reviewed-on: https://skia-review.googlesource.com/17920
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
2017-05-25 12:46:46 +00:00
Robert Phillips
985e192171 Rename HD4000 GPU to IntelHD4000 on bots
This is so the blanket disabling of MSAA on Intel bots (in test.py & perf.py) actually disables it on the HD4000. 

Change-Id: Ief3c0c85ed53e312f5e584ab51ba76f78fb8c036
Reviewed-on: https://skia-review.googlesource.com/17822
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-05-25 12:42:36 +00:00
Mike Reed
6533159f2c add stage for gaussian alpha to rgba for shadows
speeds up GM:shadow_utils 20%

Bug: skia:
Change-Id: If52dd5e2c76ace82d06351af1419e0663a3a634f
Reviewed-on: https://skia-review.googlesource.com/17844
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-05-24 21:43:35 +00:00
Leon Scroggins
7041fd5a1f Revert "Add animated webp images to DM testing"
This reverts commit 6ecc373cde.

Reason for revert: skbug.com/6682

Original change's description:
> Add animated webp images to DM testing
> 
> Change-Id: Idb6f95574136cbcb4fb45784a5bf1db3fa97ab32
> Reviewed-on: https://skia-review.googlesource.com/17832
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> 

TBR=borenet@google.com,msarett@google.com,scroggo@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I6674dbb66a24e425b3432309a8f37e19cf484d48
Reviewed-on: https://skia-review.googlesource.com/17846
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2017-05-24 21:24:06 +00:00
Florin Malita
d93e11ceb4 Revert "SkShaderBase"
This reverts commit 58a756435c.

Reason for revert: g3, Android borkage.

Original change's description:
> SkShaderBase
> 
> Introduce a private base class (SkShaderBase), to hide
> implementation details from the public interface (SkShader).
> 
> Change-Id: If3ec26ca6abc9da20e3f139c11fdc023bdd85176
> Reviewed-on: https://skia-review.googlesource.com/17241
> Commit-Queue: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Mike Reed <reed@google.com>
> 

TBR=mtklein@google.com,fmalita@chromium.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I32b012ee466dd006c074593f211f43ed602f1078
Reviewed-on: https://skia-review.googlesource.com/17845
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-05-24 21:15:57 +00:00
Kevin Lubick
ffce079f4e Enable chromecast gpu perf
The new #ifndef account for what the chromecast sdk
cannot handle (e.g. posix).

Bug: skia:6581
Change-Id: I3d64d25980d80185f8b95c05badee5f665d97cd3
Reviewed-on: https://skia-review.googlesource.com/13811
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-05-24 20:30:05 +00:00
Wei-Yin Chen (陳威尹)
56a1e6a109 Reduce absolute paths in generated ninja files in skia
BUG=chromium:723856

Change-Id: Ifa065daddfe1d775e843307587e4007ad6dae6d4
Reviewed-on: https://skia-review.googlesource.com/17802
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-05-24 20:16:55 +00:00
Florin Malita
58a756435c SkShaderBase
Introduce a private base class (SkShaderBase), to hide
implementation details from the public interface (SkShader).

Change-Id: If3ec26ca6abc9da20e3f139c11fdc023bdd85176
Reviewed-on: https://skia-review.googlesource.com/17241
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2017-05-24 19:56:15 +00:00
Greg Daniel
aa13223f54 Allow for non opaque colors for src-over lcd fallback case in gpu
Since skia is currently requiring the dst to be opaque for lcd draws this
change is safe to make in terms of correctly. It will also be faster than
the current shader based blending.

Bug: chromium:725879
Change-Id: I0c14b80eb5ab819500afc55030df83d5ddbef94a
Reviewed-on: https://skia-review.googlesource.com/17840
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-05-24 19:52:05 +00:00
Hal Canary
6fee59b514 SkStream: DynamicMemoryWStream gets writeToAndReset
This is similar to copyToAndReset().

Also use this in SkPDF, for minor memory savings:
Single-threaded DM's peak RSS drops from 239MB
to 228MB.

Change-Id: I352a980e6dd54eb05d74cd057bd50e02312753b0
Reviewed-on: https://skia-review.googlesource.com/17714
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-05-24 19:49:35 +00:00
Florin Malita
14a6430b7b SkSTArenaAlloc
Syntactic sugar, gets rid of some boilerplate.

Change-Id: Ibdb28b7a8f1d5e4a4e18c12d423b987d7194e340
Reviewed-on: https://skia-review.googlesource.com/17837
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
2017-05-24 19:20:45 +00:00
Mike Reed
176f19cce5 Use rasterpipeline for drawVertices
Bug: skia:
Change-Id: If6da119ee98f26981cef9373162ddb526db77be5
Reviewed-on: https://skia-review.googlesource.com/17422
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
2017-05-24 18:43:05 +00:00
Mike Klein
f6ca16e6ec also run srgb config on SK_FORCE_RASTER_PIPELINE_BLITTER bot
This helps make srgb triage easier.

Change-Id: Id9cf0568f28de94d4485ba4ccb6d3235d32373a3
Reviewed-on: https://skia-review.googlesource.com/17839
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-05-24 18:30:45 +00:00
Mike Klein
9fff11133d better extend: alloc once, no recursion
Change-Id: I6a8cee08248462e4e17196028758dd8d44093b28
Reviewed-on: https://skia-review.googlesource.com/17831
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-05-24 17:24:45 +00:00
Mike Klein
791625596d inline SkArenaAlloc::allocObject()
Call overhead does appear to be showing up on our profiles.

Change-Id: If3875a8972769f45282e0eb1d4aef6324cd56878
Reviewed-on: https://skia-review.googlesource.com/17833
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-05-24 17:22:25 +00:00
Leon Scroggins III
6ecc373cde Add animated webp images to DM testing
Change-Id: Idb6f95574136cbcb4fb45784a5bf1db3fa97ab32
Reviewed-on: https://skia-review.googlesource.com/17832
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2017-05-24 17:14:45 +00:00
Ravi Mistry
380dcdbf81 Update the SKP repository used by the CT bots
The SKP repository was updated in skbug.com/6666

The CT bots are:
* Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_1k_SKPs
* Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs
* Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_100k_SKPs
* Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_IMG_DECODE_100k_SKPs
* Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_1m_SKPs

BUG=skia:6676

Change-Id: I625e6a3947bb6c3f377c19dd0dc55b417842ca5b
Reviewed-on: https://skia-review.googlesource.com/17821
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2017-05-24 17:14:05 +00:00
Derek Sollenberger
ee47914ae5 Add GrContext API to report the number of purgeable bytes in the cache.
Change-Id: I1457eec9831736f386e3b3b80d9eac8dbb337a9b
Reviewed-on: https://skia-review.googlesource.com/17829
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2017-05-24 17:08:45 +00:00
Brian Salomon
8785df15fe Clear atlas textures at creation in Chrome
Bug: chromium:656320
Change-Id: Ia65274aa733f199be188579821e745920493aefc
Reviewed-on: https://skia-review.googlesource.com/17824
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-05-24 16:04:45 +00:00
Yuqian Li
5458cf8ec6 Add cumulative fps to SampleApp
In some samples (whose frame time is really really small), 
the fps number jumps so fast that I can hardly see even 
the first digit of the number. This problem will become
more severe for threaded backend which substantially lowers
the frame time. Taking an average over  a long time would
give me a much more stable fps number.

Bug: skia:
Change-Id: Ie6052b4735d9410d5e644331bf025b5bf9f40323
Reviewed-on: https://skia-review.googlesource.com/17823
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-05-24 15:38:17 +00:00
Mike Klein
3b840e9304 add a bulk shader path through SkRasterPipelineBlitter
Change-Id: I76f1f0c29b3408bffb7732ee1afb8337c478605e
Reviewed-on: https://skia-review.googlesource.com/17768
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
2017-05-24 15:26:15 +00:00