Commit Graph

19462 Commits

Author SHA1 Message Date
egdaniel
44972e239b Remove debug print statement
TBR=bsalomon@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1410723005
2015-11-09 08:49:21 -08:00
reed
73f6cfc181 tweaks for nov demo
Add this flag to SampleApp, and it will run with the specified restricted sequence

    --sequence /skia/trunk/resources/nov-talk-sequence.txt

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1410243009
2015-11-09 08:36:05 -08:00
mtklein
6f797092d2 prune unused SkNx features
- remove float -> int conversion, keeping float -> byte
  - remove support for doubles

I was thinking of specializing Sk8f for AVX.  This will help keep the complexity down.

This may cause minor diffs in radial gradients: toBytes() rounds where castTrunc() truncated.  But I don't see any diffs in Gold.
https://gold.skia.org/search2?issue=1411563008&unt=true&query=source_type%3Dgm&master=false

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

Review URL: https://codereview.chromium.org/1411563008
2015-11-09 08:33:53 -08:00
halcanary
a4c26c0d3a bin/sync-and-gyp: sh->py (make more cross-platform)
Review URL: https://codereview.chromium.org/1425593011
2015-11-09 08:28:13 -08:00
egdaniel
478c04efb3 Update sample to use new perlin noise shader, and make cloud like
BUG=skia:

Review URL: https://codereview.chromium.org/1410863006
2015-11-09 07:40:49 -08:00
mtklein
953549235d sse 4.2 detection
While we're detecting instruction sets, let's fill in this hole too.

BUG=skia:

Review URL: https://codereview.chromium.org/1419553007
2015-11-09 07:08:32 -08:00
ethannicholas
417011c80c added experimental improved Perlin noise shader
TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1432863003
2015-11-09 06:35:12 -08:00
fmalita
236364904d Revert of Change quality settings on SkImageDecoder_libjpeg (patchset #1 id:40001 of https://codereview.chromium.org/1412803009/ )
Reason for revert:
Valgrind failures: http://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Valgrind/builds/631/steps/nanobench/logs/stdio

==14022== Conditional jump or move depends on uninitialised value(s)
==14022==    at 0x6A1DD6: S32A_Opaque_BlitRow32_SSE4(unsigned int*, unsigned int const*, int, unsigned int) (SkBlitRow_opts_SSE4.cpp:47)
==14022==    by 0x5A7EEA: Sprite_D32_S32::blitRect(int, int, int, int) (SkSpriteBlitter_ARGB32.cpp:47)
==14022==    by 0x57DD8A: SkScan::FillIRect(SkIRect const&, SkRegion const*, SkBlitter*) (SkScan.cpp:15)
==14022==    by 0x57DEDC: SkScan::FillIRect(SkIRect const&, SkRasterClip const&, SkBlitter*) (SkScan.cpp:73)
==14022==    by 0x536072: SkDraw::drawBitmap(SkBitmap const&, SkMatrix const&, SkRect const*, SkPaint const&) const (SkDraw.cpp:1286)
==14022==    by 0x59CC50: SkBitmapDevice::drawBitmap(SkDraw const&, SkBitmap const&, SkMatrix const&, SkPaint const&) (SkBitmapDevice.cpp:248)
==14022==    by 0x52F0DC: SkBaseDevice::drawImage(SkDraw const&, SkImage const*, float, float, SkPaint const&) (SkDevice.cpp:150)
==14022==    by 0x525139: SkCanvas::onDrawImage(SkImage const*, float, float, SkPaint const*) (SkCanvas.cpp:2180)
==14022==    by 0x5279A0: SkCanvas::drawImage(SkImage const*, float, float, SkPaint const*) (SkCanvas.cpp:1864)
==14022==    by 0x441C83: SKPBench::onPerCanvasPostDraw(SkCanvas*) (SKPBench.cpp:95)
==14022==    by 0x40A3FF: Benchmark::perCanvasPostDraw(SkCanvas*) (Benchmark.cpp:53)
==14022==    by 0x44C527: nanobench_main() (nanobench.cpp:1254)
==14022==    by 0x44D1E6: main (nanobench.cpp:1344)
==14022==  Uninitialised value was created by a heap allocation
==14022==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==14022==    by 0x602DAC: chromium_jpeg_get_large (jmemnobs.c:57)
==14022==    by 0x602818: alloc_large (jmemmgr.c:376)
==14022==    by 0x602A2E: alloc_sarray (jmemmgr.c:453)
==14022==    by 0x614983: chromium_jinit_d_main_controller (jdmainct.c:450)
==14022==    by 0x5FD3A0: chromium_jinit_master_decompress (jdmaster.c:577)
==14022==    by 0x5F9198: chromium_jpeg_start_decompress (jdapistd.c:46)
==14022==    by 0x680C22: SkJPEGImageDecoder::onDecode(SkStream*, SkBitmap*, SkImageDecoder::Mode) (SkImageDecoder_libjpeg.cpp:575)
==14022==    by 0x67BCE8: SkImageDecoder::decode(SkStream*, SkBitmap*, SkColorType, SkImageDecoder::Mode) (SkImageDecoder.cpp:138)
==14022==    by 0x6845E3: SkImageDecoderGenerator::onGetPixels(SkImageInfo const&, void*, unsigned long, unsigned int*, int*) (SkImageGenerator_skia.cpp:59)
==14022==    by 0x53D4C7: SkImageGenerator::getPixels(SkImageInfo const&, void*, unsigned long, unsigned int*, int*) (SkImageGenerator.cpp:40)
==14022==    by 0x53D6DF: SkImageGenerator::tryGenerateBitmap(SkBitmap*, SkImageInfo const*, SkBitmap::Allocator*) (SkImageGenerator.cpp:179)
==14022==    by 0x53D334: SkImageCacherator::generateBitmap(SkBitmap*) (SkImageGenerator.h:174)
==14022==    by 0x53D3A1: SkImageCacherator::tryLockAsBitmap(SkBitmap*, SkImage const*) (SkImageCacherator.cpp:118)
==14022==    by 0x53D3EA: SkImageCacherator::lockAsBitmap(SkBitmap*, SkImage const*) (SkImageCacherator.cpp:132)
==14022==    by 0x58EDCF: SkImage_Generator::getROPixels(SkBitmap*) const (SkImage_Generator.cpp:59)
==14022==    by 0x52F007: SkBaseDevice::drawImageRect(SkDraw const&, SkImage const*, SkRect const*, SkRect const&, SkPaint const&, SkCanvas::SrcRectConstraint) (SkDevice.cpp:159)
==14022==    by 0x5255E0: SkCanvas::onDrawImageRect(SkImage const*, SkRect const*, SkRect const&, SkPaint const*, SkCanvas::SrcRectConstraint) (SkCanvas.cpp:2209)
==14022==    by 0x5279DC: SkCanvas::drawImageRect(SkImage const*, SkRect const&, SkRect const&, SkPaint const*, SkCanvas::SrcRectConstraint) (SkCanvas.cpp:1872)

Original issue's description:
> 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:
>
> Committed: https://skia.googlesource.com/skia/+/69ad6a9d03dd6f14b7c730465319313725a7c903

TBR=scroggo@google.com,msarett@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1432863002
2015-11-08 16:30:08 -08:00
jvanverth
629162dd8e Add text animation sample; tweak DrawShip sample
Committed: https://skia.googlesource.com/skia/+/3b484a40b3be7f0262afadeaf6b741ba5cedcfe1

Review URL: https://codereview.chromium.org/1410663005
2015-11-08 08:07:24 -08:00
update-skps
f514eae532 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS

Review URL: https://codereview.chromium.org/1416123006
2015-11-08 00:30:20 -08:00
halcanary
6950de6c41 Comments Style: s/skbug.com/bug.skia.org/
DOCS_PREVIEW= https://skia.org/?cl=1432503003

Review URL: https://codereview.chromium.org/1432503003
2015-11-07 05:29:00 -08:00
mtklein
844a0b4257 avx and avx2 detection
This doesn't do anything yet beyond print out a message in Debug mode,
but it's a start.  Those messages should match the -SSE4-, -AVX-, or -AVX2- in
the Test-...-Debug-Trybots below.  The Release ones are just running by accident.

So far they look right to me.

BUG=skia:

Review URL: https://codereview.chromium.org/1428153003
2015-11-06 19:48:19 -08:00
jvanverth
d75ccc6a0a Revert of Add text animation sample; tweak DrawShip sample (patchset #3 id:40001 of https://codereview.chromium.org/1410663005/ )
Reason for revert:
CrOS bots failing.

Original issue's description:
> Add text animation sample; tweak DrawShip sample
>
> Committed: https://skia.googlesource.com/skia/+/3b484a40b3be7f0262afadeaf6b741ba5cedcfe1

TBR=robertphillips@google.com,bsalomon@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1408063015
2015-11-06 16:10:34 -08:00
jvanverth
3b484a40b3 Add text animation sample; tweak DrawShip sample
Review URL: https://codereview.chromium.org/1410663005
2015-11-06 14:20:04 -08:00
mtklein
e8e17cf23d 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

Review URL: https://codereview.chromium.org/1317233005
2015-11-06 14:10:48 -08:00
robertphillips
2b0536f37a 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
2015-11-06 14:10:42 -08:00
reed
16d7e96f37 add sequence for nov talk
BUG=skia:
TBR=
NOTRY=True
NOTREECHECKS=True

Review URL: https://codereview.chromium.org/1415453011
2015-11-06 12:36:24 -08:00
Matt Sarett
1aaaba5216 Fix the build on Android devices 2015-11-06 15:19:24 -05:00
mtklein
1358051073 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:
e6c439e806/logs/build_error.log

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
2015-11-06 11:34:06 -08:00
hcm
6065d8eae6 Adding Skia Debugger documentation
BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1414393010

Review URL: https://codereview.chromium.org/1414393010
2015-11-06 11:29:06 -08:00
msarett
b747b90501 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
2015-11-06 11:15:49 -08:00
msarett
69ad6a9d03 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
2015-11-06 11:02:06 -08:00
msarett
8e26604262 Export tools as an include directory for Android
BUG=skia:

Review URL: https://codereview.chromium.org/1411933006
2015-11-06 10:53:01 -08:00
herb
dad837ace1 compare has a syntax error where it is missing the path to sem().
BUG=skia:

Review URL: https://codereview.chromium.org/1420963010
2015-11-06 10:35:37 -08:00
mtklein
a7627dc5cc 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
2015-11-06 09:18:57 -08:00
msarett
5cb4885b4c 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
2015-11-06 08:56:32 -08:00
halcanary
aa4ba90792 SkPDF: images support 32-but-not-N32 colortype
BUG=550559

Review URL: https://codereview.chromium.org/1407063005
2015-11-06 07:27:23 -08:00
cdalton
63f6c1fc5b 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
2015-11-06 07:09:43 -08:00
egdaniel
f3bace9392 Add addFragPosUniform to GrGLrogramBuilder
BUG=skia:

Review URL: https://codereview.chromium.org/1434483002
2015-11-06 06:57:12 -08:00
robertphillips
cf1d19805a 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
2015-11-06 05:59:14 -08:00
robertphillips
42597bc99f Update Layer Hoisting to store its atlas texture in the resource cache
BUG=skia:4346

Review URL: https://codereview.chromium.org/1406013006
2015-11-06 04:14:55 -08:00
msarett
fcff08c830 SkBitmapRegionCodec needs to use the rowBytes on the pixel ref
BUG=skia:4538

Review URL: https://codereview.chromium.org/1422023006
2015-11-05 15:00:56 -08:00
senorblanco
c57e0ded7d 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
2015-11-05 14:48:43 -08:00
egdaniel
fca294b83b Create Sample that combines combose shader and coons patch
BUG=skia:

Review URL: https://codereview.chromium.org/1417123004
2015-11-05 13:09:08 -08:00
reed
b7ffe03b12 add --sequence filename option to SampleApp
BUG=skia:

Review URL: https://codereview.chromium.org/1412143005
2015-11-05 11:59:17 -08:00
joshualitt
474a9ea051 Wire up SDL on Android
BUG=skia:

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

Review URL: https://codereview.chromium.org/1415453009
2015-11-05 11:49:35 -08:00
msarett
691ad76fca Fix bug in sampled decodes
BUG=skia:

Review URL: https://codereview.chromium.org/1417993006
2015-11-05 11:19:29 -08:00
joshualitt
5d7a7fe563 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
2015-11-05 10:48:41 -08:00
bsalomon
a2e69fcded 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
2015-11-05 10:41:43 -08:00
mtklein
cd49541524 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
2015-11-05 09:46:23 -08:00
bsalomon
8515377d8f Make bicubic FP factories return const FPs
TBR=egdaniel@google.com

Review URL: https://codereview.chromium.org/1413403008
2015-11-05 09:35:01 -08:00
joshualitt
a4d3797c3b Wire up SDL on Android
BUG=skia:

Review URL: https://codereview.chromium.org/1415453009
2015-11-05 08:35:31 -08:00
plesner
d975fc9599 Add ifdef guard around gpu-specific code in native windows window.
Review URL: https://codereview.chromium.org/1405963014
2015-11-05 08:10:45 -08:00
aleksandar.stojiljkovic
2944fbb532 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
2015-11-05 07:48:12 -08:00
joshualitt
8377e80951 Fix for atlas doesn't call eviction functions
TBR=
BUG=551094

Review URL: https://codereview.chromium.org/1412663011
2015-11-05 07:14:56 -08:00
joshualitt
65d6fbb576 Create SDL backed SkOSWindow
BUG=skia:

Review URL: https://codereview.chromium.org/1413593007
2015-11-04 13:41:02 -08:00
reed
6f45c17147 Revert[4] of "stop using drawSprite (at least w/ no filters) as it is going away"
This reverts commit 67b8b5e67a.

BUG=skia:
TBR=

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

Review URL: https://codereview.chromium.org/1422703009
2015-11-04 08:34:07 -08:00
mtklein
81919d3c67 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
2015-11-04 08:19:24 -08:00
kkinnunen
7f97a76b80 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
2015-11-04 06:30:17 -08:00
bsalomon
f57ef1c05f Add outer blur to bleed GM family
Review URL: https://codereview.chromium.org/1429863007
2015-11-04 04:36:12 -08:00