platform/upstream/libSkiaSharp.git
9 years agoRevert of update memset16/32 inlining heuristics (patchset #1 id:1 of https://coderev...
mtklein [Sun, 20 Sep 2015 22:02:54 +0000 (15:02 -0700)]
Revert of update memset16/32 inlining heuristics (patchset #1 id:1 of https://codereview.chromium.org/1357193002/ )

Reason for revert:
Who wants to land forever?

Original issue's description:
> update memset16/32 inlining heuristics
>
> I spent some time looking at perf.skia.org and it looks like we can do better.
>
> It is weird, weird, weird that on x86, we see three completely different behaviors:
>   - x86 Android: inlining better for small N, custom better for large N;
>   - Windows:     inlining better for large N, custom better for small N;
>   - other x86:   inlining generally better
>
> BUG=skia:4316,chromium:516426
>
> (Temporary, plan to revert.)
> TBR=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/b68fa409fc00ce2f38e2a0fd6f9dc2379b372481

TBR=reed@google.com,jcgregorio@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4316,chromium:516426

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

9 years agoupdate memset16/32 inlining heuristics
mtklein [Sun, 20 Sep 2015 22:02:15 +0000 (15:02 -0700)]
update memset16/32 inlining heuristics

I spent some time looking at perf.skia.org and it looks like we can do better.

It is weird, weird, weird that on x86, we see three completely different behaviors:
  - x86 Android: inlining better for small N, custom better for large N;
  - Windows:     inlining better for large N, custom better for small N;
  - other x86:   inlining generally better

BUG=skia:4316,chromium:516426

(Temporary, plan to revert.)
TBR=reed@google.com

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

9 years agoUpdate SKP version
update-skps [Sun, 20 Sep 2015 07:14:36 +0000 (00:14 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS

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

9 years agoRevert of Avoid CTFontCreateCopyWithAttributes. (patchset #4 id:60001 of https:/...
bungeman [Sat, 19 Sep 2015 06:03:24 +0000 (23:03 -0700)]
Revert of Avoid CTFontCreateCopyWithAttributes. (patchset #4 id:60001 of https://codereview.chromium.org/1344213004/ )

Reason for revert:
Causes issues with synthetic bold italic on all versions of OSX, with OSX10.10 resulting in many measurement related changes (this is expected though).

fast/text/atsui-multiple-renderers.html
fast/css/font-face-synthetic-bold-italic.html

https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Mac10_9__retina_/6168/layout-test-results/results.html

https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Mac10_10/4525/layout-test-results/results.html

Original issue's description:
> Avoid CTFontCreateCopyWithAttributes.
>
> It appears that CTFontCreateCopyWithAttributes and
> CTFontCreateCopyWithSymbolicTraits share similar issues with the default
> font on OSX10.10. CTFontCreateWithFontDescriptor cannot be used as
> it will not work with webfonts. Since this is all low-level use, create the
> CTFonts from the underlying CGFonts directly.
>
> BUG=chromium:524646
>
> Committed: https://skia.googlesource.com/skia/+/d3296717b9d0930237be3502b82ab94d0b4d177f

TBR=erikchen@chromium.org,mtklein@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:524646

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

9 years agoAvoid CTFontCreateCopyWithAttributes.
bungeman [Sat, 19 Sep 2015 03:13:06 +0000 (20:13 -0700)]
Avoid CTFontCreateCopyWithAttributes.

It appears that CTFontCreateCopyWithAttributes and
CTFontCreateCopyWithSymbolicTraits share similar issues with the default
font on OSX10.10. CTFontCreateWithFontDescriptor cannot be used as
it will not work with webfonts. Since this is all low-level use, create the
CTFonts from the underlying CGFonts directly.

BUG=chromium:524646

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

9 years agoskia.og: Update the home page to have a showcase of Skia capabilities.
jcgregorio [Fri, 18 Sep 2015 21:05:41 +0000 (14:05 -0700)]
skia.og: Update the home page to have a showcase of Skia capabilities.

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

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

9 years agoDelete the typefaces.
herb [Fri, 18 Sep 2015 20:52:18 +0000 (13:52 -0700)]
Delete the typefaces.

BUG=skia:

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

9 years agoCreate append methods in batch namespaces
joshualitt [Fri, 18 Sep 2015 20:03:25 +0000 (13:03 -0700)]
Create append methods in batch namespaces

BUG=skia:

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

9 years agoFix for combining with perspective local rects
joshualitt [Fri, 18 Sep 2015 19:56:41 +0000 (12:56 -0700)]
Fix for combining with perspective local rects

TBR=robertphillips@google.com
BUG=skia:

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

9 years agoFont cache stress test.
herb [Fri, 18 Sep 2015 19:09:43 +0000 (12:09 -0700)]
Font cache stress test.

BUG=skia:

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

9 years agoDisable dithering in libjpeg-turbo for 565 decodes
msarett [Fri, 18 Sep 2015 19:06:04 +0000 (12:06 -0700)]
Disable dithering in libjpeg-turbo for 565 decodes

libjpeg-turbo turns on dithering by default.  When we
decode to RGBA, it uses Floyd-Steinberg dithering -
consistent with the libjpeg6b gold standard,

When we decode to 565, it uses ordered dithering.  Ordered
dithering for 565 is not part of the 6b standard (libjpeg6b
doesn't even support 565) and is causing us a number of
issues:
(1) Ordered dithering + nearest neighbor sampling is
causing checkerboard visual artifacts in some outputs.
(2) The ordered dither function in libjpeg-turbo actually
behaves differently depending on the alignment of the
memory that it decodes into.  This means that two image
decodes that should be identical may look different just
because they decode into different memory blocks.  This
was causing some diffs on Gold with the scanline_subset
test that were causing me some confusion.
(3) Maybe not the best evidence, but visually I can't tell
a difference with and without dithering (except when
nearest neighbor scaling causes the checkerboard artifact).
(4) Turning off dithering should be a more significant
performance improvement than you might expect.
libjpeg-turbo has SIMD color conversions to 565, but when
dithering is on, it defaults to scalar code.

This CL should make every jpeg decode to 565 on Gold look
slightly different.  Yay!

BUG=skia:

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

9 years agoadd new gm to test overlapping lcd text
joshualitt [Fri, 18 Sep 2015 19:03:13 +0000 (12:03 -0700)]
add new gm to test overlapping lcd text

BUG=skia:

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

9 years agoMake Ben happy
joshualitt [Fri, 18 Sep 2015 18:28:59 +0000 (11:28 -0700)]
Make Ben happy

TBR=
BUG=skia:

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

9 years agoUse rounding when converting desiredScale to a sampleSize
msarett [Fri, 18 Sep 2015 18:24:44 +0000 (11:24 -0700)]
Use rounding when converting desiredScale to a sampleSize

Right now we have a bug in Gold where some images are labeled
_0.167 and others are labeled _0.166.  They are all 1/6
scales and should be labeled the same way and compared.

The fix involves changing 0.166 to 0.167 in the list of
scales that we test on, but SkScaledCodec does not scale
to 0.167 as I expected.

SkScaledCodec converts 0.167 to sampleSize = 5.999 and then
casts to sampleSize = 5.  I would argue that we should do
a true round, so 0.167 represents a sampleSize of 6.

In general, this CL change onGetScaledDimensions so that
we now round desiredScale to the nearest sampleSize.

BUG=skia:

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

9 years agoAdd shared mutex benchmark.
herb [Fri, 18 Sep 2015 17:50:35 +0000 (10:50 -0700)]
Add shared mutex benchmark.

BUG=skia:

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

9 years agoRevert of add ImageShader, sharing code with its Bitmap cousin (patchset #10 id:18000...
tomhudson [Fri, 18 Sep 2015 16:36:12 +0000 (09:36 -0700)]
Revert of add ImageShader, sharing code with its Bitmap cousin (patchset #10 id:180001 of https://codereview.chromium.org/1342113002/ )

Reason for revert:
Failing ImageNewShaderTest on both Android (Tegra3 GPU) and iOS bots.

e.g.

/Users/chrome-bot/buildbot/skiabot-ipad4-000/build/slave/workdir/build/skia/tests/
ImageNewShaderTest.cpp:24 0 == memcmp(bm1.getPixels(), bm2.getPixels(), bm1.getSize())
ImageNewShaderTest.cpp:95 0xFFFF0000 == bmt.getColor(0, y)
ImageNewShaderTest.cpp:98 0xFFDEDEDE == bmt.getColor(x, y)
ImageNewShaderTest.cpp:98 0xFFDEDEDE == bmt.getColor(x, y)
ImageNewShaderTest.cpp:98 0xFFDEDEDE == bmt.getColor(x, y)
ImageNewShaderTest.cpp:98 0xFFDEDEDE == bmt.getColor(x, y)
ImageNewShaderTest.cpp:95 0xFFFF0000 == bmt.getColor(0, y)
...

Original issue's description:
> add ImageShader, sharing code with its Bitmap cousin
>
> This is done by having abstracted the BitmapShaderContext to take a BitmapProvider, instead of just a bitmap. This allows us to share all of that code between SkBitmap and SkImage, since both are valid providers.
>
> It also means that we can simplify SkImage_Base to not need a virtual for onNewShader, since ALL images can uniformly be turned into a shader now.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/0b93e3149d2cb30860c51f9f3204ae811d9a97ca

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

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

9 years agoBenchmark all mutex implementations.
herb [Fri, 18 Sep 2015 16:24:18 +0000 (09:24 -0700)]
Benchmark all mutex implementations.

BUG=skia:

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

9 years agoAdd slice tool
robertphillips [Fri, 18 Sep 2015 16:04:43 +0000 (09:04 -0700)]
Add slice tool

Don't know if we want to add this but I found it useful when tracking down blur circle bugs.

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

9 years agoadd ImageShader, sharing code with its Bitmap cousin
reed [Fri, 18 Sep 2015 15:26:25 +0000 (08:26 -0700)]
add ImageShader, sharing code with its Bitmap cousin

This is done by having abstracted the BitmapShaderContext to take a BitmapProvider, instead of just a bitmap. This allows us to share all of that code between SkBitmap and SkImage, since both are valid providers.

It also means that we can simplify SkImage_Base to not need a virtual for onNewShader, since ALL images can uniformly be turned into a shader now.

BUG=skia:

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

9 years agoPurge cached resources on SkImage destruction.
fmalita [Fri, 18 Sep 2015 15:07:31 +0000 (08:07 -0700)]
Purge cached resources on SkImage destruction.

BUG=532981
R=reed@google.com,mtklein@google.com

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

9 years agoMove StrokeRectBatches into .cpp files
joshualitt [Fri, 18 Sep 2015 14:12:55 +0000 (07:12 -0700)]
Move StrokeRectBatches into .cpp files

BUG=skia:

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

9 years agoAdd debug mode to shared mutex.
herb [Fri, 18 Sep 2015 14:00:48 +0000 (07:00 -0700)]
Add debug mode to shared mutex.

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

9 years agounplumb sknx_no_simd
mtklein [Fri, 18 Sep 2015 13:50:38 +0000 (06:50 -0700)]
unplumb sknx_no_simd

BUG=skia:

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

9 years agoNot correctly initializing VisualBench commandline arguments
joshualitt [Fri, 18 Sep 2015 13:47:39 +0000 (06:47 -0700)]
Not correctly initializing VisualBench commandline arguments

TBR=mtklein@google.com
BUG=skia:

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

9 years agoBuildbot spec and gyp defs for SK_USE_DISCARDABLE_SCALEDIMAGECACHE bot
borenet [Fri, 18 Sep 2015 13:37:14 +0000 (06:37 -0700)]
Buildbot spec and gyp defs for SK_USE_DISCARDABLE_SCALEDIMAGECACHE bot

BUG=skia:4354

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

9 years agoTest-...-Release-SK_FOO --> -DSK_FOO
mtklein [Fri, 18 Sep 2015 13:15:55 +0000 (06:15 -0700)]
Test-...-Release-SK_FOO --> -DSK_FOO

When a bot ends with extra_config SK_LIKE_THIS,
we'll define SK_LIKE_THIS when compiling.

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

BUG=skia:4354

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

9 years agoMerge sub-device annotations in SkPDFDevice::drawDevice()
wangxianzhu [Fri, 18 Sep 2015 03:38:02 +0000 (20:38 -0700)]
Merge sub-device annotations in SkPDFDevice::drawDevice()

Previously annotations added between saveLayer/restore were lost.

Merge annotations in SkPDFDevice::drawDevice(). Also modified code to
apply correct transformation and clipping on annotations added between
saveLayer/restore:
- Apply the initial transform only when adding the annotations into the
  doc, otherwise we need to unapply sub-device's initial transform
  before merging the annotations into parent-device.
- Apply only device-local clipping. fClipStack is in global coordinates,
  which is not suitable to clip rects in sub-devices.

BUG=skia:4080
BUG=503515

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

9 years agoReland of add a ClassID function to GrBatch (patchset #1 id:1 of https://codereview...
reed [Fri, 18 Sep 2015 03:16:13 +0000 (20:16 -0700)]
Reland of add a ClassID function to GrBatch (patchset #1 id:1 of https://codereview.chromium.org/1353043002/ )

Reason for revert:
DEPS roll seems to have landed w/o this revert, so revert it again

Original issue's description:
> Revert of add a ClassID function to GrBatch (patchset #5 id:80001 of https://codereview.chromium.org/1352813003/ )
>
> Reason for revert:
> Speculative revert to unblock DEPS roll
>
> Original issue's description:
> > add a ClassID function to GrBatch
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/4078d529e9e199eea13456db7bf3a63a104ab5b9
> >
> > Committed: https://skia.googlesource.com/skia/+/eb44d53cf96a7eaf103a98d76079ce1f5495e343
>
> TBR=robertphillips@google.com,bsalomon@google.com,joshualitt@google.com,joshualitt@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/48e3a45ade15c52c0c1a10cb00907dd444897745

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

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

9 years agoRevert of add a ClassID function to GrBatch (patchset #5 id:80001 of https://coderevi...
reed [Fri, 18 Sep 2015 00:35:11 +0000 (17:35 -0700)]
Revert of add a ClassID function to GrBatch (patchset #5 id:80001 of https://codereview.chromium.org/1352813003/ )

Reason for revert:
Speculative revert to unblock DEPS roll

Original issue's description:
> add a ClassID function to GrBatch
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4078d529e9e199eea13456db7bf3a63a104ab5b9
>
> Committed: https://skia.googlesource.com/skia/+/eb44d53cf96a7eaf103a98d76079ce1f5495e343

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

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

9 years agoshare IDs between cacherator and its host-image
reed [Thu, 17 Sep 2015 20:57:41 +0000 (13:57 -0700)]
share IDs between cacherator and its host-image

BUG=skia:

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

9 years agouse allocator (if present) when we allocate our cache bitmap
reed [Thu, 17 Sep 2015 20:35:19 +0000 (13:35 -0700)]
use allocator (if present) when we allocate our cache bitmap

Remove some bogus tests on the cache, as they are not thread-reliable. Running w/ discardable these are racy.

BUG=532981

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

9 years agoremove racy tests, as they assume the cache can't be purged behind their back
reed [Thu, 17 Sep 2015 20:27:44 +0000 (13:27 -0700)]
remove racy tests, as they assume the cache can't be purged behind their back

If I explicitly purge the resource-cache after every DM, these tests fail (sporadically)
.
BUG=skia:

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

9 years agoadd a ClassID function to GrBatch
joshualitt [Thu, 17 Sep 2015 18:50:57 +0000 (11:50 -0700)]
add a ClassID function to GrBatch

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/4078d529e9e199eea13456db7bf3a63a104ab5b9

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

9 years agoRevert of add a ClassID function to GrBatch (patchset #5 id:80001 of https://coderevi...
joshualitt [Thu, 17 Sep 2015 18:43:01 +0000 (11:43 -0700)]
Revert of add a ClassID function to GrBatch (patchset #5 id:80001 of https://codereview.chromium.org/1352813003/ )

Reason for revert:
breaks mac bot

Original issue's description:
> add a ClassID function to GrBatch
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4078d529e9e199eea13456db7bf3a63a104ab5b9

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

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

9 years agoadd a ClassID function to GrBatch
joshualitt [Thu, 17 Sep 2015 18:21:17 +0000 (11:21 -0700)]
add a ClassID function to GrBatch

BUG=skia:

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

9 years agoFix Ganesh perspective projection bug
robertphillips [Thu, 17 Sep 2015 18:21:06 +0000 (11:21 -0700)]
Fix Ganesh perspective projection bug

BUG=skia:3326

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

9 years agoDOC: Mention install_dependencies in Android quickstart
tomhudson [Thu, 17 Sep 2015 15:28:15 +0000 (08:28 -0700)]
DOC: Mention install_dependencies in Android quickstart

Embeds #prerequisites anchor in Linux so we don't duplicate the details.

TBR=hcm,jcgregorio
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1342263004

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

9 years agodisable test for all quality levels, since it is driver dependent
reed [Wed, 16 Sep 2015 20:18:41 +0000 (13:18 -0700)]
disable test for all quality levels, since it is driver dependent

BUG=skia:
TBR=robertphilips

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

9 years agohave raster-image return itself as a texture
reed [Wed, 16 Sep 2015 19:53:29 +0000 (12:53 -0700)]
have raster-image return itself as a texture

This tickles skbug.com/4351, but we don't know how to fix that yet, so we think this CL is ok.

BUG=skia:

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

9 years agoadd test for skbug.com/4351
reed [Wed, 16 Sep 2015 19:50:27 +0000 (12:50 -0700)]
add test for skbug.com/4351

BUG=skia:4351

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

9 years agoshare code between SkGr and Cacherator
reed [Wed, 16 Sep 2015 17:09:24 +0000 (10:09 -0700)]
share code between SkGr and Cacherator

BUG=skia:

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

9 years agominor cleanup
joshualitt [Wed, 16 Sep 2015 15:55:21 +0000 (08:55 -0700)]
minor cleanup

TBR=
BUG=skia:

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

9 years agoUse atomic subtract in shared mutex.
herb [Wed, 16 Sep 2015 15:21:15 +0000 (08:21 -0700)]
Use atomic subtract in shared mutex.

BUG=skia:

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

9 years agoAdd subtract to atomics.
herb [Wed, 16 Sep 2015 14:46:17 +0000 (07:46 -0700)]
Add subtract to atomics.

BUG=skia:

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

9 years agoRemove duplicate GrProcessorUnitTest.cpp from gpu.gypi
robertphillips [Wed, 16 Sep 2015 12:42:40 +0000 (05:42 -0700)]
Remove duplicate GrProcessorUnitTest.cpp from gpu.gypi

This appears to be blocking the roll.

TBR=tomhudson@chromium.org

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

9 years agoCreate fragment processor for performing input color blend with child processor
bsalomon [Tue, 15 Sep 2015 22:33:27 +0000 (15:33 -0700)]
Create fragment processor for performing input color blend with child processor

The new FP is used to implement SkXM::Mode color filters and SkXM::Mode image filters. Also, these now support all advanced SkXM::Mode xfermodes.

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

9 years agoRevert of Parallel cache - preliminary (patchset #24 id:460001 of https://codereview...
herb [Tue, 15 Sep 2015 22:15:40 +0000 (15:15 -0700)]
Revert of Parallel cache - preliminary  (patchset #24 id:460001 of https://codereview.chromium.org/1264103003/ )

Reason for revert:
Breaks DrMemory in the chrome roll.

Original issue's description:
> Parallel cache.
>
> TBR=reed@google.com
>
> BUG=skia:1330,528560
>
> Committed: https://skia.googlesource.com/skia/+/6f2a486040cb25465990196c229feb47e668e87f
>
> Committed: https://skia.googlesource.com/skia/+/bf2988833e5a36c6b430da6fdd2cfebd0015adec
>
> Committed: https://skia.googlesource.com/skia/+/014ffdb01ea5317614a1569efc30c50f06434222

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

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

9 years agomove SkBitmapProvider to its own file
reed [Tue, 15 Sep 2015 21:46:27 +0000 (14:46 -0700)]
move SkBitmapProvider to its own file

BUG=skia:

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

9 years agoFix vs2015 build
bsalomon [Tue, 15 Sep 2015 21:41:15 +0000 (14:41 -0700)]
Fix vs2015 build

TBR=robertphillips@google.com

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

9 years agoAdd onMemoryDump to GrContext
ericrk [Tue, 15 Sep 2015 21:16:10 +0000 (14:16 -0700)]
Add onMemoryDump to GrContext

Adds an entry point to GrContext to allow enumeration and tracing of GPU resources
via the newly added SkTraceMemoryDump.

Plan is for Chrome to call this on each of its GrContexts.

Dumps both the total size of GPU resources, as well as the total purgeable size.

BUG=526261

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

9 years agofix up GrGLProgrambuilder precision on varyings
joshualitt [Tue, 15 Sep 2015 21:12:22 +0000 (14:12 -0700)]
fix up GrGLProgrambuilder precision on varyings

TBR=
BUG=skia:4347

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

9 years agoskia: ANGLE roll
hendrikw [Tue, 15 Sep 2015 20:47:25 +0000 (13:47 -0700)]
skia: ANGLE roll

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

9 years agouse SkBitmapProvider for shader-context
reed [Tue, 15 Sep 2015 20:33:58 +0000 (13:33 -0700)]
use SkBitmapProvider for shader-context

BUG=skia:

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

9 years agovb: also thread --key through to .json
mtklein [Tue, 15 Sep 2015 20:29:20 +0000 (13:29 -0700)]
vb: also thread --key through to .json

BUG=skia:

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

9 years agoOn gpu, use max(r,g,b) for coverage alpha in LCD and update lcd blend gm.
egdaniel [Tue, 15 Sep 2015 20:13:50 +0000 (13:13 -0700)]
On gpu, use max(r,g,b) for coverage alpha in LCD and update lcd blend gm.

BUG=skia:

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

9 years agoUpdate params to get better packing for DF path atlas
jvanverth [Tue, 15 Sep 2015 20:11:11 +0000 (13:11 -0700)]
Update params to get better packing for DF path atlas

Gets about a 4x speedup on desk_chalkboard.skp.

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

9 years agoForward declare SkStrokeRec in SkPathEffect
halcanary [Tue, 15 Sep 2015 19:53:07 +0000 (12:53 -0700)]
Forward declare SkStrokeRec in SkPathEffect

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

9 years agocreate SkBitmapProvider to abstract images and bitmaps
reed [Tue, 15 Sep 2015 19:38:12 +0000 (12:38 -0700)]
create SkBitmapProvider to abstract images and bitmaps

BUG=skia:

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

9 years agoConvert unit tests, GMs from SkBitmapSource to SkImagesource
fmalita [Tue, 15 Sep 2015 18:26:13 +0000 (11:26 -0700)]
Convert unit tests, GMs from SkBitmapSource to SkImagesource

This removes SkBitmapSource clients within Skia.

http://crrev.com/1334173004 does the same for Blink, so we should be
able to remove SkBitmapSource in a follow-up.

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

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

9 years agoAdd special case circle blur for Ganesh
robertphillips [Tue, 15 Sep 2015 17:20:55 +0000 (10:20 -0700)]
Add special case circle blur for Ganesh

This makes the blurcircles bench go from ~33us to ~8us on Windows desktop.

It will require layout test suppressions

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

9 years agosmall tweaks to cmake_build
mtklein [Tue, 15 Sep 2015 17:17:08 +0000 (10:17 -0700)]
small tweaks to cmake_build

  - streamline how we define $here
  - only make `cmake` when bootstrapping; it's a little less to build

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

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

9 years agoAdd support for blending of LCD for all blend modes.
egdaniel [Tue, 15 Sep 2015 16:31:40 +0000 (09:31 -0700)]
Add support for blending of LCD for all blend modes.
BUG=skia:

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

9 years agoMinor fix to attaching stencils
egdaniel [Tue, 15 Sep 2015 15:46:13 +0000 (08:46 -0700)]
Minor fix to attaching stencils

BUG=skia:

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

9 years agoAdd viewer mode to VisualBench.
jvanverth [Tue, 15 Sep 2015 14:40:56 +0000 (07:40 -0700)]
Add viewer mode to VisualBench.

Displays each benchmark/skp with a graph showing a series of frame times.
Use the space bar to skip to the next benchmark.

Adds an option to hit ESC to quit VisualBench. Useful in fullscreen mode.

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

9 years agoParallel cache.
herb [Tue, 15 Sep 2015 14:03:03 +0000 (07:03 -0700)]
Parallel cache.

TBR=reed@google.com

BUG=skia:1330,528560

Committed: https://skia.googlesource.com/skia/+/6f2a486040cb25465990196c229feb47e668e87f

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

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

9 years agoAdd documentation of cs.skia.org.
benjaminwagner [Tue, 15 Sep 2015 14:02:02 +0000 (07:02 -0700)]
Add documentation of cs.skia.org.

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

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

9 years agoSpeculative fix for uninitialized bitmap mem in ImageFilterTest
fmalita [Tue, 15 Sep 2015 13:56:23 +0000 (06:56 -0700)]
Speculative fix for uninitialized bitmap mem in ImageFilterTest

TBR=reed@google.com

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

9 years agoLet's try building the example app on the bots too.
mtklein [Tue, 15 Sep 2015 13:07:47 +0000 (06:07 -0700)]
Let's try building the example app on the bots too.

BUG=skia:4269

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

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

9 years agocmake_build is a bash script.
Mike Klein [Tue, 15 Sep 2015 12:29:02 +0000 (08:29 -0400)]
cmake_build is a bash script.

BUG=skia:4269

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

9 years agoSuppress test_imagegenerator_factory
fmalita [Mon, 14 Sep 2015 21:51:04 +0000 (14:51 -0700)]
Suppress test_imagegenerator_factory

Temporarily disable the test while we figure what (if anything) to do
about the SkImageGenerator gFactory race.

BUG=skia:4339
TBR=reed@google.com,mtklein@google.com

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

9 years agoremove code from SK_SUPPORT_LEGACY_NEWFROMGENERATOR, eliminates caller of deprecated...
reed [Mon, 14 Sep 2015 20:54:39 +0000 (13:54 -0700)]
remove code from SK_SUPPORT_LEGACY_NEWFROMGENERATOR, eliminates caller of deprecated SkInstallDiscardablePixelRef

BUG=skia:

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

9 years agofix leaked generator
reed [Mon, 14 Sep 2015 20:41:23 +0000 (13:41 -0700)]
fix leaked generator

BUG=skia:4335

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

9 years agoSkImageSource
fmalita [Mon, 14 Sep 2015 20:31:18 +0000 (13:31 -0700)]
SkImageSource

Blink is migrating away from SkBitmaps, so we need an SkImage-based
SkImageFilter source.  This is pretty much a 1-1 equivalent of
SkBitmapSource.

To avoid duplication, relocate the SkImage deserialization logic
from SkPictureData to SkReadBuffer.

R=reed@google.com,robertphillips@google.com,senorblanco@chromium.org

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

9 years agoAdd helper for creating leaf FPs inside GrFP::TestCreate functions
bsalomon [Mon, 14 Sep 2015 20:16:26 +0000 (13:16 -0700)]
Add helper for creating leaf FPs inside GrFP::TestCreate functions

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

9 years agoRevert of SkPx: new approach to fixed-point SIMD (patchset #9 id:160001 of https...
mtklein [Mon, 14 Sep 2015 20:14:31 +0000 (13:14 -0700)]
Revert of SkPx: new approach to fixed-point SIMD (patchset #9 id:160001 of https://codereview.chromium.org/1317233005/ )

Reason for revert:
http://build.chromium.org/p/client.skia.compile/builders/Build-Mac10.8-Clang-Arm7-Debug-Android/builds/4627

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

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

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

9 years agoMove some of the adding stencil attachment logic of Gpu and into Render Target.
egdaniel [Mon, 14 Sep 2015 19:56:10 +0000 (12:56 -0700)]
Move some of the adding stencil attachment logic of Gpu and into Render Target.

The new flow of calls for attaching a Stencil looks like:

Client
  rt->attachStencilAttachment()
    gpu->getStencilAttachment()
      glgpu->createStencilAttachment()
    glrt->completeStencilAttachment() //actually attaches

BUG=skia:

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

9 years agoUpdate SkWhitelistChecksums.cpp with the checksums of the fonts on the CT slave machines.
rmistry [Mon, 14 Sep 2015 19:50:22 +0000 (12:50 -0700)]
Update SkWhitelistChecksums.cpp with the checksums of the fonts on the CT slave machines.

This file was generated using the whitelist_typefaces tool.
I tried out this file on 3 of the 100
CT slaves and './out/Debug/whitelist_typefaces --check' successfully returned 0.

BUG=skia:4336

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

9 years agoSkPx: new approach to fixed-point SIMD
mtklein [Mon, 14 Sep 2015 19:43:20 +0000 (12:43 -0700)]
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

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

9 years agoTest that GrFragmentProcessors work without input colors.
bsalomon [Mon, 14 Sep 2015 19:26:33 +0000 (12:26 -0700)]
Test that GrFragmentProcessors work without input colors.

Committed: https://skia.googlesource.com/skia/+/72c58e7052af2a0855412ce4b249f977069db751

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

9 years agocmake_build: support SKIA_OUT and BUILDTYPE
mtklein [Mon, 14 Sep 2015 19:02:32 +0000 (12:02 -0700)]
cmake_build: support SKIA_OUT and BUILDTYPE

And, fix BUILDTYPE=Debug build.
EQUAL is for numbers, STREQUAL for strings.

BUG=skia:

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

9 years agoRevert of Test that GrFragmentProcessors work without input colors. (patchset #2...
bsalomon [Mon, 14 Sep 2015 19:01:42 +0000 (12:01 -0700)]
Revert of Test that GrFragmentProcessors work without input colors. (patchset #2 id:20001 of https://codereview.chromium.org/1341853002/ )

Reason for revert:
Need to fix up more processor subclasses.

Original issue's description:
> Test that GrFragmentProcessors work without input colors.
>
> Committed: https://skia.googlesource.com/skia/+/72c58e7052af2a0855412ce4b249f977069db751

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

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

9 years agoTest that GrFragmentProcessors work without input colors.
bsalomon [Mon, 14 Sep 2015 18:55:51 +0000 (11:55 -0700)]
Test that GrFragmentProcessors work without input colors.

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

9 years agoFix GPU-only snapping bug in mask blur rendering
robertphillips [Mon, 14 Sep 2015 18:18:13 +0000 (11:18 -0700)]
Fix GPU-only snapping bug in mask blur rendering

The existing mask effect code in Ganesh is subject to snapping issues (when the created mask is redrawn). This artifact can be seen by rendering the original geometry (w/o blurs) and comparing that result to a rendering of the unblurred masks. W/o this patch the results do not match up (they are arbitrarily shifted by a pixel).

This patch will require rebaselining and suppressions.

Chromium layout tests suppressions are here:
https://codereview.chromium.org/1342683003/ (Add layout test suppressions for upcoming Skia roll)

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

9 years agoimpl preroll for all image backends
reed [Mon, 14 Sep 2015 18:17:23 +0000 (11:17 -0700)]
impl preroll for all image backends

BUG=skia:

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

9 years agoHave SkVarAlloc::alloc() use sk_malloc_throw.
mtklein [Mon, 14 Sep 2015 18:11:17 +0000 (11:11 -0700)]
Have SkVarAlloc::alloc() use sk_malloc_throw.

Very right, it's not prepared to handle return-NULL mallocs at all.

BUG=530759

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

9 years agoSkValidatingReadBuffer: make sure we don't call readTypeface().
mtklein [Mon, 14 Sep 2015 18:09:42 +0000 (11:09 -0700)]
SkValidatingReadBuffer: make sure we don't call readTypeface().

Add an assert to make sure we're not calling this unimplemented method.

BUG=skia:3978

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

9 years agofix leak in test
reed [Mon, 14 Sep 2015 17:53:24 +0000 (10:53 -0700)]
fix leak in test

BUG=skia:4335

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

9 years agobe sure to use cached bitmap when we need to upload something to make a texture
reed [Mon, 14 Sep 2015 17:27:57 +0000 (10:27 -0700)]
be sure to use cached bitmap when we need to upload something to make a texture

BUG=skia:4334

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

9 years agoCMake bot script
mtklein [Mon, 14 Sep 2015 17:02:50 +0000 (10:02 -0700)]
CMake bot script

 - Add CMake v3.3.1 (latest) to DEPS.
 - Add cmake/bot-cmake.sh to bootstrap CMake then build Skia using that.

Works on my Mac and Linux box, both with no system CMake installation.

CMake will be ~100M on disk.  The first bootstrap takes a couple minutes,
and a no-op re-run of bot-cmake.sh takes 15-20 seconds.  I thought about
having bot-cmake.sh fetch CMake instead of DEPS, but I'm not sure I can
handle updates, etc. as robustly as it can.

This will only work on Linux and Mac.  CMake requires an older CMake on
Windows.  It doesn't have an equivalent ./bootstrap there.  Will have to
think about how Windows bots will work!

BUG=skia:4269

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

9 years agowe must own/free the generator, even if we fail to return a cacherator
reed [Mon, 14 Sep 2015 16:59:28 +0000 (09:59 -0700)]
we must own/free the generator, even if we fail to return a cacherator

BUG=skia:4332

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

9 years agodisable kIndex_8 gpu support for now -- seems to always be slower
reed [Mon, 14 Sep 2015 16:09:00 +0000 (09:09 -0700)]
disable kIndex_8 gpu support for now -- seems to always be slower

BUG=skia:4333

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

9 years agodiscardable pixelrefs are gone, update tests accordingly
reed [Mon, 14 Sep 2015 15:52:12 +0000 (08:52 -0700)]
discardable pixelrefs are gone, update tests accordingly

BUG=skia:4328

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

9 years agoremove dead code not mentioned in any GYP
mtklein [Mon, 14 Sep 2015 13:33:47 +0000 (06:33 -0700)]
remove dead code not mentioned in any GYP

BUG=skia:

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

9 years agoUpdate SKP version
update-skps [Sun, 13 Sep 2015 21:05:54 +0000 (14:05 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS

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

9 years agoformalize generate->bitmap
reed [Sun, 13 Sep 2015 18:03:32 +0000 (11:03 -0700)]
formalize generate->bitmap

just move block of code to expose it

BUG=skia:4328
TBR=

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

9 years agoremove obsolete samples
reed [Sat, 12 Sep 2015 16:55:30 +0000 (09:55 -0700)]
remove obsolete samples

BUG=skia:
TBR=

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

9 years agosync-and-gyp: Update shell script to correct the syntax of functions
Hal Canary [Sat, 12 Sep 2015 00:49:00 +0000 (20:49 -0400)]
sync-and-gyp: Update shell script to correct the syntax of functions

R=halcanary@gmail.com

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

9 years agoskia: Add ANGLE with GL backend to nanobench/DM
hendrikw [Fri, 11 Sep 2015 20:07:29 +0000 (13:07 -0700)]
skia: Add ANGLE with GL backend to nanobench/DM

This will allow us to test this without hacking it in, might be useful
for others too.

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

9 years agomove GrGLPathProcessor back into GrPathProcessor
joshualitt [Fri, 11 Sep 2015 18:52:17 +0000 (11:52 -0700)]
move GrGLPathProcessor back into GrPathProcessor

BUG=skia:

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

9 years agosupport colortables in cacherator
reed [Fri, 11 Sep 2015 18:47:27 +0000 (11:47 -0700)]
support colortables in cacherator

BUG=skia:
TBR=scroggo

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