platform/upstream/libSkiaSharp.git
8 years agoClean up GrBatchAtlas a bit
robertphillips [Fri, 6 Nov 2015 22:10:42 +0000 (14:10 -0800)]
Clean up GrBatchAtlas a bit

The main thrust of this CL is to remove knowledge of the atlas' backing texture from the BatchPlot. It also reduces the API surface of the BatchPlot and shrinks the amount of fields in the BatchAtlas.

Review URL: https://codereview.chromium.org/1413403009

8 years agoadd sequence for nov talk
reed [Fri, 6 Nov 2015 20:36:24 +0000 (12:36 -0800)]
add sequence for nov talk

BUG=skia:
TBR=
NOTRY=True
NOTREECHECKS=True

Review URL: https://codereview.chromium.org/1415453011

8 years agoFix the build on Android devices
Matt Sarett [Fri, 6 Nov 2015 19:59:01 +0000 (14:59 -0500)]
Fix the build on Android devices

8 years agoRevert of SkPx: new approach to fixed-point SIMD (patchset #12 id:220001 of https...
mtklein [Fri, 6 Nov 2015 19:34:06 +0000 (11:34 -0800)]
Revert of SkPx: new approach to fixed-point SIMD (patchset #12 id:220001 of https://codereview.chromium.org/1317233005/ )

Reason for revert:
master-skia unhappy:
https://android-build.storage.googleapis.com/builds/git_master-skia-linux-volantis-userdebug/2404853/e6c439e806fb0bd0f872a3d7a5cf0637d4ad11bfaa89e9bc18b651dc65f0a36b/logs/build_error.log?GoogleAccessId=701025073339-mqn0q2nvir9iurm6q5d00tdv7blbgvjr%40developer.gserviceaccount.com&Signature=WOqQO7xHkv83SmC4h5tNUIp%2BREaYULqK11hNTWlhj1XXo0NAOQd7GNSIHl775uRRZpBw2LkHeb2Ups3LsgRPrldqymposFtDa%2BUEW0Jv2NWAr%2F1Cqt6lwWsfknvJLN9NiEGfpCCye3Q%2FEYx9bU1ozMBG6h2DRHJUMRS%2FjstkJg0%3D&Expires=1446838937

Original issue's description:
> SkPx: new approach to fixed-point SIMD
>
> SkPx is like Sk4px, except each platform implementation of SkPx can declare
> a different sweet spot of N pixels, with extra loads and stores to handle the
> ragged edge of 0<n<N pixels.
>
> In this case, _sse's sweet spot remains 4 pixels.   _neon jumps up to 8 so
> we can now use NEON's transposing loads and stores, and _none is just 1.
> This makes operations involving alpha considerably more efficient on NEON,
> as alpha is its own distinct 8x8 bit plane that's easy to toss around.
>
> This incorporates a few other improvements I've been wanting:
>   - no requirement that we're dealing with SkPMColor.  SkColor works too.
>   - no anonymous namespace hack to differentiate implementations.
>
> Codegen and perf look good on Clang/x86-64 and GCC/ARMv7.
> The NEON code looks very similar to the old NEON code, as intended.
> No .skp or GM diffs on my laptop.  Don't expect any.
>
> I intend this to replace Sk4px.  Plan after landing:
>   - port SkXfermode_opts.h
>   - port Color32 in SkBlitRow_D32.cpp (and move to SkBlitRow_opts.h like other
>     SkOpts code)
>   - delete all Sk4px-related code
>   - clean up evolutionary dead ends in SkNx (Sk16b, Sk16h, Sk4i, Sk4d, etc.)
>     leaving Sk2f, Sk4f (and Sk2s, Sk4s).
>   - find a machine with AVX2 to work on, write SkPx_avx2.h handling 8 pixels
>     at a time.
>
> In the end we'll have Sk4f for float pixels, SkPx for fixed-point pixels.
>
> BUG=skia:4117
>
> Committed: https://skia.googlesource.com/skia/+/82c93b45ed6ac0b628adb8375389c202d1f586f9
>
> CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;client.skia.compile:Build-Mac10.8-Clang-Arm7-Debug-Android-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/a7627dc5cc2bf5d9a95d883d20c40d477ecadadf

TBR=msarett@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4117

Review URL: https://codereview.chromium.org/1409843005

8 years agoAdding Skia Debugger documentation
hcm [Fri, 6 Nov 2015 19:29:06 +0000 (11:29 -0800)]
Adding Skia Debugger documentation

BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1414393010

Review URL: https://codereview.chromium.org/1414393010

8 years agoRemove dependencies on Android's forked decoder libraries
msarett [Fri, 6 Nov 2015 19:15:49 +0000 (11:15 -0800)]
Remove dependencies on Android's forked decoder libraries

Disable SkImageDecoder's code which relies on Android's customized
libpng and libjpeg. Build standard versions of libpng and libjpeg-turbo
everywhere. The SkImageDecoder code has been replaced with SkCodec, which
can decode subsets using standard library APIs

BUG=skia:

Review URL: https://codereview.chromium.org/1406153015

8 years agoChange quality settings on SkImageDecoder_libjpeg
msarett [Fri, 6 Nov 2015 19:02:06 +0000 (11:02 -0800)]
Change quality settings on SkImageDecoder_libjpeg

It has been demonstrated that higher quality settings
really do make a difference in the visual quality of
the output image.
https://code.google.com/p/chromium/issues/detail?id=385515
https://code.google.com/p/skia/issues/detail?id=3770

We are planning to replace SkImageDecoder with SkCodec,
and SkCodec will use the higher quality settings.  As
a first step, we are using SkCodec as the underlying
implementation for BitmapRegionDecoder.  CTS tests require
that BitmapRegionDecoder be a close match to BitmapFactory
(which uses SkImageDecoder), so we must also update the
quality of SkImageDecoder to maintain CTS compatibility.

BUG=skia:

Review URL: https://codereview.chromium.org/1412803009

8 years agoExport tools as an include directory for Android
msarett [Fri, 6 Nov 2015 18:53:01 +0000 (10:53 -0800)]
Export tools as an include directory for Android

BUG=skia:

Review URL: https://codereview.chromium.org/1411933006

8 years agocompare has a syntax error where it is missing the path to sem().
herb [Fri, 6 Nov 2015 18:35:37 +0000 (10:35 -0800)]
compare has a syntax error where it is missing the path to sem().
BUG=skia:

Review URL: https://codereview.chromium.org/1420963010

8 years agoSkPx: new approach to fixed-point SIMD
mtklein [Fri, 6 Nov 2015 17:18:57 +0000 (09:18 -0800)]
SkPx: new approach to fixed-point SIMD

SkPx is like Sk4px, except each platform implementation of SkPx can declare
a different sweet spot of N pixels, with extra loads and stores to handle the
ragged edge of 0<n<N pixels.

In this case, _sse's sweet spot remains 4 pixels.   _neon jumps up to 8 so
we can now use NEON's transposing loads and stores, and _none is just 1.
This makes operations involving alpha considerably more efficient on NEON,
as alpha is its own distinct 8x8 bit plane that's easy to toss around.

This incorporates a few other improvements I've been wanting:
  - no requirement that we're dealing with SkPMColor.  SkColor works too.
  - no anonymous namespace hack to differentiate implementations.

Codegen and perf look good on Clang/x86-64 and GCC/ARMv7.
The NEON code looks very similar to the old NEON code, as intended.
No .skp or GM diffs on my laptop.  Don't expect any.

I intend this to replace Sk4px.  Plan after landing:
  - port SkXfermode_opts.h
  - port Color32 in SkBlitRow_D32.cpp (and move to SkBlitRow_opts.h like other
    SkOpts code)
  - delete all Sk4px-related code
  - clean up evolutionary dead ends in SkNx (Sk16b, Sk16h, Sk4i, Sk4d, etc.)
    leaving Sk2f, Sk4f (and Sk2s, Sk4s).
  - find a machine with AVX2 to work on, write SkPx_avx2.h handling 8 pixels
    at a time.

In the end we'll have Sk4f for float pixels, SkPx for fixed-point pixels.

BUG=skia:4117

Committed: https://skia.googlesource.com/skia/+/82c93b45ed6ac0b628adb8375389c202d1f586f9

CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;client.skia.compile:Build-Mac10.8-Clang-Arm7-Debug-Android-Trybot

Review URL: https://codereview.chromium.org/1317233005

8 years agoRename SkBitmapRegionDecoder and Create function
msarett [Fri, 6 Nov 2015 16:56:32 +0000 (08:56 -0800)]
Rename SkBitmapRegionDecoder and Create function

We no longer need to worry about namespace
conflicts SkBitmapRegionDecoder in Android (which
we are replacing).

Additionally, the static Create() function does not
need to repeat the name BitmapRegionDecoder.

BUG=skia:

Review URL: https://codereview.chromium.org/1415243007

8 years agoSkPDF: images support 32-but-not-N32 colortype
halcanary [Fri, 6 Nov 2015 15:27:23 +0000 (07:27 -0800)]
SkPDF: images support 32-but-not-N32 colortype

BUG=550559

Review URL: https://codereview.chromium.org/1407063005

8 years agoLoosen requirements for mixed samples support
cdalton [Fri, 6 Nov 2015 15:09:43 +0000 (07:09 -0800)]
Loosen requirements for mixed samples support

Quits requiring EXT_raster_multisample and
NV_sample_mask_override_coverage for mixed samples support. This will
allow platforms without those latter extensions (i.e. Chrome) to still
use mixed samples for path rendering. Also moves the mixed samples cap
out of shader caps, since it no longer denotes shader functionality.

BUG=skia:

Review URL: https://codereview.chromium.org/1410383011

8 years agoAdd addFragPosUniform to GrGLrogramBuilder
egdaniel [Fri, 6 Nov 2015 14:57:12 +0000 (06:57 -0800)]
Add addFragPosUniform to GrGLrogramBuilder

BUG=skia:

Review URL: https://codereview.chromium.org/1434483002

8 years agoRevert of Update Layer Hoisting to store its atlas texture in the resource cache...
robertphillips [Fri, 6 Nov 2015 13:59:14 +0000 (05:59 -0800)]
Revert of Update Layer Hoisting to store its atlas texture in the resource cache (patchset #6 id:100001 of https://codereview.chromium.org/1406013006/ )

Reason for revert:
Android

Original issue's description:
> Update Layer Hoisting to store its atlas texture in the resource cache
>
> BUG=skia:4346
>
> Committed: https://skia.googlesource.com/skia/+/42597bc99f00553825843b5ed41e81b121773368

TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4346

Review URL: https://codereview.chromium.org/1413483004

8 years agoUpdate Layer Hoisting to store its atlas texture in the resource cache
robertphillips [Fri, 6 Nov 2015 12:14:55 +0000 (04:14 -0800)]
Update Layer Hoisting to store its atlas texture in the resource cache

BUG=skia:4346

Review URL: https://codereview.chromium.org/1406013006

8 years agoSkBitmapRegionCodec needs to use the rowBytes on the pixel ref
msarett [Thu, 5 Nov 2015 23:00:56 +0000 (15:00 -0800)]
SkBitmapRegionCodec needs to use the rowBytes on the pixel ref

BUG=skia:4538

Review URL: https://codereview.chromium.org/1422023006

8 years agoMake SkBlurImageFilter capable of cropping during blur (GPU path).
senorblanco [Thu, 5 Nov 2015 22:48:43 +0000 (14:48 -0800)]
Make SkBlurImageFilter capable of cropping during blur (GPU path).

This is the GPU equivalent of https://codereview.chromium.org/1415653003/.

It requires passing down the bounds of the crop rect (srcBounds), and
turning the blur 3-patch optimization in convolve_gaussian() into a 5-patch:
clear above and below srcBounds, blur with bounds checks inside left and
right rects, blur without bounds checks in middle rect.

Note: this change causes minor pixels diffs in the
imagefilterscropexpand GM: for odd crop positions relative to the
dstBounds, we are now correctly resampling at an even pixel boundary.

BUG=skia:4502, skia:4526

Review URL: https://codereview.chromium.org/1431593002

8 years agoCreate Sample that combines combose shader and coons patch
egdaniel [Thu, 5 Nov 2015 21:09:08 +0000 (13:09 -0800)]
Create Sample that combines combose shader and coons patch

BUG=skia:

Review URL: https://codereview.chromium.org/1417123004

8 years agoadd --sequence filename option to SampleApp
reed [Thu, 5 Nov 2015 19:59:17 +0000 (11:59 -0800)]
add --sequence filename option to SampleApp

BUG=skia:

Review URL: https://codereview.chromium.org/1412143005

8 years agoWire up SDL on Android
joshualitt [Thu, 5 Nov 2015 19:49:35 +0000 (11:49 -0800)]
Wire up SDL on Android

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/a4d3797c3b0f0cac8493c46cb334ca88a5d6ccf6

Review URL: https://codereview.chromium.org/1415453009

8 years agoFix bug in sampled decodes
msarett [Thu, 5 Nov 2015 19:19:29 +0000 (11:19 -0800)]
Fix bug in sampled decodes

BUG=skia:

Review URL: https://codereview.chromium.org/1417993006

8 years agoRevert of Wire up SDL on Android (patchset #4 id:60001 of https://codereview.chromium...
joshualitt [Thu, 5 Nov 2015 18:48:41 +0000 (10:48 -0800)]
Revert of Wire up SDL on Android (patchset #4 id:60001 of https://codereview.chromium.org/1415453009/ )

Reason for revert:
breaks appurify

Original issue's description:
> Wire up SDL on Android
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/a4d3797c3b0f0cac8493c46cb334ca88a5d6ccf6

TBR=bsalomon@google.com,robertphillips@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1410703009

8 years agoRename non-aa rect methods on GrDrawContext in anticipation of making them support aa
bsalomon [Thu, 5 Nov 2015 18:41:43 +0000 (10:41 -0800)]
Rename non-aa rect methods on GrDrawContext in anticipation of making them support aa

R=joshualitt@google.com

Review URL: https://codereview.chromium.org/1409753008

8 years agoFor non-opaque SkBitmapDevices, replace malloc-then-zero with calloc.
mtklein [Thu, 5 Nov 2015 17:46:23 +0000 (09:46 -0800)]
For non-opaque SkBitmapDevices, replace malloc-then-zero with calloc.

There seem about a zillion possible ways to slice this.
This adds and uses SkMallocPixelRef::ZeroedPRFactory.
I'm not married to it.

This appears to clear up a hot spot in the benchmark referenced in this bug:
BUG=516426
I'm not confident enough on Windows to declare that definitively yet.

It probably helps all other non-opaque layers too.  Possibly significantly.

So I don't forget, I profiled this:
out/Release/performance_browser_tests.exe  --gtest_filter=TabCapturePerformanceTest.Performance/2 --single-process

No diffs:
https://gold.skia.org/search2?issue=1430593007&unt=true&query=source_type%3Dgm&master=false

TBR=reed@google.com

Review URL: https://codereview.chromium.org/1430593007

8 years agoMake bicubic FP factories return const FPs
bsalomon [Thu, 5 Nov 2015 17:35:01 +0000 (09:35 -0800)]
Make bicubic FP factories return const FPs

TBR=egdaniel@google.com

Review URL: https://codereview.chromium.org/1413403008

8 years agoWire up SDL on Android
joshualitt [Thu, 5 Nov 2015 16:35:31 +0000 (08:35 -0800)]
Wire up SDL on Android

BUG=skia:

Review URL: https://codereview.chromium.org/1415453009

8 years agoAdd ifdef guard around gpu-specific code in native windows window.
plesner [Thu, 5 Nov 2015 16:10:45 +0000 (08:10 -0800)]
Add ifdef guard around gpu-specific code in native windows window.

Review URL: https://codereview.chromium.org/1405963014

8 years agoAssert when running SampleApp with msaa 16 on Windows 10
aleksandar.stojiljkovic [Thu, 5 Nov 2015 15:48:12 +0000 (07:48 -0800)]
Assert when running SampleApp with msaa 16 on Windows 10

Trivial: skip calling SkWGLExtensions::selectFormat with 0 elements,
 and handle if called.

BUG=4529

Review URL: https://codereview.chromium.org/1427583007

8 years agoFix for atlas doesn't call eviction functions
joshualitt [Thu, 5 Nov 2015 15:14:56 +0000 (07:14 -0800)]
Fix for atlas doesn't call eviction functions

TBR=
BUG=551094

Review URL: https://codereview.chromium.org/1412663011

8 years agoCreate SDL backed SkOSWindow
joshualitt [Wed, 4 Nov 2015 21:41:02 +0000 (13:41 -0800)]
Create SDL backed SkOSWindow

BUG=skia:

Review URL: https://codereview.chromium.org/1413593007

8 years agoRevert[4] of "stop using drawSprite (at least w/ no filters) as it is going away"
reed [Wed, 4 Nov 2015 16:34:07 +0000 (08:34 -0800)]
Revert[4] of "stop using drawSprite (at least w/ no filters) as it is going away"

This reverts commit 67b8b5e67a427382fed8c5d8b3c70a21ed2492c6.

BUG=skia:
TBR=

Previous revert was due to faulty unittest (now fixed) -- unrelated to this CL.

Review URL: https://codereview.chromium.org/1422703009

8 years agoSkRecord: text blobs
mtklein [Wed, 4 Nov 2015 16:19:24 +0000 (08:19 -0800)]
SkRecord: text blobs

Other text as blobs to follow.

https://gold.skia.org/search2?issue=1417703009&unt=true&query=source_type%3Dgm&master=false&include=true

BUG=skia:

Review URL: https://codereview.chromium.org/1417703009

8 years agoAvoid hang in OncePtr test with --threads 1
kkinnunen [Wed, 4 Nov 2015 14:30:17 +0000 (06:30 -0800)]
Avoid hang in OncePtr test with --threads 1

Avoid hang in OncePtr test when using "dm --threads 1".

The test will hang the threads until sk_num_cores() threads have run
the code. This requires that sk_num_cores() threads to be run in
parallel, which the global thread pool will not do if the thread count
is smaller than sk_num_cores().

BUG=skia:

Review URL: https://codereview.chromium.org/1419593004

8 years agoAdd outer blur to bleed GM family
bsalomon [Wed, 4 Nov 2015 12:36:12 +0000 (04:36 -0800)]
Add outer blur to bleed GM family

Review URL: https://codereview.chromium.org/1429863007

8 years agoMake AndroidOptions const
scroggo [Wed, 4 Nov 2015 12:31:12 +0000 (04:31 -0800)]
Make AndroidOptions const

Make the struct passed to SkAndroidCodec::getAndroidPixels const. This
matches SkCodec, and makes sense, since it is not used as an output.

Brought up in crrev.com/1417583009

Review URL: https://codereview.chromium.org/1411693005

8 years agoUpdate RecordReplaceDraw unit test
robertphillips [Wed, 4 Nov 2015 12:31:06 +0000 (04:31 -0800)]
Update RecordReplaceDraw unit test

Review URL: https://codereview.chromium.org/1407143011

8 years agoCompile bitmap_region_decoder on Android
msarett [Wed, 4 Nov 2015 12:28:59 +0000 (04:28 -0800)]
Compile bitmap_region_decoder on Android

BUG=skia:

Review URL: https://codereview.chromium.org/1422313004

8 years agoFix an error message
scroggo [Wed, 4 Nov 2015 12:28:54 +0000 (04:28 -0800)]
Fix an error message

Remove double negative.
Also, change another error message to be slightly (meaningfully)
different so I can find the right one based on the log.

Review URL: https://codereview.chromium.org/1424083004

8 years agoCreate swizzle table inside of glsl caps
egdaniel [Wed, 4 Nov 2015 12:23:53 +0000 (04:23 -0800)]
Create swizzle table inside of glsl caps

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/4036674952f341dab0695c3b054fefa5bb8cdec1

Review URL: https://codereview.chromium.org/1420033005

8 years agochange alpha bmp generator in bleed to make more discernable results
bsalomon [Wed, 4 Nov 2015 12:23:45 +0000 (04:23 -0800)]
change alpha bmp generator in bleed to make more discernable results

TBR=robertphillips@google.com

Review URL: https://codereview.chromium.org/1408063011

8 years agobin/deps-and-gyp -> bin/sync-and-gyp
mtklein [Tue, 3 Nov 2015 20:07:47 +0000 (12:07 -0800)]
bin/deps-and-gyp -> bin/sync-and-gyp

NOTREECHECKS=true

BUG=skia:

Review URL: https://codereview.chromium.org/1423463005

8 years agoRevert of Reland "By default purge resources that haven't been used for 64 flushes...
bsalomon [Tue, 3 Nov 2015 19:48:43 +0000 (11:48 -0800)]
Revert of Reland "By default purge resources that haven't been used for 64 flushes (patchset #5 id:80001 of h… (patchset #1 id:1 of https://codereview.chromium.org/1428053003/ )

Reason for revert:
Breaking the DEPS roller - again

Original issue's description:
> Reland "By default purge resources that haven't been used for 64 flushes (patchset #5 id:80001 of https://codereview.chromium.org/1316233003/ )"
>
> TBR=robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/f7de08a52b5287cb16b2e89a8e3691676a4dbe5f

TBR=robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1414693007

8 years agoRevert of Revert[2] of "stop using drawSprite (at least w/ no filters) as it is going...
reed [Tue, 3 Nov 2015 19:27:07 +0000 (11:27 -0800)]
Revert of Revert[2] of "stop using drawSprite (at least w/ no filters) as it is going away" (patchset #1 id:1 of https://codereview.chromium.org/1410343011/ )

Reason for revert:
failing on msaa

Original issue's description:
> Revert[2] of "stop using drawSprite (at least w/ no filters) as it is going away"
>
> Fixed assert in test that was calling GrRecordReplaceDraw(). That function now uses
> drawBitmap, so updated the test to check for that (instead of drawSprite).
>
> This reverts commit 21b766347064837e6b78d600755901aad88cd6e0.
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/7b81994d95f10cda80ddb85af68a2651ff31782f

TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1420053009

8 years agobin/deps-and-gyp: deal with corner cases cleanly
halcanary [Tue, 3 Nov 2015 19:18:11 +0000 (11:18 -0800)]
bin/deps-and-gyp: deal with corner cases cleanly

TBR=mtklein@google.com
NOTRY=true

Review URL: https://codereview.chromium.org/1415193006

8 years agoTake mutex when calling into FreeType.
bungeman [Tue, 3 Nov 2015 19:07:20 +0000 (11:07 -0800)]
Take mutex when calling into FreeType.

SkScalerContext_FreeType::generateCharToGlyph and generateGlyphToChar
do not take a mutex when calling into FreeType, but they need to.
The setupSize method also requires the mutex to be locked, which is
not a problem since it currently always is, but add a debug assert
to ensure that it continues to be.

BUG=chromium:542640

Review URL: https://codereview.chromium.org/1431683006

8 years agoRevert of Create swizzle table inside of glsl caps (patchset #12 id:210001 of https...
egdaniel [Tue, 3 Nov 2015 18:33:14 +0000 (10:33 -0800)]
Revert of Create swizzle table inside of glsl caps (patchset #12 id:210001 of https://codereview.chromium.org/1420033005/ )

Reason for revert:
Breaking gm's on nexus7 and s3

Original issue's description:
> Create swizzle table inside of glsl caps
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4036674952f341dab0695c3b054fefa5bb8cdec1

TBR=bsalomon@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1426653008

8 years agobin/deps-and-gyp: gclient-free solution
halcanary [Tue, 3 Nov 2015 18:30:05 +0000 (10:30 -0800)]
bin/deps-and-gyp: gclient-free solution

Review URL: https://codereview.chromium.org/1426103004

8 years agotools/git-sync-deps: speed up common case by skipping fetch
halcanary [Tue, 3 Nov 2015 17:50:03 +0000 (09:50 -0800)]
tools/git-sync-deps: speed up common case by skipping fetch

Review URL: https://codereview.chromium.org/1431713002

8 years agoSkRemote: saveLayer
mtklein [Tue, 3 Nov 2015 17:45:03 +0000 (09:45 -0800)]
SkRemote: saveLayer

https://gold.skia.org/search2?issue=1432593002&unt=true&query=source_type%3Dgm&master=false&include=true

BUG=skia:

Review URL: https://codereview.chromium.org/1432593002

8 years agoFix setColocatedSampleLocations on ES and GL < 4.5
cdalton [Tue, 3 Nov 2015 17:33:21 +0000 (09:33 -0800)]
Fix setColocatedSampleLocations on ES and GL < 4.5

Updates setColocatedSampleLocations to use glFramebufferParameteri when
the DSA version glNamedFramebufferParameteri is not present.

BUG=skia:

Review URL: https://codereview.chromium.org/1415503008

8 years agoCreate swizzle table inside of glsl caps
egdaniel [Tue, 3 Nov 2015 16:15:28 +0000 (08:15 -0800)]
Create swizzle table inside of glsl caps

BUG=skia:

Review URL: https://codereview.chromium.org/1420033005

8 years agoCombine native sampling with sampling
scroggo [Tue, 3 Nov 2015 15:55:11 +0000 (07:55 -0800)]
Combine native sampling with sampling

In SkSampledCodec, allow the native codec to do its scaling first, then
sample on top of that. Since the only codec which can do native scaling
is JPEG, and we know what it can do, hard-code for JPEG. Check to see
if the sampleSize is something JPEG supports, or a multiple of
something it supports. If so, use JPEG directly or combine them.

BUG=skia:4320

Review URL: https://codereview.chromium.org/1417583009

8 years agoReland "By default purge resources that haven't been used for 64 flushes (patchset...
bsalomon [Tue, 3 Nov 2015 15:50:38 +0000 (07:50 -0800)]
Reland "By default purge resources that haven't been used for 64 flushes (patchset #5 id:80001 of https://codereview.chromium.org/1316233003/ )"

TBR=robertphillips@google.com

Review URL: https://codereview.chromium.org/1428053003

8 years agoSkRemote: some images, many TODOs
mtklein [Tue, 3 Nov 2015 15:35:28 +0000 (07:35 -0800)]
SkRemote: some images, many TODOs

You can see from the diffs this is a step forward, but with bugs to fix:

https://gold.skia.org/search2?issue=1418483006&unt=true&query=source_type%3Dgm&master=false&include=true

BUG=skia:

Review URL: https://codereview.chromium.org/1418483006

8 years agoRevert[2] of "stop using drawSprite (at least w/ no filters) as it is going away"
reed [Tue, 3 Nov 2015 15:12:16 +0000 (07:12 -0800)]
Revert[2] of "stop using drawSprite (at least w/ no filters) as it is going away"

Fixed assert in test that was calling GrRecordReplaceDraw(). That function now uses
drawBitmap, so updated the test to check for that (instead of drawSprite).

This reverts commit 21b766347064837e6b78d600755901aad88cd6e0.

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1410343011

8 years agoClean up GrAtlas and rename it GrLayerAtlas
robertphillips [Tue, 3 Nov 2015 15:04:47 +0000 (07:04 -0800)]
Clean up GrAtlas and rename it GrLayerAtlas

Review URL: https://codereview.chromium.org/1412243013

8 years agoDM+VB: WallTimer -> SkTime::GetNSecs().
mtklein [Tue, 3 Nov 2015 14:54:24 +0000 (06:54 -0800)]
DM+VB: WallTimer -> SkTime::GetNSecs().

The same timer with a simpler interface.

BUG=skia:

Review URL: https://codereview.chromium.org/1427033003

8 years agoSimplify SkGpuBlurUtils.
senorblanco [Tue, 3 Nov 2015 13:07:43 +0000 (05:07 -0800)]
Simplify SkGpuBlurUtils.

We compute a lot of { srcRect, dstRect } pairs in this
code, but they're always the same width and height, and
dstRect often has a zero origin. So pass only one or
the other and an offset, where required. Among other
things, this simplifies the code in convolve_gaussian(),
since we only have to 3-patch the dstRect.

BUG=skia:4502

Review URL: https://codereview.chromium.org/1430593006

8 years agoRevert of stop using drawSprite (at least w/ no filters) as it is going away (patchse...
robertphillips [Tue, 3 Nov 2015 12:35:58 +0000 (04:35 -0800)]
Revert of stop using drawSprite (at least w/ no filters) as it is going away (patchset #2 id:20001 of https://codereview.chromium.org/1411173010/ )

Reason for revert:
Breaking the bots

Original issue's description:
> stop using drawSprite (at least w/ no filters) as it is going away
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4a21602982d411bb764e46dc47e009b12bd5cb39

TBR=senorblanco@google.com,senorblanco@chromium.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1413363011

8 years agoSkScan_Antihair: assert in debug and potentialy lost last pixels
aleksandar.stojiljkovic [Mon, 2 Nov 2015 21:28:51 +0000 (13:28 -0800)]
SkScan_Antihair: assert in debug and potentialy lost last pixels

alpha: (uint8_t) 256 is clamped to 255 before static cast to
uint8_t in SkToU8.

BUG=4406

Review URL: https://codereview.chromium.org/1424253002

8 years agoMake SkBlurImageFilter capable of cropping during blur (raster path)
senorblanco [Mon, 2 Nov 2015 20:55:47 +0000 (12:55 -0800)]
Make SkBlurImageFilter capable of cropping during blur (raster path)

SkBlurImageFilter can currently only process a source image
which is larger than or equal to the destination rect. If
the source image (or crop rect) is smaller, it is padded
out to dest size with transparent black via the 6-param
version of applyCropRect().

Fixing this requires modifying all the flavours of RGBA
box_blur() to accept a src crop rect.

BUG=skia:4502, skia:4526
CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot;client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Committed: https://skia.googlesource.com/skia/+/1b82ceb737c73327412f2e8a91748481e1aec9e4

Review URL: https://codereview.chromium.org/1415653003

8 years agoAdd bleed GM variants for bmp backed by an oversized texture
bsalomon [Mon, 2 Nov 2015 20:33:21 +0000 (12:33 -0800)]
Add bleed GM variants for bmp backed by an oversized texture

Review URL: https://codereview.chromium.org/1426253002

8 years agostop using drawSprite (at least w/ no filters) as it is going away
reed [Mon, 2 Nov 2015 20:11:13 +0000 (12:11 -0800)]
stop using drawSprite (at least w/ no filters) as it is going away

BUG=skia:

Review URL: https://codereview.chromium.org/1411173010

8 years agoRevert of Make SkBlurImageFilter capable of cropping during blur (patchset #16 id...
senorblanco [Mon, 2 Nov 2015 19:56:18 +0000 (11:56 -0800)]
Revert of Make SkBlurImageFilter capable of cropping during blur (patchset #16 id:400001 of https://codereview.chromium.org/1415653003/ )

Reason for revert:
ASAN failures (see https://codereview.chromium.org/1415653003/)

Original issue's description:
> Make SkBlurImageFilter capable of cropping during blur (raster path)
>
> SkBlurImageFilter can currently only process a source image
> which is larger than or equal to the destination rect. If
> the source image (or crop rect) is smaller, it is padded
> out to dest size with transparent black via the 6-param
> version of applyCropRect().
>
> Fixing this requires modifying all the flavours of RGBA
> box_blur() to accept a src crop rect.
>
> BUG=skia:4502, skia:4526
> CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot;client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/1b82ceb737c73327412f2e8a91748481e1aec9e4

TBR=mtklein@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4502, skia:4526

Review URL: https://codereview.chromium.org/1428053002

8 years agoAllow max tile size to be overridden separately from max texture size.
bsalomon [Mon, 2 Nov 2015 19:36:52 +0000 (11:36 -0800)]
Allow max tile size to be overridden separately from max texture size.

This allows internal Gr texture creation code to succeed for extraneous textures while running the bleed GM. This means we can turn on the shader variants.

Review URL: https://codereview.chromium.org/1418473004

8 years agoEnable building Skia for iOS with bazel.
iroth [Mon, 2 Nov 2015 19:11:21 +0000 (11:11 -0800)]
Enable building Skia for iOS with bazel.

BUG=skia:

Review URL: https://codereview.chromium.org/1429863002

8 years agoMake SkBlurImageFilter capable of cropping during blur (raster path)
senorblanco [Mon, 2 Nov 2015 19:09:05 +0000 (11:09 -0800)]
Make SkBlurImageFilter capable of cropping during blur (raster path)

SkBlurImageFilter can currently only process a source image
which is larger than or equal to the destination rect. If
the source image (or crop rect) is smaller, it is padded
out to dest size with transparent black via the 6-param
version of applyCropRect().

Fixing this requires modifying all the flavours of RGBA
box_blur() to accept a src crop rect.

BUG=skia:4502, skia:4526
CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot;client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review URL: https://codereview.chromium.org/1415653003

8 years agobin/sync-and-gyp: gclient hackery
halcanary [Mon, 2 Nov 2015 18:22:43 +0000 (10:22 -0800)]
bin/sync-and-gyp: gclient hackery

Review URL: https://codereview.chromium.org/1427183003

8 years agoStart making all .cpp files compile-able on all platforms.
mtklein [Mon, 2 Nov 2015 18:20:27 +0000 (10:20 -0800)]
Start making all .cpp files compile-able on all platforms.

I sometimes dream to hone our build process down to something as simple as
    $ find src -name '*.cpp' | xargs c++ <some cflags> -c -o skia.o

To start, it helps if we can compile all files on all platforms.  Each
non-portable file guards itself with defines provided by SkTypes.h.  This does
not convert all non-portable code, but it's a good representative chunk.

E.g. instead of having to remember which SkDebug_*.cpp to compile on which
platform we can just compile all three and let the code itself sort it out.

This has the nice side effect of making non-portable code declare the
conditions under which it can compile explicitly.

I've been testing mostly with the CMake build as it's easiest, but this should
apply equally to BUILD, Gyp, and GN files... to any build system really.

BUG=skia:4269
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot

Review URL: https://codereview.chromium.org/1411283005

8 years ago[SkDebugger] Remove unneeded SkDebuggerGUI includes
fmalita [Mon, 2 Nov 2015 17:32:54 +0000 (09:32 -0800)]
[SkDebugger] Remove unneeded SkDebuggerGUI includes

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

Review URL: https://codereview.chromium.org/1411963006

8 years agoSkRemote: all paint effects except typeface
mtklein [Mon, 2 Nov 2015 17:08:17 +0000 (09:08 -0800)]
SkRemote: all paint effects except typeface

Changes:
https://gold.skia.org/search2?issue=1408383007&unt=true&query=source_type%3Dgm&master=false&include=true

BUG=skia:

Review URL: https://codereview.chromium.org/1408383007

8 years agoFix assert in GrGLShaderBuilder regarding shader outputs
egdaniel [Mon, 2 Nov 2015 15:46:25 +0000 (07:46 -0800)]
Fix assert in GrGLShaderBuilder regarding shader outputs

Fixes crashing bot.

BUG=skia:

Review URL: https://codereview.chromium.org/1408063009

8 years agopath ops: fix fuzz-found divide by zero
caryclark [Mon, 2 Nov 2015 15:32:58 +0000 (07:32 -0800)]
path ops: fix fuzz-found divide by zero

TBR=reed@google.com
BUG=542391

Review URL: https://codereview.chromium.org/1427913005

8 years agoMove shader compiling to ProgramBuilder and various ShaderBuilder cleanups.
egdaniel [Mon, 2 Nov 2015 14:22:44 +0000 (06:22 -0800)]
Move shader compiling to ProgramBuilder and various ShaderBuilder cleanups.

An additional positive of this CL is that GrGLShaderBuilder is now GL independent besides GrGLProgramBuilder

BUG=skia:

Review URL: https://codereview.chromium.org/1431433003

8 years agoIn BUILD.public, specify alwayslink for skia library.
benjaminwagner [Mon, 2 Nov 2015 13:53:38 +0000 (05:53 -0800)]
In BUILD.public, specify alwayslink for skia library.

Some Skia classes use SkTRegistry, which requires the source files be linked in order to be registered.

Also replace "*CG*" with "SkImageDecoder_CG.cpp" for clarity.

BUG=skia:

Review URL: https://codereview.chromium.org/1405023013

8 years agoUpdate SKP version
update-skps [Sun, 1 Nov 2015 07:47:37 +0000 (00:47 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS

Review URL: https://codereview.chromium.org/1423633004

8 years agopath ops; remove obsolete reduce
caryclark [Fri, 30 Oct 2015 20:56:50 +0000 (13:56 -0700)]
path ops; remove obsolete reduce

Cubics and quads tried to detect
linearness directly, once. This
is handled later in the pipeline
and need not be handled here.

TBR=reed@google.com

Review URL: https://codereview.chromium.org/1421553010

8 years agoAdd cropped-then-expanded test cases to blur_image_filter tests.
senorblanco [Fri, 30 Oct 2015 20:17:20 +0000 (13:17 -0700)]
Add cropped-then-expanded test cases to blur_image_filter tests.

These are benches similar to the imagefilterscropexpand GM: an
input filter is cropped to a smaller size, then the blur is re-expanded
out to a larger size.

BUG=skbug:4502

Review URL: https://codereview.chromium.org/1412373004

8 years agoMore conic-specific tests revealed a few conic-specific bugs. Because javascript...
caryclark [Fri, 30 Oct 2015 19:03:06 +0000 (12:03 -0700)]
More conic-specific tests revealed a few conic-specific bugs. Because javascript / canvas make visualizing conics tricky, new native tools are required.

The utility SubsetPath removes parts of a potentially very large path to isolate a minimal test case. SubsetPath is very useful for debugging path ops, but is not path ops specific.

PathOpsBuilderConicTest compares the output of the Path Ops Builder, sequential calls to Simplify, and SkRegions for some number of rotated ovals.

Some tests caused path ops to hang. It was caught adding a loop of curves because the head was not found by the tail. Even though the root cause has been fixed, SkSegment::addCurveTo callers now abort the path op if the same curve was added twice.

The subdivided conic weight was been computed anew. Fortunately, it's a simpler computation that the one it replaces.

Some Simplify() subroutines returned false to signal that the results needed assembling. Change these to abort the current operation instead.

Coincident curve intersection triggered two small bugs; one where no perpendicular could be found for coincident curves, and one where no coincident curves remain after looping.

The SixtyOvals test can be run through multiple processes instead of multiple threads. This strategy allows a 48 core machine to saturate all cores at 100%.

The DEBUG_VISUALIZE_CONICS code in PathOpsConicIntersectionTest acknowleges that it is easier to visualize conics with Skia than with script and html canvas. This test also verifies that path ops subdivision matches geometry chopping.

TBR=reed@google.com

Review URL: https://codereview.chromium.org/1405383004

8 years agoDependencies are now added between the drawTargets in GrPipeline
robertphillips [Fri, 30 Oct 2015 17:11:30 +0000 (10:11 -0700)]
Dependencies are now added between the drawTargets in GrPipeline

This CL relies on https://codereview.chromium.org/1414773002/ (Add the machinery to GrDrawTarget to enable topological sorting)

BUG=skia:4094

Committed: https://skia.googlesource.com/skia/+/45a1c34f607a970933e5cd05e1df6cd8090db1be

Committed: https://skia.googlesource.com/skia/+/869c5e82a725a6928a45cd1fa6945ac783b8b3d8

Review URL: https://codereview.chromium.org/1414903002

8 years agoDon't run nvpr on TSAN bot
bsalomon [Fri, 30 Oct 2015 16:05:32 +0000 (09:05 -0700)]
Don't run nvpr on TSAN bot

Review URL: https://codereview.chromium.org/1405223006

8 years agoDEPS: roll zlib: 20 new commits
halcanary [Fri, 30 Oct 2015 15:40:55 +0000 (08:40 -0700)]
DEPS: roll zlib: 20 new commits

List of changes at
https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/4ba7cdd0e7bf49d671645264f839838fc56e1492..c4e33043fb071b6ea0a153845da625d7ed633d3d

Of particular interest is
"Fix VC++ 2015 64-bit truncation warning in zlib".

Review URL: https://codereview.chromium.org/1416043007

8 years agoDedup SkPaths by gen-ID when going to .skp
mtklein [Fri, 30 Oct 2015 12:24:58 +0000 (05:24 -0700)]
Dedup SkPaths by gen-ID when going to .skp

We're all set up to serialize and deserialze paths by an integer ID,
but we're just not deduping any paths (every path gets a new ID).

This turns on deduping.  This should mean the number of paths in a
deserialized SkPicture are the same as when it was recorded.

No diffs:
https://gold.skia.org/search2?issue=1409373011&unt=true&query=source_type%3Dgm&master=false

BUG=skia:4527

Review URL: https://codereview.chromium.org/1409373011

8 years agoMinor cleanup of clip mask manager
robertphillips [Fri, 30 Oct 2015 12:15:11 +0000 (05:15 -0700)]
Minor cleanup of clip mask manager

Follow up to https://codereview.chromium.org/1418073005/ (Remove gpu-side clip mask merging from clip mask manager).

The path renderer chain is only ever allocated when it is about to be used (so the delayed initialization doesn't buy us anything).

We can now reduce the lifetime of the pipelineBuilder in createAlphaClipMask

Review URL: https://codereview.chromium.org/1416113006

8 years agoFor BUILD.public, let SkPreConfig.h set SK_RELEASE based on NDEBUG.
benjaminwagner [Thu, 29 Oct 2015 20:40:27 +0000 (13:40 -0700)]
For BUILD.public, let SkPreConfig.h set SK_RELEASE based on NDEBUG.

Use DumpStackTrace in SkASSERT in GOOGLE3.

There are extra assertions enabled in debug mode that cause RecordDraw_TextBounds to fail.

New include causes a naming conflict with global name "base".

Corresponding internal cl/106495354

No public API changes.

TBR=reed@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1423013004

8 years agoClarify subrect semantics for GrTextureAdjuster and handle mip maps correctly.
bsalomon [Thu, 29 Oct 2015 19:34:31 +0000 (12:34 -0700)]
Clarify subrect semantics for GrTextureAdjuster and handle mip maps correctly.

Review URL: https://codereview.chromium.org/1410383008

8 years ago[SkDebugger] Show detailed drawImage info
fmalita [Thu, 29 Oct 2015 19:13:48 +0000 (12:13 -0700)]
[SkDebugger] Show detailed drawImage info

R=robert.phillips@google.com

Review URL: https://codereview.chromium.org/1409393007

8 years agoRemove GrPipelineBuilder from getPathRenderer call
robertphillips [Thu, 29 Oct 2015 19:12:21 +0000 (12:12 -0700)]
Remove GrPipelineBuilder from getPathRenderer call

Logically this CL:

Moves the PathRendererChain from GrContext to GrDrawManager
   - this was needed to untangled the Path-Chain/Renderer header mess
   - this entailed adding getDrawingMgr so the CMM could access the PathRenderingChain
   - this also entailed re-adding freeGpuResources to the GrDrawingMgr
Moves the CanDrawArgs struct up stack
Removes the GrPipelineBuilder from the CanDrawArgs struct

Review URL: https://codereview.chromium.org/1407883004

8 years agoPull texture-backed bitmap resampler out of GrTextureParamsAdjuster code into its...
bsalomon [Thu, 29 Oct 2015 17:49:28 +0000 (10:49 -0700)]
Pull texture-backed bitmap resampler out of GrTextureParamsAdjuster code into its own class.

Review URL: https://codereview.chromium.org/1420963008

8 years agoRemove SK_SAVE_LAYER_BOUNDS_ARE_FILTERED #define.
senorblanco [Thu, 29 Oct 2015 17:24:38 +0000 (10:24 -0700)]
Remove SK_SAVE_LAYER_BOUNDS_ARE_FILTERED #define.

It's no longer used in Chrome.

BUG=skbug:3194

Review URL: https://codereview.chromium.org/1422183008

8 years agoAdd generationID to debugger's path information
robertphillips [Thu, 29 Oct 2015 16:45:27 +0000 (09:45 -0700)]
Add generationID to debugger's path information

Review URL: https://codereview.chromium.org/1412013005

8 years agoUse only one CGFont/CTFont per scaler context on Mac.
bungeman [Thu, 29 Oct 2015 16:30:32 +0000 (09:30 -0700)]
Use only one CGFont/CTFont per scaler context on Mac.

The unrotated CTFont was introduced to fix color emoji scaling.
Use only the unrotated CTFont and apply the rotations manually.
This allows removal of one CTFont and allows us to apply (correctly)
the transformation CoreText would otherwise need to apply
(which it appears to do inconsistently).

Review URL: https://codereview.chromium.org/1360663002

8 years agoAttempt to update Xfermode comments to have parallel structure.
pkasting [Thu, 29 Oct 2015 15:41:15 +0000 (08:41 -0700)]
Attempt to update Xfermode comments to have parallel structure.

BUG=none
TEST=none

Review URL: https://codereview.chromium.org/1406413003

8 years agoRemove GrGLProcessor and create GrGLSLTextureSampler class.
egdaniel [Thu, 29 Oct 2015 14:57:01 +0000 (07:57 -0700)]
Remove GrGLProcessor and create GrGLSLTextureSampler class.

Part ??? of separating glsl and gl

BUG=skia:

Review URL: https://codereview.chromium.org/1425013003

8 years agoInitial gyp files for SDL
joshualitt [Thu, 29 Oct 2015 14:09:53 +0000 (07:09 -0700)]
Initial gyp files for SDL

BUG=skia:

Review URL: https://codereview.chromium.org/1411033003

8 years agoProtect apply_paint_to_bounds_sans_imagefilter() with an #ifdef.
senorblanco [Thu, 29 Oct 2015 00:01:00 +0000 (17:01 -0700)]
Protect apply_paint_to_bounds_sans_imagefilter() with an #ifdef.

Its only caller is protected by the same #ifdef.

NOPRESUBMIT=true
TBR=reed@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1404353010

8 years agoSkBlurImageFilter_opts: optimize NEON box_blur_double in separate loops.
senorblanco [Wed, 28 Oct 2015 22:39:33 +0000 (15:39 -0700)]
SkBlurImageFilter_opts: optimize NEON box_blur_double in separate loops.

Stop leaning so hard on the branch predictor, and pull the conditionals
out of the loops for box_blur_double() (NEON).  This is conceptually
the same change as https://codereview.chromium.org/1426583004/ for
the NEON double-pixel loop.

R=mtklein@google.com

BUG=skia:4526
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review URL: https://codereview.chromium.org/1412793009

8 years agoMake SkImageFilter::applyCropRect() optionally compute srcBounds.
senorblanco [Wed, 28 Oct 2015 21:17:16 +0000 (14:17 -0700)]
Make SkImageFilter::applyCropRect() optionally compute srcBounds.

BUG=skia:4526

Review URL: https://codereview.chromium.org/1410553007

8 years agoRename SkScaledCodec.cpp to SkSampledCodec.cpp
scroggo [Wed, 28 Oct 2015 21:06:10 +0000 (14:06 -0700)]
Rename SkScaledCodec.cpp to SkSampledCodec.cpp

Review URL: https://codereview.chromium.org/1413363008