Commit Graph

25447 Commits

Author SHA1 Message Date
Matt Sarett
dd19ac7d10 Add RasterPipeline implementation for SkColorSpaceXform
This is initially turned on for Linux debug builds,
which allows us to start testing.

Chrome for Android is a really good candidate for
this (will appreciate the code size savings), but
I'd first like to run some tests to understand the
performance/size tradeoffs a little better.

BUG:660416

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD

Change-Id: I0fb2512216dfc0bda2e5388f9865318eec22291e
Reviewed-on: https://skia-review.googlesource.com/5348
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-12-01 18:39:42 +00:00
Robert Phillips
6e1fca43b4 Add animating blur image filter GM/slide/bench
Probably still worth having but I haven't been able to reproduce the perf regression in 
crbug.com/668179 with it yet.

Change-Id: If3b0f2998ff38a17a173895ed9cea6950a81f6b7
Reviewed-on: https://skia-review.googlesource.com/5382
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2016-12-01 18:35:06 +00:00
Florin Malita
ee424acbb8 SkNoDrawCanvas - a public non-drawing canvas base class
TODO:

  - convert SkDeferredCanvas, SkLiteRecorder, etc. to the new base
  - remove unused SkNoSaveLayerCanvas

BUG=chromium:668925
R=reed@google.com,mtklein@google.com

Change-Id: Ie9af577477a6b9eaa5ef55523287ad1635dca116
Reviewed-on: https://skia-review.googlesource.com/5349
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2016-12-01 18:34:29 +00:00
Matt Sarett
a2f7126ed4 Add srgb and f16 modes to fiddle
BUG=skia:5945

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

Change-Id: I29b87a3b2eb20b8d28f8fb970b5192807bebdc48
Reviewed-on: https://skia-review.googlesource.com/4546
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
2016-12-01 18:12:57 +00:00
Hal Canary
a4d861a5b4 third_party/ktx: put WriteBitmapToKTX back
BUG=skia:

Change-Id: I876e802db370a7812cd53e42cb4927702e6c1fb6
Reviewed-on: https://skia-review.googlesource.com/5418
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2016-12-01 17:45:12 +00:00
Mike Reed
b2e29bbf22 Revert "Revert "Revert "remove (empty) SkXfermode.h"""
This reverts commit 1c038af278.

Reason for revert: <INSERT REASONING HERE>

More breaks in g3 (e.g. blink_headless)

Original change's description:
> Revert "Revert "remove (empty) SkXfermode.h""
> 
> This reverts commit c5d0147717.
> 
> g3 is updated to allow this to land
> 
> BUG=skia:
> 
> Change-Id: I5f4b06c2dc77dfa66d9b32348375151177511a65
> Reviewed-on: https://skia-review.googlesource.com/5406
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
> 

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

Change-Id: I77f69512f616120382c31d90243f7df13985d76c
Reviewed-on: https://skia-review.googlesource.com/5419
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2016-12-01 17:32:46 +00:00
brianosman
9db12d2341 Two (related) changes here:
1) Our older iOS devices failed our sRGB tests, due to precision issues
with alpha. At this point, we only test on iPadMini 4, and that appears
not to have any problems.

2) iOS devices still don't have the sRGB texture decode extension. But,
some clients have no interest in mixing legacy/color-correct rendering,
and would like to use sRGB on these devices. This GrContextOptions flag
enables sRGB support in those cases.

Adjust the test code to produce sRGB capable contexts on these devices,
but only for configs that have a color space. (See comment).

BUG=skia:4148

Review-Url: https://codereview.chromium.org/2539993002
2016-12-01 09:02:03 -08:00
Brian Salomon
9afd371a8a Rename GrDrawBatch->GrDrawOp
Change-Id: I18f520924b8a2548566fd61dbea4e3e12bd253dd
Reviewed-on: https://skia-review.googlesource.com/5411
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2016-12-01 16:45:27 +00:00
Mike Klein
62458a6778 Revert "Added CMYK support for ICC profiles."
This reverts commit 51c3fcd376.

Reason for revert: ASAN, MSAN both take issue with parse_and_load_gamma() 

Original change's description:
> Added CMYK support for ICC profiles.
> 
> Changed ICC parsing/SkGammas/SkColorLookUpTable to handle non-3-channel
> inputs. Parsed CMYK A2B ICC profiles. Integrated this with SkJpegCodec
> (the only file that supports CMYK) and SkColorSpaceXform_A2B to allow
> parsing and color xforming of ICC CMYK images.
> 
> BUG=skia:
> 
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5197
> CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
> 
> 
> Change-Id: Id6619f63f04071f79cd2d84321857dfa269ad3aa
> Reviewed-on: https://skia-review.googlesource.com/5197
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Matt Sarett <msarett@google.com>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> 

TBR=mtklein@chromium.org,mtklein@google.com,msarett@google.com,scroggo@google.com,brianosman@google.com,raftias@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ib43fef00bc233c0b4fa47ed29040d69601def267
Reviewed-on: https://skia-review.googlesource.com/5423
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-12-01 16:38:30 +00:00
raftias
51c3fcd376 Added CMYK support for ICC profiles.
Changed ICC parsing/SkGammas/SkColorLookUpTable to handle non-3-channel
inputs. Parsed CMYK A2B ICC profiles. Integrated this with SkJpegCodec
(the only file that supports CMYK) and SkColorSpaceXform_A2B to allow
parsing and color xforming of ICC CMYK images.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5197
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD


Change-Id: Id6619f63f04071f79cd2d84321857dfa269ad3aa
Reviewed-on: https://skia-review.googlesource.com/5197
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2016-12-01 16:22:49 +00:00
Mike Klein
14c8f82334 move all memset() logic into blitter
It's cute in compile_pipeline(), but as before, clearer and simpler in the blitter.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD

Change-Id: Ib83ff097e4e057e72aed785797e6ac0029ca5dbf
Reviewed-on: https://skia-review.googlesource.com/5399
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-12-01 15:21:09 +00:00
Brian Salomon
25a880960a Rename GrBatch to GrOp
Change-Id: I27b6324f8040899fafeda23ca524bc54a4dbf090
Reviewed-on: https://skia-review.googlesource.com/5392
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2016-12-01 15:12:53 +00:00
Brian Salomon
7c3e718094 Remove pipeline info dump from GrDrawBatch
Also adds more overrides of GrBatch::dumpInfo.

This removes a use case of the GrPipeline member of GrDrawBatch.

Change-Id: I93f5f2993be41ffa290122f12a683d2bac453e1d
Reviewed-on: https://skia-review.googlesource.com/5354
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-12-01 15:07:31 +00:00
Mike Reed
1c038af278 Revert "Revert "remove (empty) SkXfermode.h""
This reverts commit c5d0147717.

g3 is updated to allow this to land

BUG=skia:

Change-Id: I5f4b06c2dc77dfa66d9b32348375151177511a65
Reviewed-on: https://skia-review.googlesource.com/5406
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2016-12-01 15:04:34 +00:00
Hal Canary
681fa361f4 No SkEncodeImageAsKTX for ANDROID_FRAMEWORK
BUG=skia:

Change-Id: Ia2925eb6aecd576d078256013fe122a468c30a5a
Reviewed-on: https://skia-review.googlesource.com/5421
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2016-12-01 14:59:32 +00:00
Matt Sarett
d0fdc0f234 SkColorSpaceXform bug fixes
(1) Clamp properly!

Finally came to this realization: clamping in the
store functions (after gamma encoding) is ridiculous.
It is impossible to know how to clamp premul values
to alpha when they are already gamma encoded.

I've moved the clamp out of the store function.
Whew, this actually makes the code look simpler.

And I expect this to fix some buggy images on Gold!

(2) Correctly handle the memcpy() case.

Looks like this only ever worked for RGBA inputs,
never got updated when we added BGRA inputs.

This probably flew under the radar because the
clients are smart enough to avoid performing a
color xform altogether when the color spaces
match.

BUG=skia:

Change-Id: I4870048105efcbecc70b4bd5f77c39537006363e
Reviewed-on: https://skia-review.googlesource.com/5389
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-12-01 14:55:05 +00:00
Eric Boren
71b762f2ac [nobuildbot] CT bots
BUG=skia:

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

Change-Id: I2d131415c912790cf1aeceaccc23be85ade7f5f0
Reviewed-on: https://skia-review.googlesource.com/5183
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2016-12-01 04:40:57 +00:00
Mike Klein
f447deea62 support medium and high quality
Change-Id: I4ed750932cd6c768e21ca9f4a9e7f5f2408cfa4d
Reviewed-on: https://skia-review.googlesource.com/5323
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-11-30 23:20:51 +00:00
Hal Canary
1fcc40474f SkEncodeImage: no more link-time registration
Also, no more SkImageEncoder class.

SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS now only guards some
old API shims.

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

Change-Id: I3797f584f3e8e12ade10d31e8733163453725f40
Reviewed-on: https://skia-review.googlesource.com/5006
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2016-11-30 22:48:56 +00:00
Brian Salomon
3a7492fc04 Remove GrBatch::renderTarget() and use GrBatch::renderTargetUniqueID() instead.
Change-Id: I621ed38955e374c79a4d44c0020f9bae9655f001
Reviewed-on: https://skia-review.googlesource.com/5344
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-30 22:11:50 +00:00
Brian Osman
fa565847fe Remove unused copySurfaceAsDraw code from GrVkGpu
The actual implementation of this lives in GrVkCopyManager now

BUG=skia:

Change-Id: I8b0577acef3ac3b9e835605d4044336975a96ee5
Reviewed-on: https://skia-review.googlesource.com/5390
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2016-11-30 21:54:06 +00:00
Mike Klein
21aa3d0e66 fold more in SkRasterPipelineBlitter
No change in behavior.  This just moves the responsibility for this optimization to the blitter (which knows what it's doing) rather than to compile_pipeline(), which sort of has to guess.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD

Change-Id: I93ad0ac896075deab995b865b188b42de637f0f7
Reviewed-on: https://skia-review.googlesource.com/5398
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
2016-11-30 21:52:41 +00:00
Mike Klein
babd93e112 constant means constant
Strip all the "constant" verbiage out of stages that really just mean 1, single, scalar.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD

Change-Id: I3d71202b348fadc3ced8ecb6c18c939cf92d7243
Reviewed-on: https://skia-review.googlesource.com/5396
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-11-30 21:24:36 +00:00
Brian Salomon
5c1c8d15f5 Remove batch bounds drawing debug option
Change-Id: I6b8ffc81a1255974f8acd1dfc47cfd406fd4b0bf
Reviewed-on: https://skia-review.googlesource.com/5335
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-30 20:57:04 +00:00
Mike Klein
bf49d61fce Revert "Show constant-foldable runs in SkRasterPipeline::dump()."
This reverts commit 9ac7b2c545.

Reason for revert: misguided.

Original change's description:
> Show constant-foldable runs in SkRasterPipeline::dump().
> 
> Change-Id: I2f85249a09163dd21a8008f50340b8463718ada2
> Reviewed-on: https://skia-review.googlesource.com/5350
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> 

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

Change-Id: I3ae6c8ec11853592b332a17aefd611dc238e6c26
Reviewed-on: https://skia-review.googlesource.com/5394
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-11-30 20:54:52 +00:00
Joe Gregorio
94e4ab1e35 Fix error: ‘access’ may be used uninitialized in this function
[-Werror=maybe-uninitialized]
in GrGLGpu::bindImageStorage.

Found because this broke the compiles for the debugger, imageinfo, and fiddle, 
but apparently not any bots?

BUG=skia:

Change-Id: Id8f964bca4f6493428b35c1b64df468b9d1419db
Reviewed-on: https://skia-review.googlesource.com/5380
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2016-11-30 20:51:02 +00:00
Hal Canary
08c79b8556 remove more old cmake files
NOTRY=true

Change-Id: I53326b62467aeb6346325597f0223e247fefed8c
Reviewed-on: https://skia-review.googlesource.com/5391
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2016-11-30 20:37:45 +00:00
Brian Salomon
c293a29bc2 Make GrGpuCommandBuffer infer its render target from first draw
This is a temporary workaround to allow removal of GrBatch::renderTarget().

Change-Id: Ic14710a369802064cf6446e8191a98ea3595556d
Reviewed-on: https://skia-review.googlesource.com/5342
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2016-11-30 20:17:51 +00:00
Mike Klein
c789b61167 Bring back SkRasterPipeline::run() for one-off uses.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD

Change-Id: I308b6d75f2987a667eead9a55760a2ff6aec2984
Reviewed-on: https://skia-review.googlesource.com/5353
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-11-30 20:16:49 +00:00
Brian Osman
c5d0147717 Revert "remove (empty) SkXfermode.h"
This reverts commit c5619cd170.

Reason for revert: Want to keep Google3 green & be able to detect other changes breaking it.

Change-Id: I3a651d0996838ed12bc0cfc6ed464a2cee37fba4
Reviewed-on: https://skia-review.googlesource.com/5381
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2016-11-30 20:09:12 +00:00
Eric Karl
a422d706b1 Disable mipmap pre-generation path
There is a bug in the mipmap pre-generation logic in use in
getDeferredTextureImageData. This can cause runaway memory leaks, so we
are disabling this path until we can investigate further.

BUG=669775

Change-Id: I2027f6f7994e089edd4f3452284e894752b31779
Reviewed-on: https://skia-review.googlesource.com/5357
Reviewed-by: Brian Salomon <bsalomon@google.com>
2016-11-30 19:30:42 +00:00
Eric Boren
78f5af7ff3 [nobuildbot] Rename Win bots back to Win8/Win10
BUG=skia:

Change-Id: If66bdfc6cf15e11129048ee748430c3887132b75
Reviewed-on: https://skia-review.googlesource.com/5351
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Eric Boren <borenet@google.com>
2016-11-30 18:41:35 +00:00
Mike Klein
9ac7b2c545 Show constant-foldable runs in SkRasterPipeline::dump().
Change-Id: I2f85249a09163dd21a8008f50340b8463718ada2
Reviewed-on: https://skia-review.googlesource.com/5350
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-11-30 18:12:29 +00:00
Mike Klein
94528981c8 restore sRGB memset optimization
https://skia-review.googlesource.com/c/5275/ removed it, and perf noticed.

This is obviously not very pretty or scalable.  I plan to folow up with a more thorough and principled way to do this sort of constant-color + invariant-stage == constant-color optimization.

BUG=skia:6013

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD

Change-Id: I377386f67e66169cce6e0cb0831f3b7154496840
Reviewed-on: https://skia-review.googlesource.com/5338
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-11-30 15:44:36 +00:00
Mike Reed
c5619cd170 remove (empty) SkXfermode.h
BUG=skia:

Change-Id: Id45c378c8f6267c6cd9a187155e3934bb6d624bf
Reviewed-on: https://skia-review.googlesource.com/5339
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2016-11-30 15:40:28 +00:00
Ben Wagner
aa5fe5ef07 Clarify documentation for CQ_INCLUDE_TRYBOTS.
BUG=skia:

DOCS_PREVIEW= https://skia.org/?cl=5330
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE

Change-Id: I2e9fa401c470951a8676c2357bb409d136b971ad
Reviewed-on: https://skia-review.googlesource.com/5330
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2016-11-30 15:39:31 +00:00
Eric Boren
8ceb81af86 [nobuildbot] Remaining Win bots
Also renamed Win8 and Win10 to Win

BUG=skia:

Change-Id: If6439ba8108d9fec288223a5561230a1559dad44
Reviewed-on: https://skia-review.googlesource.com/5237
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2016-11-30 14:18:31 +00:00
Greg Daniel
9fcc743a5c Add support for resources on android Viewer
BUG=skia:

Change-Id: I1acc3e4fe6d0ce8bf29c52dd7280dff029a3abc2
Reviewed-on: https://skia-review.googlesource.com/5322
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2016-11-30 13:53:21 +00:00
Mike Klein
d94966aa26 Remove cmake/
We've stopped testing and updating the experimental CMakeLists.txt file.

A guide to building Skia with GN is available at skia.org/user/build.

Change-Id: I3d3f8f2254f072b0520bd7a9b810c4e13b871680
Reviewed-on: https://skia-review.googlesource.com/5334
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
2016-11-30 13:08:32 +00:00
Yuqian Li
84aa30d39e Add additional guard to the Analytic AA change
This shall fix the DEPS roll.

BUG=skia:

Change-Id: I3ac208a8025c3408729b9e24e9c01e9f007a1799
Reviewed-on: https://skia-review.googlesource.com/5329
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2016-11-29 23:11:42 +00:00
Brian Salomon
2d38b22cc3 Make pipeline getter a GrDrawBatch::pipeline() a protected method.
This is a baby step towards making getting GrPipeline off GrDrawBatch.

Change-Id: I7e0331f3bcd45d1920a150fefb91e307efeeced1
Reviewed-on: https://skia-review.googlesource.com/5327
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-29 22:58:26 +00:00
Matt Sarett
922e5be6e2 Fixes for SkColorLookUpTable::interp3D
(1) Fix subtle comparison bug so we interpolate the proper tetrahedral.
(2) Add new comments - the clamp is necessary.
(3) SkCSXformPrintf requires an extra friend class to compile.

BUG:668784

Change-Id: Id1a5c561f23ccfe25e141b8490cddee4c2482326
Reviewed-on: https://skia-review.googlesource.com/5238
Reviewed-by: Robert Aftias <raftias@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
2016-11-29 21:48:09 +00:00
Mike Klein
7a14734d2c support a8
Most of this is plumbing through the full paint to shaders instead of just the filter quality.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD

Change-Id: I6afde07566afa3a4391c24dca7017a9a4f5ec700
Reviewed-on: https://skia-review.googlesource.com/5317
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2016-11-29 21:36:32 +00:00
Florin Malita
5b1a7c2100 Fuzzer assert in GradientShaderBase4fContext::TSampler
Similar to https://codereview.chromium.org/2472763002, we also need to
clamp the tiled value in kRepeat mode, to avoid snapping to 1.0f.

R=reed@google.com,herb@google.com
BUG=skia:5975

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

Change-Id: I8fdac36c0d112d5eb76e47c3e4156a79a4d13b36
Reviewed-on: https://skia-review.googlesource.com/5079
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2016-11-29 21:24:44 +00:00
Brian Salomon
8b7a7ddea3 Remove caps image storage caps hack.
This was necessary because the number of fragment image storages couldn't be queried in shading language neutral code. We are no longer shading language neutral and this can be queried.

Change-Id: I065a38688919e7cdb1482877a232cb004c8f1511
Reviewed-on: https://skia-review.googlesource.com/5315
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-29 21:17:42 +00:00
Brian Salomon
f1dd677c3a Rename SkSL::GLSLCapsFactory to SkSL::ShaderCapsFactory
Change-Id: Ibc478f1a24d9d96e4d67a907c756389d184857de
Reviewed-on: https://skia-review.googlesource.com/5316
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-29 21:12:45 +00:00
Mike Klein
1a42791a58 Make SkNWayCanvas use conservative clipping.
Like most other canvas subclasses, its clips don't need to be perfect.

BUG=chromium:668925

Change-Id: I107f8ed6fa60654426fd52c066b1018d5801850d
Reviewed-on: https://skia-review.googlesource.com/5308
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2016-11-29 20:59:38 +00:00
Brian Osman
06826d9d20 In GetResourceAsBitmap, don't crash if the resource is missing
NewFromEncoded returns nullptr if the resourceData is null or empty.

BUG=skia:

Change-Id: I8812b92b8664ebf5e5cf5cdd8b3bfb29963ed454
Reviewed-on: https://skia-review.googlesource.com/5314
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2016-11-29 20:47:37 +00:00
Yuqian Li
79252f7997 Add the missing shift to the dy
This is identical to https://skia-review.googlesource.com/c/5266/ except for
the SK_ANALYTIC_AA_GUARD flag.

BUG=chromium:668907

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

Change-Id: I3fc225a925d21fe615c46a4a0be7fe33c5790766
Reviewed-on: https://skia-review.googlesource.com/5302
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
2016-11-29 20:37:40 +00:00
Brian Salomon
1edc5b92fe Rename vars and functions from 'glslcaps'->'shadercaps'
Change-Id: I34d226d866dd4ba8e5f33f95cb8cbf01292f9314
Reviewed-on: https://skia-review.googlesource.com/5312
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-29 20:17:48 +00:00