Commit Graph

14505 Commits

Author SHA1 Message Date
Robert Phillips
9fab7e98d7 Remove accessRenderTarget call in SkGpuDevice ctor
This is a follow up to https://skia-review.googlesource.com/c/4929/ (Guard against instantiate & accessRenderTarget failures).

Rather than guard this call to accessRenderTarget I would prefer to remove it.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4961

BUG=665681,665500,665621

Change-Id: I2c9ec245491d9059de892b2e6a7d4a4de4accdfd
Reviewed-on: https://skia-review.googlesource.com/4961
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2016-11-17 18:35:22 +00:00
Brian Salomon
a7c4c29abf Remove unnecessary TextureSampler comparison in GrTextureDomainEffect.
The base class already performs this comparison.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4960

Change-Id: Ic2a46e05f05ba36b291c05e324aa29b4aad15c23
Reviewed-on: https://skia-review.googlesource.com/4960
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-17 18:33:05 +00:00
Yuqian Li
4eb35bb7d7 Use SkFixedMul instead of SkFixedMul_lowprec
It seems that SkFixedMul_lowprec doesn't have too much performance gain (maybe
1%). But its precision loss is siginificant. No serious issues have been found
in convex cases, but things get much trickier for concave shapes. I'm removing
it now to improve the stability and reliability of our algorithm, which may
potentially benefit our Chrome landing. (Even if we do not remove
SkFixedMul_lowprec now, we eventually will remove it when we land concave AAA
code.)

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4926

Change-Id: Iae5739a3780bb77ce6237888eee51a502fea5cf2
Reviewed-on: https://skia-review.googlesource.com/4926
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2016-11-17 17:54:50 +00:00
Robert Phillips
e60ad620fe Guard against instantiate & accessRenderTarget failures
Chrome's fuzzer have reminded me that, since we are deferring allocation, instantiate and accessRenderTarget can now fail further down the call stack.

This should probably be cherry picked back to M56.

BUG=665681,665500,665621

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4929

Change-Id: I44d81ff29586dfe75ddda30b5ed8ca76354542d6
Reviewed-on: https://skia-review.googlesource.com/4929
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2016-11-17 17:34:13 +00:00
Mike Klein
987de5b6b9 Plumb filter quality into SkShader::appendStages().
We of course need this to know whether or not to bilerp.

TBR=herb@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4932

Change-Id: I5fe6d93c1d36d0d53f566f722960fcafb0d8bc3c
Reviewed-on: https://skia-review.googlesource.com/4932
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-11-17 17:23:59 +00:00
Brian Salomon
0bbecb21ab Rename GrTextureAccess to GrProcessor::TextureSampler.
Renames vars and methods that used the work "access" to refer to this type.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4931

Change-Id: Ibcf488fbd445c5119fc13d190544cd98981bdbee
Reviewed-on: https://skia-review.googlesource.com/4931
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2016-11-17 17:18:53 +00:00
Cary Clark
9de097639f fix fuzzer crash
Fail if data is
inconsistent.

R=kjlubick@google.com
BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4923

Change-Id: Ie3f65c80c0d59968b1e3fc8bc91839bedb2e3da3
Reviewed-on: https://skia-review.googlesource.com/4923
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2016-11-17 17:18:52 +00:00
Herb Derby
f9d5d4fb8c Use SkSmallAllocator for SamplerStage and Accessor.
BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4917

Change-Id: Id67d7c1cefa2aadfc706c56dd02d086120f99be3
Reviewed-on: https://skia-review.googlesource.com/4917
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-11-16 22:20:26 +00:00
Matt Sarett
db4d406e7e Hook into parametric and table raster pipeline stages
BUG:664864

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4913
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Change-Id: I909152f1abba60803f0ce2f970eec1f8f1816d78
Reviewed-on: https://skia-review.googlesource.com/4913
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-11-16 22:08:34 +00:00
Yuqian Li
d930752957 Turn off all SkDebugfs in SkScan_AAAPath.cpp
TBR=mtklein@google.com

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4912

Change-Id: Ia69f2932936e34bc487c9c468bba176de0b2b0df
Reviewed-on: https://skia-review.googlesource.com/4912
Reviewed-by: Yuqian Li <liyuqian@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-11-16 22:03:31 +00:00
Yuqian Li
8de17f7598 No SkDebugf for approximate intersection
TBR=mtklein@google.com

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4911

Change-Id: I23bc298186f93c1a97a15d00b34f65cd72f964e7
Reviewed-on: https://skia-review.googlesource.com/4911
Reviewed-by: Yuqian Li <liyuqian@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-11-16 22:03:29 +00:00
Florin Malita
ca79535dcb External SkImageGenerator API
Introduce an SkImageGenerator API to support the implementation of
externally-managed image decode and scale caches.

BUG=skia:5806
R=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4720

Change-Id: Ibfe37af5471f78f28f88f9d5e80938882be1a344
Reviewed-on: https://skia-review.googlesource.com/4720
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2016-11-16 20:24:48 +00:00
csmartdalton
2245803fcd Rename GrTextureBufferSampler to GrBufferSampler
Just a simple renaming to reinforce the Ganesh notion that a buffer
access is not related to a texture.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4879

Change-Id: I3f12b6eccff744e246618be0a7abf41c4a1228a1
Reviewed-on: https://skia-review.googlesource.com/4879
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2016-11-16 19:34:48 +00:00
Brian Salomon
2a51de82ce Revert "Revert "Add support for image load to SkSL""
This reverts commit cb115bdeed.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4900

Change-Id: Ibcb381bae83d0cfc1a1226be90792061d401426a
Reviewed-on: https://skia-review.googlesource.com/4900
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-16 19:31:11 +00:00
Brian Salomon
a8f0002f0c Rename kTexture2DISampler to kITexture2DSampler.
Also remove unused kGrSLTypeCount.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4903

Change-Id: I7f934c56515424b2668886dec2f16296a1256e2c
Reviewed-on: https://skia-review.googlesource.com/4903
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2016-11-16 19:27:27 +00:00
Mike Klein
a9312fd56e Add trace and registers stages.
Yet more debugging tools.

TBR=herb@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4908
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Change-Id: I92e2e6b17abfc32c8d3554e71dbf95abadbb3824
Reviewed-on: https://skia-review.googlesource.com/4908
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-11-16 19:22:23 +00:00
Herb Derby
fb74ef96d4 Use SkSmallAllocator for tiling.
BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4904

Change-Id: If401ea43454b46591d6f39492e7761b16a7e7a29
Reviewed-on: https://skia-review.googlesource.com/4904
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-11-16 19:22:21 +00:00
Mike Reed
d5870c2a4d move SkBlendMode_Name into public (for chrome)
BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4905

Change-Id: I4f6cbc7b4d2a9d41ba5da39d550961587f30a4ac
Reviewed-on: https://skia-review.googlesource.com/4905
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2016-11-16 19:17:21 +00:00
robertphillips
1125a030c7 Add IORef capability to GrSurfaceProxy objects - take 2
Re-landing of https://skia-review.googlesource.com/c/4734/ (Add IORef capability to GrSurfaceProxy objects) with fixes for:
 platforms that don't support discards.
 memory leak due to copying over of GrSurfaceProxy's creation ref to instantiated GrSurface in instantiate()

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4827
BUG=skia:

Change-Id: If0b695d5cafc5ef3fdd251c38262849d09e5d27f
Review-Url: https://codereview.chromium.org/2502923003
2016-11-16 11:17:17 -08:00
Yuqian Li
20079a94e8 Fix mask overflow caused by edge drift
BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4797

Change-Id: Ica1568b67c1e1ce4aae2bdaba2c5b1f2155d1382
Reviewed-on: https://skia-review.googlesource.com/4797
Reviewed-by: Cary Clark <caryclark@google.com>
2016-11-16 18:43:52 +00:00
Yuqian Li
721625b25e Drop forceRLE to simplify aaa_walk_convex_edges
The virtual flush function doesn't seem to affect the performance much.
Maybe there's a 1% drop in performance in nanobench against
fill_big_triangle and fill_big_circle, but that's too small a change for
nanobench to reliabily diffrentiate.

The smooth jump (ignore fractional y if edges don't change their
directions significantly) no longer needs to be guarded against SkAAClip
because our recent CL (https://skia-review.googlesource.com/c/4636/)
make left/rightBound much tighter.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4899

Change-Id: If323013b810cc1ff5f6dbb868a8981354ee6f9b5
Reviewed-on: https://skia-review.googlesource.com/4899
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
2016-11-16 18:05:06 +00:00
Yuqian Li
e4b8b5283f Simplify the signature of sk/aaa_fill_path
Previously, the clipRect is either equal to nullptr or clipRgn's bound
(after necessary supersampling shift). Hence we drop one of them to make
the signature simpler.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4874

Change-Id: Ied8d5313809d6cf90374365b01f2b8d52f2236e2
Reviewed-on: https://skia-review.googlesource.com/4874
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2016-11-16 15:55:50 +00:00
Jim Van Verth
08576e6188 Fix error with transforming custom/large glyphs
BUG=661244
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4738

Change-Id: I9f14ca830f9de92000e751a4a99ff1eb9b01db33
Reviewed-on: https://skia-review.googlesource.com/4866
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2016-11-16 15:48:48 +00:00
Mike Reed
d470673928 make SkXfermode.h go away
This is step one:
- make SkXfermode useless to public clients
- everything they should need is in SkBlendMode.h

Step two:
- remove SkXfermode.h entirely (since skia core will already be using SkXfermodePriv.h)

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4534

Change-Id: If2cea9f71df92430ed6644edb98dd306c5572cbc
Reviewed-on: https://skia-review.googlesource.com/4534
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2016-11-16 15:38:11 +00:00
egdaniel
988283c894 Revert of added support for push_constant layout (patchset #7 id:140001 of https://codereview.chromium.org/2187433003/ )
Reason for revert:
hitting assert in vulkan

Original issue's description:
> added support for push_constant layout
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2187433003
>
> Committed: https://skia.googlesource.com/skia/+/fa5f65ac61fd525029aa9dab161ffe4896c10f6d

TBR=ethannicholas@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/2509673002
2016-11-16 07:29:52 -08:00
Stan Iliev
cb115bdeed Revert "Add support for image load to SkSL"
This reverts commit bd85a105ba.

Reason for revert: Needing to revert a dependent CL

Original change's description:
> Add support for image load to SkSL
> 
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4865
> 
> Change-Id: I4647e6b255946ced2b1b8cb05e62f0f5a8ad28b6
> Reviewed-on: https://skia-review.googlesource.com/4865
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> 

TBR=bsalomon@google.com,ethannicholas@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I45932a53c606aadd645ee2b8264f08ad63429939
Reviewed-on: https://skia-review.googlesource.com/4892
Commit-Queue: Stan Iliev <stani@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
2016-11-16 15:25:57 +00:00
Mike Klein
cfcf624c39 add {parametric,table}_{r,g,b} stages.
Think you can take over from here, hook these into SkColorSpaceXform_A2B, and remove the need for fn_1_{r,g,b}?

BUG=skia:664864

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4888
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Change-Id: If573fa2861f32f201f4db28598559290b1eef812
Reviewed-on: https://skia-review.googlesource.com/4888
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
2016-11-16 14:25:25 +00:00
Brian Salomon
bd85a105ba Add support for image load to SkSL
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4865

Change-Id: I4647e6b255946ced2b1b8cb05e62f0f5a8ad28b6
Reviewed-on: https://skia-review.googlesource.com/4865
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2016-11-16 00:48:35 +00:00
csmartdalton
dabc91bc0f Fix flushing of HWAA state relating to mixed samples
Fixes the sense of the "stencilEnabled" argument sent to
flushHWAAState.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4872

Change-Id: If7097f2819607864c95b0ffd04dc1d302fa66fdc
Reviewed-on: https://skia-review.googlesource.com/4872
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2016-11-16 00:04:43 +00:00
James Zern
44e91c9638 LinearGradientContext::shade4_clamp: fix div by 0
getScaleX() may return 0; move division using it after a
SkScalarNearlyZero check and closer to its first use.

Change-Id: Ie209d46dc101213e20e90486651ee17570425bb8
Reviewed-on: https://skia-review.googlesource.com/4643
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2016-11-16 00:03:26 +00:00
Robert Phillips
4e344c8b93 Revert "Defer more renderTargetContexts in the GPU image filter paths"
This reverts commit fd01ce05ef.

Reason for revert: see if this is the cause of the Nexus7 assertion failure

Original change's description:
> Defer more renderTargetContexts in the GPU image filter paths
> 
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4767
> 
> Change-Id: I4c1f27247ef340a49d1ac96761810e77e6047ca2
> Reviewed-on: https://skia-review.googlesource.com/4767
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> 

TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I158f96ec1252481345fc5dca15086ffd4b47cb95
Reviewed-on: https://skia-review.googlesource.com/4875
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2016-11-15 22:17:40 +00:00
herb
be42c994b4 Move the matrix stage of SkLinearBitmapPipeline over to using SkSmallAllocator.
The rest of the stages will follow. When all stages are completed,
this should significantly reduce stack use in the typical case.

This a step in removing the baroque stage system and moving towards
a SkRasterPipeline stage system.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2484273002

Review-Url: https://codereview.chromium.org/2484273002
2016-11-15 14:07:13 -08:00
Mike Klein
3928c6b616 Add SkRasterPipeline::dump().
Entirely for debugging.

TBR=herb@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4871

Change-Id: I6d6972c40b11854441f566c12516a2ec8c75c78f
Reviewed-on: https://skia-review.googlesource.com/4871
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-11-15 21:55:31 +00:00
ethannicholas
fa5f65ac61 added support for push_constant layout
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2187433003

Review-Url: https://codereview.chromium.org/2187433003
2016-11-15 12:53:06 -08:00
Robert Phillips
3667b4970d Add kRenderTarget_GrSurfaceFlag to GrVkGpu::onWrapBackendRenderTarget
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4868

Change-Id: I7f169d050c47c074cf63ef9b63fb7df8efdaed62
Reviewed-on: https://skia-review.googlesource.com/4868
Commit-Queue: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2016-11-15 20:35:40 +00:00
Brian Salomon
f26f7a063a Add detection of image load/store to caps
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4861

Change-Id: Ibf70cce9f61553e830b62339551c1541dc054e8b
Reviewed-on: https://skia-review.googlesource.com/4861
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-15 20:29:07 +00:00
Brian Salomon
0b63ceb10c Add image functions to GrGLInterface
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4840

Change-Id: I250cc4e637765c321c90e33c9b3f25c4ad12fe04
Reviewed-on: https://skia-review.googlesource.com/4840
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-15 19:37:35 +00:00
Brian Salomon
d327e8c3d0 Add 4.20 as a GLSL output version.
GLSL 4.20 adds support for image functions which will be used in forthcoming changes.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4833

Change-Id: I8cab511d95f04b45faaf916628148117b8be2128
Reviewed-on: https://skia-review.googlesource.com/4833
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2016-11-15 19:09:49 +00:00
Cary Clark
918fb1fe6f fuzz hang fix and pathops client debugging
The ASAN fuzzer on chrome caught a hanging state.

To capture the data, allow the pathops client debugging
to run in a release build.

TBR=reed@google.com
BUG=665295

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4834

Change-Id: I6b2c2baabd63994f63aa730d2ee7828986b5ab89
Reviewed-on: https://skia-review.googlesource.com/4834
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
2016-11-15 19:03:36 +00:00
Mike Klein
fb191da789 More shader preliminaries / refactoring
- thread through ctm
    - make blitter handle paint modulation instead of each shader

TBR=herb@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4830
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Change-Id: I8161e6b3864c4e48e4d47d5ad40a56a13c02fee8
Reviewed-on: https://skia-review.googlesource.com/4830
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-11-15 18:53:58 +00:00
Brian Osman
57ae6cfe01 Revert "Support decoding images to multiple formats, depending on usage"
This reverts commit c73a1ecbed.

Reason for revert: ANGLE and CommandBuffer failures

Original change's description:
> Support decoding images to multiple formats, depending on usage
> 
> Our codec generator will now preserve any asked-for color space, and
> convert the encoded data to that representation. Cacherator now
> allows decoding an image to both legacy (nullptr color space), and
> color-correct formats. In color-correct mode, we choose the best
> decoded format, based on the original properties, and our backend's
> capabilities. Preference is given to the native format, when it's
> already texturable (sRGB 8888 or F16 linear). Otherwise, we prefer
> linear F16, and fall back to sRGB when that's not an option.
> 
> BUG=skia:5907
> 
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4438
> 
> Change-Id: I847c243dcfb72d8c0f1f6fc73c09547adea933f0
> Reviewed-on: https://skia-review.googlesource.com/4438
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> 

TBR=mtklein@google.com,bsalomon@google.com,msarett@google.com,brianosman@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I1818f937464573d601f64e5a1f1eb43f5a778f4e
Reviewed-on: https://skia-review.googlesource.com/4832
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2016-11-15 18:07:40 +00:00
Brian Osman
d6010879c6 Revert "Fix NoGPU compilation"
This reverts commit d5a78805c5.

Reason for revert: This was a patch for an earlier change that's going to be reverted as well.

Original change's description:
> Fix NoGPU compilation
> 
> All of these functions were written to work without GPU support, just
> forgot to compile them in that situation.
> 
> BUG=skia:
> 
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4796
> 
> Change-Id: Ia23d304f07eb16714390b459dd448bc08402f479
> Reviewed-on: https://skia-review.googlesource.com/4796
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Stan Iliev <stani@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Commit-Queue: Stan Iliev <stani@google.com>
> 

TBR=egdaniel@google.com,brianosman@google.com,stani@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Id0b9db355f416c118c0ef95501a6cfdeb083b54e
Reviewed-on: https://skia-review.googlesource.com/4831
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2016-11-15 18:06:28 +00:00
Mike Klein
526525a37c Revert "While we can, restrict SkFixedAlloc/SkFallbackAlloc to POD."
This reverts commit 1ee70359a1.

Reason for revert: breaking my various rolls.

Original change's description:
> While we can, restrict SkFixedAlloc/SkFallbackAlloc to POD.
> 
> This trims the overhead down to a uniform 4 bytes.
> 
> BUG=skia:
> 
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4786
> 
> Change-Id: I92127a0c2d6c23a4a372eca39842e22195d2dc99
> Reviewed-on: https://skia-review.googlesource.com/4786
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> 

TBR=mtklein@chromium.org,herb@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Iae9ef553422352a1abf95b709fccd014d468da86
Reviewed-on: https://skia-review.googlesource.com/4829
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-11-15 18:01:21 +00:00
Mike Klein
02806f4dd5 Revert "fix google3?"
This reverts commit ccb8e8bf38.

Reason for revert: rolling back a CL this attempted to fix.

Original change's description:
> fix google3?
> 
> TBR=brianosman@google.com
> 
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4822
> 
> Change-Id: I991232e90c6851938151daa59cdeb4a3e22a7f03
> Reviewed-on: https://skia-review.googlesource.com/4822
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> 

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

Change-Id: I127165f065be45af98528c8ae825e2f0fe5c8b0d
Reviewed-on: https://skia-review.googlesource.com/4828
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-11-15 17:58:05 +00:00
Mike Klein
0f91ea4b1b Fix up arguments passed to pipeline.
- Add half to (x,y) to get pixel centers.
  - The x updates were just totally wrong...

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4794
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Change-Id: I314489a74b54e2b88f12dd35896452ac0b9718f3
Reviewed-on: https://skia-review.googlesource.com/4794
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-11-15 17:57:33 +00:00
Mike Klein
ccb8e8bf38 fix google3?
TBR=brianosman@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4822

Change-Id: I991232e90c6851938151daa59cdeb4a3e22a7f03
Reviewed-on: https://skia-review.googlesource.com/4822
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-11-15 17:33:20 +00:00
Mike Reed
584ca89d3b change SkCanvasStack to take ownership of its subcanvases
Inspired by https://bugs.chromium.org/p/chromium/issues/detail?id=663959

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4799

Change-Id: I69f7ac73386bb7ca96778e2fec4cb2757b982a52
Reviewed-on: https://skia-review.googlesource.com/4799
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2016-11-15 17:32:03 +00:00
Brian Osman
d5a78805c5 Fix NoGPU compilation
All of these functions were written to work without GPU support, just
forgot to compile them in that situation.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4796

Change-Id: Ia23d304f07eb16714390b459dd448bc08402f479
Reviewed-on: https://skia-review.googlesource.com/4796
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
2016-11-15 16:22:54 +00:00
Mike Klein
1ee70359a1 While we can, restrict SkFixedAlloc/SkFallbackAlloc to POD.
This trims the overhead down to a uniform 4 bytes.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4786

Change-Id: I92127a0c2d6c23a4a372eca39842e22195d2dc99
Reviewed-on: https://skia-review.googlesource.com/4786
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-11-15 16:03:36 +00:00
Brian Osman
c73a1ecbed Support decoding images to multiple formats, depending on usage
Our codec generator will now preserve any asked-for color space, and
convert the encoded data to that representation. Cacherator now
allows decoding an image to both legacy (nullptr color space), and
color-correct formats. In color-correct mode, we choose the best
decoded format, based on the original properties, and our backend's
capabilities. Preference is given to the native format, when it's
already texturable (sRGB 8888 or F16 linear). Otherwise, we prefer
linear F16, and fall back to sRGB when that's not an option.

BUG=skia:5907

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4438

Change-Id: I847c243dcfb72d8c0f1f6fc73c09547adea933f0
Reviewed-on: https://skia-review.googlesource.com/4438
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2016-11-15 15:27:14 +00:00