platform/upstream/libSkiaSharp.git
8 years agoAdd a note about (x*y+255)/256.
mtklein [Thu, 27 Aug 2015 19:05:56 +0000 (12:05 -0700)]
Add a note about (x*y+255)/256.

BUG=skia:4117

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

8 years agoAdd trace event to SkPicture analysis.
mtklein [Thu, 27 Aug 2015 17:39:07 +0000 (10:39 -0700)]
Add trace event to SkPicture analysis.

RE: https://codereview.chromium.org/1319723002/

This should mark out the time spent to support hasText(),
willPlayBackBitmaps(), and numSlowPaths() in about:tracing.

BUG=skia:

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

8 years agoskia: add ability to load command_buffer_gles2
hendrikw [Thu, 27 Aug 2015 17:38:39 +0000 (10:38 -0700)]
skia: add ability to load command_buffer_gles2

BUG=skia:

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

8 years ago[tracing] Add support for skia caches to dump memory stats
ssid [Thu, 27 Aug 2015 16:23:54 +0000 (09:23 -0700)]
[tracing] Add support for skia caches to dump memory stats

Dump the memory statistics of resource cache and glyph cache using the
SkTraceMemoryDump interface.

BUG=chromium:503168

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

8 years agoBy default purge resources that haven't been used for 64 flushes
bsalomon [Thu, 27 Aug 2015 15:47:47 +0000 (08:47 -0700)]
By default purge resources that haven't been used for 64 flushes

BUG=skia:4258

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

8 years agonullptr isn't an int; this is what we want
halcanary [Thu, 27 Aug 2015 15:32:26 +0000 (08:32 -0700)]
nullptr isn't an int; this is what we want

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

8 years agoStyle Change: NULL->nullptr
halcanary [Thu, 27 Aug 2015 14:41:13 +0000 (07:41 -0700)]
Style Change: NULL->nullptr
DOCS_PREVIEW= https://skia.org/?cl=1316233002

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

8 years agoSkColorCubeFilter_opts: start with a statically-initializable zero.
mtklein [Thu, 27 Aug 2015 13:46:03 +0000 (06:46 -0700)]
SkColorCubeFilter_opts: start with a statically-initializable zero.

SkPMFloat(0) and SkPMFloat(0,0,0,0) end up with the same value,
but the first goes through math to get there.  The second is a lot more
transparent to the compiler, and  should compile all the way down to
just `xorps xmmN,xmmN` or even be optimized away.

Didn't measure any additional benefit from hoisting the zero outside
the loop and writing `SkPMFloat color = zero;`.

Perf win is <2%.

BUG=skia:

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

8 years agoFix assertion about GPU memory size when the target is not FBO 0
chinmaygarde [Thu, 27 Aug 2015 13:36:33 +0000 (06:36 -0700)]
Fix assertion about GPU memory size when the target is not FBO 0

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

8 years agoRemove GrStagedProcessor, remove the word Stage as it applies to FPs
bsalomon [Thu, 27 Aug 2015 13:30:17 +0000 (06:30 -0700)]
Remove GrStagedProcessor, remove the word Stage as it applies to FPs

Committed: https://skia.googlesource.com/skia/+/24243446cdf7b7e4e132c2a0c387c7723777e0c7

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

8 years agoRemove deprecated usage of SkNEW and SkDELETE
mdempsky [Wed, 26 Aug 2015 22:27:59 +0000 (15:27 -0700)]
Remove deprecated usage of SkNEW and SkDELETE

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

8 years agoFix clipped lighting image filters.
senorblanco [Wed, 26 Aug 2015 21:26:40 +0000 (14:26 -0700)]
Fix clipped lighting image filters.

The CPU path for lighting image filters was not adjusting the filter
matrix to accommodate srcOffset, resulting in incorrectly-positioned
lights.  (The GPU path was doing this correctly.)

This change adds a new test case to the imagefiltersclipped GM,
so it will need new baselines.

BUG=skia:

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

8 years agomake cacherator thread-safe
reed [Wed, 26 Aug 2015 21:16:43 +0000 (14:16 -0700)]
make cacherator thread-safe

hoisted from https://codereview.chromium.org/1282363002 as that CL is going to take a while to finish

BUG=skia:
TBR=

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

8 years agoAdd white variants to TextBench
mtklein [Wed, 26 Aug 2015 20:41:31 +0000 (13:41 -0700)]
Add white variants to TextBench

Might be worth a look.

BUG=skia:

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

8 years agoStyle Change: SkNEW->new; SkDELETE->delete
halcanary [Wed, 26 Aug 2015 20:07:48 +0000 (13:07 -0700)]
Style Change:  SkNEW->new; SkDELETE->delete
DOCS_PREVIEW= https://skia.org/?cl=1316123003

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

8 years agotrifurcate blit_mask_d32_a8 into _black, _opaque, _general.
mtklein [Wed, 26 Aug 2015 19:35:14 +0000 (12:35 -0700)]
trifurcate blit_mask_d32_a8 into _black, _opaque, _general.

We used to split the NEON code this way, and just had one path for SSE.
It's unclear to me testing locally if there's any major win here, but there's at least a small one.

No pixel diffs or even any math changes, just folding constants through.

BUG=skia:4117

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

8 years agoWrite a gm to verify append large glyph as path works
joshualitt [Wed, 26 Aug 2015 18:19:55 +0000 (11:19 -0700)]
Write a gm to verify append large glyph as path works

BUG=chromium:522846

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

8 years agoAdd HangingS.ttf to test large flourish caps.
bungeman [Wed, 26 Aug 2015 17:44:48 +0000 (10:44 -0700)]
Add HangingS.ttf to test large flourish caps.

This is designed to allow local testing of the related bug.

BUG=chromium:522846

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

8 years agozero-length cap fix
caryclark [Wed, 26 Aug 2015 16:04:55 +0000 (09:04 -0700)]
zero-length cap fix

Re-land; layout tests are suppressed and gm differences are understood.
A merge conflict prevented a automatic reland.

If the endcap is not butt, draw the endcaps even when the line
has zero length.

If the dash length is zero, generate a zero length line segment.

Treat a move followed by a close as a move followed by a zero-length
line.

TBR=reed@google.com
BUG=422974

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

8 years agoHave SkPicture::willPlayBackBitmaps() count SkImages too.
mtklein [Wed, 26 Aug 2015 15:14:52 +0000 (08:14 -0700)]
Have SkPicture::willPlayBackBitmaps() count SkImages too.

New unit test fails at head but passes with this patch.

BUG=skia:4225

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

8 years agoRename GrBWFillRectBatch to GrNonAAFillRectBAtch
joshualitt [Wed, 26 Aug 2015 15:10:35 +0000 (08:10 -0700)]
Rename GrBWFillRectBatch to GrNonAAFillRectBAtch

TBR=bsalomon@google.com
BUG=skia:

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

8 years agoRevert of Remove GrStagedProcessor, remove the word Stage as it applies to FPs (patch...
rmistry [Wed, 26 Aug 2015 13:48:27 +0000 (06:48 -0700)]
Revert of Remove GrStagedProcessor, remove the word Stage as it applies to FPs (patchset #6 id:90001 of https://codereview.chromium.org/1307223004/ )

Reason for revert:
Causes bot failures:

https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Mac10.9-Clang-MacMini6.2-GPU-HD4000-x86_64-Debug/builds/1639

https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Debug/builds/1702

https://uberchromegw.corp.google.com/i/client.skia.android/builders/Test-Android-GCC-NexusPlayer-GPU-PowerVR-x86-Debug/builds/1223

Original issue's description:
> Remove GrStagedProcessor, remove the word Stage as it applies to FPs
>
> Committed: https://skia.googlesource.com/skia/+/24243446cdf7b7e4e132c2a0c387c7723777e0c7

TBR=joshualitt@google.com,egdaniel@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

8 years agoModify GrBWFillRectBatch to use GrQuad
joshualitt [Wed, 26 Aug 2015 13:23:39 +0000 (06:23 -0700)]
Modify GrBWFillRectBatch to use GrQuad

BUG=skia:

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

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

8 years agostray malloc/free -> sk_malloc/sk_free
mtklein [Wed, 26 Aug 2015 12:43:22 +0000 (05:43 -0700)]
stray malloc/free -> sk_malloc/sk_free

BUG=skia:

TBR=bungeman@google.com

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

8 years agoRemove GrStagedProcessor, remove the word Stage as it applies to FPs
bsalomon [Wed, 26 Aug 2015 12:39:18 +0000 (05:39 -0700)]
Remove GrStagedProcessor, remove the word Stage as it applies to FPs

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

8 years agoRemove include of stdlib.h from SkTypes.h.
bungeman [Wed, 26 Aug 2015 12:15:46 +0000 (05:15 -0700)]
Remove include of stdlib.h from SkTypes.h.

Unfortunately, immintrin.h (which is also included by SkTypes)
includes xmmintrin.h which includes mm_malloc.h which includes
stdlib.h for malloc even though, from the implementation, it is
difficult to see why.

Fortunately, arm_neon.h does not seem to be involved in such
shenanigans, so building for Android will keep things sane.

TBR=reed@google.com
Doesn't change Skia API, just moves an include.

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

8 years agoAdd markdown for Infra troopers
rmistry [Tue, 25 Aug 2015 20:39:41 +0000 (13:39 -0700)]
Add markdown for Infra troopers

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

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

8 years agoReland of ix zero-length tangent (patchset #1 id:1 of https://codereview.chromium...
caryclark [Tue, 25 Aug 2015 20:19:06 +0000 (13:19 -0700)]
Reland of ix zero-length tangent (patchset #1 id:1 of https://codereview.chromium.org/1312243002/ )

Reason for revert:
Layout suppression has landed, and verified that Skia gm test changes are correct.

Original issue's description:
> Revert of fix zero-length tangent (patchset #2 id:20001 of https://codereview.chromium.org/1311273002/ )
>
> Reason for revert:
> causes layout test to draw differently -- new drawing is more correct. Reverting until layout test ignore is landed.
>
> Original issue's description:
> > fix zero-length tangent
> >
> > If the end point and the control point are the same, computing
> > the tangent will result in (0, 0). In this case, use the prior
> > control point instead.
> >
> > R=reed@google.com
> >
> > BUG=skia:4191
> >
> > Committed: https://skia.googlesource.com/skia/+/7544124fb8ee744f68f549a353f8a9163cd7432d
>
> TBR=reed@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:4191
>
> Committed: https://skia.googlesource.com/skia/+/91298b47c547b2ab4697038c04685af957bd1416

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

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

8 years agoFix for MSAN unintialized value
joshualitt [Tue, 25 Aug 2015 19:10:54 +0000 (12:10 -0700)]
Fix for MSAN unintialized value

BUG=524094

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

8 years agoRemove SK_OFFSETOF from SkTypes, clean up offsetof usage.
bungeman [Tue, 25 Aug 2015 19:05:55 +0000 (12:05 -0700)]
Remove SK_OFFSETOF from SkTypes, clean up offsetof usage.

The motivation for this was to remove SK_OFFSETOF from SkTypes, but
this CL is mostly about cleaning up our use of offsetof generally.

SK_OFFSETOF is removed to SkTypes and added to the two places it is
actually used (for the non standard behavior of finding the offset of
fields in types which are not standard layout).

Older versions of gcc required POD for offsetof to be used without
warning. Newer versions require the more relaxed standard layout.
Now that we no longer build on older versions of gcc, remove the
old warning suppressions.

PODMatrix is renamed to AggregateMatrix. SkMatrix is already POD
(trivial and standard layout). The PODMatrix name implies that the
POD-ness is needed for the offsetof, but it is actually the aggregate
attribute which is needed for compile time constant initialization.
This makes it more obvious that this can be revisited after we can
rely on constexpr constructors.

This also adds skstd::declval since this allows removal of existing
awkward code which casts a constant to a pointer to find the size of
a field.

TBR=reed@google.com
No API change, only removes unused macro.

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

8 years agoFix for distance field draw large glyph as paths
joshualitt [Tue, 25 Aug 2015 19:05:50 +0000 (12:05 -0700)]
Fix for distance field draw large glyph as paths

BUG=skia:

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

8 years agoDM: "wb" (binary mode) may matter on Windows
mtklein [Tue, 25 Aug 2015 17:56:08 +0000 (10:56 -0700)]
DM: "wb" (binary mode) may matter on Windows

I suspect we might be doing some funky /n -> /r/n translations without 'b'.
This kills the PNG.

BUG=skia:

NOTREECHECKS=true

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

8 years agoRevert of fix zero-length tangent (patchset #2 id:20001 of https://codereview.chromiu...
caryclark [Tue, 25 Aug 2015 17:02:46 +0000 (10:02 -0700)]
Revert of fix zero-length tangent (patchset #2 id:20001 of https://codereview.chromium.org/1311273002/ )

Reason for revert:
causes layout test to draw differently -- new drawing is more correct. Reverting until layout test ignore is landed.

Original issue's description:
> fix zero-length tangent
>
> If the end point and the control point are the same, computing
> the tangent will result in (0, 0). In this case, use the prior
> control point instead.
>
> R=reed@google.com
>
> BUG=skia:4191
>
> Committed: https://skia.googlesource.com/skia/+/7544124fb8ee744f68f549a353f8a9163cd7432d

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

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

8 years agoSpeculative valgrind fix
robertphillips [Tue, 25 Aug 2015 16:53:10 +0000 (09:53 -0700)]
Speculative valgrind fix

I wasn't able to repro locally but it seems like it has to be this.

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

8 years agofix zero-length tangent
caryclark [Tue, 25 Aug 2015 15:03:01 +0000 (08:03 -0700)]
fix zero-length tangent

If the end point and the control point are the same, computing
the tangent will result in (0, 0). In this case, use the prior
control point instead.

R=reed@google.com

BUG=skia:4191

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

8 years agoSkip scaled_tilemodes_npot on Galaxy S4
borenet [Tue, 25 Aug 2015 13:53:37 +0000 (06:53 -0700)]
Skip scaled_tilemodes_npot on Galaxy S4

It's hanging.

BUG=skia:3932

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

8 years agoAdd build targets for advanced Intel instruction sets (1.5 of 3)
mtklein [Tue, 25 Aug 2015 13:30:07 +0000 (06:30 -0700)]
Add build targets for advanced Intel instruction sets (1.5 of 3)

This is a follow-up to https://codereview.chromium.org/1290423007/,
with a couple small changes:

   - turn on AVX and AVX2 for Windows using /arch ('EnabledEnhancedInstructionSet')
   - reformat and de-conditionalize where possible / irrelevant

Picked up this while poking around in libvpx's Chrome GYPs.

And yes, AVX = 3, AVX2 = 5.  Don't even ask what 4 means...

BUG=skia:4117

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

8 years agoEnable debug builds in the Android framework
djsollen [Mon, 24 Aug 2015 21:21:23 +0000 (14:21 -0700)]
Enable debug builds in the Android framework

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

8 years agoDM: use SkBitmap::reset()
mtklein [Mon, 24 Aug 2015 21:13:29 +0000 (14:13 -0700)]
DM: use SkBitmap::reset()

BUG=skia:

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

8 years agoHave DM manually encode its .png outputs.
mtklein [Mon, 24 Aug 2015 20:27:01 +0000 (13:27 -0700)]
Have DM manually encode its .png outputs.

This eliminates some variability on various axes: different PNG encoders, different libpng versions, different formats (RGB, indexed), different unpremultiplication, different sRGB tags.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/3cc0dfffb70c0bd08ed8899efcd2e98da86a6ec7

CQ_EXTRA_TRYBOTS=client.skia:Test-Win8-MSVC-ShuttleB-CPU-AVX2-x86_64-Debug-Trybot

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

8 years agoAdd buildbot_spec info for Appurify bot
borenet [Mon, 24 Aug 2015 19:50:59 +0000 (12:50 -0700)]
Add buildbot_spec info for Appurify bot

BUG=skia:4093

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

8 years agoExplicitly friend ::SkPrivateEffectInitializer to flattenables.
mtklein [Mon, 24 Aug 2015 19:33:19 +0000 (12:33 -0700)]
Explicitly friend ::SkPrivateEffectInitializer to flattenables.

Looks like the -Wmicrosoft warnings in the bug are coming up specificically
because many the effects in SkLightingImageFilter are defined inside an
anonymous namespace (spanning, I think, lines 33-702 today).

BUG=skia:4091

No public API changes.
TBR=reed@google.com

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

8 years agoUpdate giflib to 5.1.1 (AOSP hash)
msarett [Mon, 24 Aug 2015 19:00:15 +0000 (12:00 -0700)]
Update giflib to 5.1.1 (AOSP hash)

This also disables warnings in giflib and fixes
compile warnings in icu, in order to fix a skia
bug.

BUG=skia:4220

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

8 years agoAdd build targets for advanced Intel instruction sets (1 of 3).
mtklein [Mon, 24 Aug 2015 17:32:02 +0000 (10:32 -0700)]
Add build targets for advanced Intel instruction sets (1 of 3).

CL (1 of 3) adds empty lists in our .gypi,
and builds the files in those empty lists with the appropriate flags.

CL (2 of 3) will have Chrome's GYP and GN files read these lists,
and build them with the appropriate flags.

CL (3 of 3) will add runtime detection and stub files to the lists
with empty Init_sse42(), Init_avx(), Init_avx2() methods.

After that, we should be able to use SSE 4.2, AVX, and AVX2 if desired.

Some motivation:
  - SSE 4.2 adds some sweet string-oriented methods that
    can help us write fast high quality 32-bit hashes.
  - AVX is SSE doubled, e.g. 8 floats or two SkPMFloat at a time.
  - AVX2 is SSE2 doubled, e.g. 8 pixels at a time.

BUG=skia:4117

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

8 years agoRevert of Modify GrBWFillRectBatch to use GrQuad (patchset #3 id:40001 of https:...
joshualitt [Mon, 24 Aug 2015 17:26:01 +0000 (10:26 -0700)]
Revert of Modify GrBWFillRectBatch to use GrQuad (patchset #3 id:40001 of https://codereview.chromium.org/1311793002/ )

Reason for revert:
on some bots this patch creates bad diffs

Original issue's description:
> Modify GrBWFillRectBatch to use GrQuad
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c611b5afbef6df6c02e949fdf092aab2bb7e0e2e

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

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

8 years agoModify GrBWFillRectBatch to use GrQuad
joshualitt [Mon, 24 Aug 2015 15:43:13 +0000 (08:43 -0700)]
Modify GrBWFillRectBatch to use GrQuad

BUG=skia:

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

8 years agoUpdate debugger print out of drawImageRect information
robertphillips [Mon, 24 Aug 2015 15:27:38 +0000 (08:27 -0700)]
Update debugger print out of drawImageRect information

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

8 years agoRemove unused calcPOIs with color/coverage input.
egdaniel [Mon, 24 Aug 2015 13:42:32 +0000 (06:42 -0700)]
Remove unused calcPOIs with color/coverage input.

BUG=skia:

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

8 years agoUpdate SKP version
rmistry [Sun, 23 Aug 2015 07:19:30 +0000 (00:19 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS

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

8 years agoRevert of experiment with zero-length round capped line segments (patchset #4 id...
caryclark [Fri, 21 Aug 2015 20:47:06 +0000 (13:47 -0700)]
Revert of experiment with zero-length round capped line segments (patchset #4 id:60001 of https://codereview.chromium.org/1309753002/ )

Reason for revert:
More GMs changed than I expected. Will probably affect layout tests as well; reverting until I can verify that the changes are correct.

Original issue's description:
> experiment with zero-length round capped line segments
>
> If the endcap is not butt, draw the endcaps even when the line
> has zero length.
>
> If the dash length is zero, generate a zero length line segment.
>
> Treat a move followed by a close as a move followed by a zero-length
> line.
>
> R=reed@google.com,schenney@google.com
> BUG=422974
>
> Committed: https://skia.googlesource.com/skia/+/dd3c165828fffb369d0f4b13b48381169a0249a9

TBR=reed@google.com,schenney@google.com,schenney@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=422974

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

8 years agoexperiment with zero-length round capped line segments
caryclark [Fri, 21 Aug 2015 20:27:37 +0000 (13:27 -0700)]
experiment with zero-length round capped line segments

If the endcap is not butt, draw the endcaps even when the line
has zero length.

If the dash length is zero, generate a zero length line segment.

Treat a move followed by a close as a move followed by a zero-length
line.

R=reed@google.com,schenney@google.com
BUG=422974

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

8 years agoFix for copy surface not handling dirty context
joshualitt [Fri, 21 Aug 2015 18:53:29 +0000 (11:53 -0700)]
Fix for copy surface not handling dirty context

BUG=521943

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

8 years agowire up reduced atlas and zero textblob cache to test
joshualitt [Fri, 21 Aug 2015 18:08:00 +0000 (11:08 -0700)]
wire up reduced atlas and zero textblob cache to test

BUG=skia:

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

8 years agoStandardize BW to NonAA
joshualitt [Fri, 21 Aug 2015 17:53:34 +0000 (10:53 -0700)]
Standardize BW to NonAA

TBR=bsalomon@google.com, robertphillips@google.com
BUG=skia:

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

8 years agofill rect batch refactor into separate batches
joshualitt [Fri, 21 Aug 2015 17:33:15 +0000 (10:33 -0700)]
fill rect batch refactor into separate batches

BUG=skia:

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

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

8 years agoCreate separate entry points for the various flavors of drawRect
joshualitt [Fri, 21 Aug 2015 17:25:18 +0000 (10:25 -0700)]
Create separate entry points for the various flavors of drawRect

BUG=skia:

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

8 years agoAdd instructions to authenticate for fetch.
herb [Fri, 21 Aug 2015 15:38:06 +0000 (08:38 -0700)]
Add instructions to authenticate for fetch.

BUG=skia:

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

8 years agoReturn failure if getInputResultsGPU fails in SkXfermodeImageFilter
robertphillips [Fri, 21 Aug 2015 15:24:22 +0000 (08:24 -0700)]
Return failure if getInputResultsGPU fails in SkXfermodeImageFilter

SkXfermodeImageFilter::filterImageGPU is the only call site that does anything fancy when getInputResultsGPU fails. It seems like we can just return like everyone else (for uniformity).

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

8 years agoadd old fix for iOS SampleApp
caryclark [Fri, 21 Aug 2015 15:08:07 +0000 (08:08 -0700)]
add old fix for iOS SampleApp

TBR=jvanverth@google.com
BUG=skia:3845

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

8 years agoGMs: change some GMs to use SkImage over SkBitmap
halcanary [Fri, 21 Aug 2015 14:47:23 +0000 (07:47 -0700)]
GMs: change some GMs to use SkImage over SkBitmap

Also, add GetResourceAsImage() to Resources.h

Motivation:  test drawImage() as much as we test drawBitmap()

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

8 years agoClean up ifdefs in SkGifCodec
msarett [Fri, 21 Aug 2015 13:58:43 +0000 (06:58 -0700)]
Clean up ifdefs in SkGifCodec

Since codec uses the same version of giflib everywhere,
I believe these are unnecessary.

BUG=skia:

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

8 years agoThis code should've been part of the CL that added registerChildProcessor(); without...
wangyix [Fri, 21 Aug 2015 13:56:49 +0000 (06:56 -0700)]
This code should've been part of the CL that added registerChildProcessor(); without updating fUsesLocalCoords in the parent when a child proc is registered, batching will not work properly.

BUG=skia:4182

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

8 years agoUse stencil ops that don't issue writes whenever possible
vbuzinov [Fri, 21 Aug 2015 12:24:24 +0000 (05:24 -0700)]
Use stencil ops that don't issue writes whenever possible

Minimize the number of stencil writes by using GL_KEEP whenever possible.
This can positively affect the HW performance of the stencil test.

BUG=skia:3952

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

8 years agoadd gm for image->newShader
reed [Thu, 20 Aug 2015 19:30:20 +0000 (12:30 -0700)]
add gm for image->newShader

BUG=skia:
TBR=

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

8 years agoSkCanvas::onDrawPicture() quick-reject
fmalita [Thu, 20 Aug 2015 19:08:18 +0000 (12:08 -0700)]
SkCanvas::onDrawPicture() quick-reject

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

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

8 years agoReland of Implement canComputeFastBounds() for image filters. (patchset #1 id:1 of...
senorblanco [Thu, 20 Aug 2015 18:10:41 +0000 (11:10 -0700)]
Reland of Implement canComputeFastBounds() for image filters. (patchset #1 id:1 of https://codereview.chromium.org/1300403003/ )

Reason for revert:
The Mac compile issue was fixed here: https://chromium.googlesource.com/chromium/src/+/fdd331a42ae0b9a6909a121020735161ab61c6e5

Original issue's description:
> Revert of Implement canComputeFastBounds() for image filters. (patchset #8 id:130001 of https://codereview.chromium.org/1296943002/ )
>
> Reason for revert:
> This causes a syntax error.
>
> http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/87819/steps/compile%20%28with%20patch%29/logs/stdio
>
> Original issue's description:
> > Implement canComputeFastBounds() for image filters.
> >
> > Image filters have never implemented this check, which means that
> > filters which affect transparent black falsely claim they can compute
> > their bounds.
> >
> > Implemented an affectsTransparentBlack() virtual for image
> > filters, and a similar helper function for color filters.
> >
> > This will affect the following GMs: imagefiltersscaled
> > (lighting, perlin noise now filter to clip),
> > colorfilterimagefilter (new test case), imagefiltersclipped
> > (perlin noise now filters to clip).
> >
> > Note: I de-inlined SkPaint::canComputeFastBounds() to avoid adding
> > a dependency from SkPaint.h to SkImageFilter.h.h. Skia benches show
> > no impact from this change, but will watch the perf bots carefully.
> >
> > BUG=4212
> >
> > Committed: https://skia.googlesource.com/skia/+/915881fe743f9a789037695f543bc6ea189cd0cb
>
> TBR=reed@google.com,senorblanco@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=4212
>
> Committed: https://skia.googlesource.com/skia/+/12d8472d31ea5edb636d7d5214db253570115c40

TBR=reed@google.com,herb@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=4212

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

8 years agofix override
caryclark [Thu, 20 Aug 2015 17:53:13 +0000 (10:53 -0700)]
fix override

TBR=herb@google.com

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

8 years agofix cubic clip in y
caryclark [Thu, 20 Aug 2015 17:35:43 +0000 (10:35 -0700)]
fix cubic clip in y

Follow on to https://codereview.chromium.org/1299243002/

Clip using a geometric solution if the algebraic solution
fails in Y as well as in X.

If the root finder discovers real roots that are sufficiently
far apart, the root in the range of 0..1 can contain so much
error that it is computed to be slightly smaller than 0 or
larger than 1.

In this case, binary search the mono curve for the actual
answer.

R=reed@google.com

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

8 years agoAdd ANGLE workaround to prefer flushes over VRAM usage
robertphillips [Thu, 20 Aug 2015 16:39:02 +0000 (09:39 -0700)]
Add ANGLE workaround to prefer flushes over VRAM usage

On the whole, https://codereview.chromium.org/1286203002/ (Defer flushes if kPreferNoIO is specified) improved performance but it did cause a performance regression on ANGLE. This CL disables the deferral of flushes on ANGLE until we can add a separate incremental flushing mechanism.

TBR=bsalomon@google.com

BUG=skia:4201
BUG=521529

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

8 years agoRevert of Implement canComputeFastBounds() for image filters. (patchset #8 id:130001...
herb [Thu, 20 Aug 2015 16:28:45 +0000 (09:28 -0700)]
Revert of Implement canComputeFastBounds() for image filters. (patchset #8 id:130001 of https://codereview.chromium.org/1296943002/ )

Reason for revert:
This causes a syntax error.

http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/87819/steps/compile%20%28with%20patch%29/logs/stdio

Original issue's description:
> Implement canComputeFastBounds() for image filters.
>
> Image filters have never implemented this check, which means that
> filters which affect transparent black falsely claim they can compute
> their bounds.
>
> Implemented an affectsTransparentBlack() virtual for image
> filters, and a similar helper function for color filters.
>
> This will affect the following GMs: imagefiltersscaled
> (lighting, perlin noise now filter to clip),
> colorfilterimagefilter (new test case), imagefiltersclipped
> (perlin noise now filters to clip).
>
> Note: I de-inlined SkPaint::canComputeFastBounds() to avoid adding
> a dependency from SkPaint.h to SkImageFilter.h.h. Skia benches show
> no impact from this change, but will watch the perf bots carefully.
>
> BUG=4212
>
> Committed: https://skia.googlesource.com/skia/+/915881fe743f9a789037695f543bc6ea189cd0cb

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

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

8 years agoVisualBenchTest: Write JSON output
borenet [Thu, 20 Aug 2015 16:12:39 +0000 (09:12 -0700)]
VisualBenchTest: Write JSON output

BUG=skia:4093

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

8 years agoSkImage method for detecting lazy decoding
fmalita [Thu, 20 Aug 2015 15:47:26 +0000 (08:47 -0700)]
SkImage method for detecting lazy decoding

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

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

8 years agosubdivide path when side-clipping fails
caryclark [Thu, 20 Aug 2015 15:23:52 +0000 (08:23 -0700)]
subdivide path when side-clipping fails

Please review concept; I'm OK not to check this in.

If the root finder fails, subdivide the curve and try again.
This is complicated by the reversed nature of the curves;
maybe it can be simpler, but how to do that escapes me.

R=reed@google.com
BUG=514246

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

8 years agoSkPDF: Memory improvements for PDF Streams
halcanary [Thu, 20 Aug 2015 15:09:37 +0000 (08:09 -0700)]
SkPDF: Memory improvements for PDF Streams

    ΔMEM = -15%
    ΔCPU = -7%

BUG=skia:3030

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

8 years agoIntroduce interface for memory dumps
primiano [Thu, 20 Aug 2015 15:00:32 +0000 (08:00 -0700)]
Introduce interface for memory dumps

BUG=chromium:503168

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

8 years agoUse static_assert instead of SK_COMPILE_ASSERT.
bungeman [Thu, 20 Aug 2015 14:57:51 +0000 (07:57 -0700)]
Use static_assert instead of SK_COMPILE_ASSERT.

Now that static_assert is allowed, there is no need to use a non-
standard compile time assertion

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

8 years agoImplement canComputeFastBounds() for image filters.
senorblanco [Thu, 20 Aug 2015 14:42:11 +0000 (07:42 -0700)]
Implement canComputeFastBounds() for image filters.

Image filters have never implemented this check, which means that
filters which affect transparent black falsely claim they can compute
their bounds.

Implemented an affectsTransparentBlack() virtual for image
filters, and a similar helper function for color filters.

This will affect the following GMs: imagefiltersscaled
(lighting, perlin noise now filter to clip),
colorfilterimagefilter (new test case), imagefiltersclipped
(perlin noise now filters to clip).

Note: I de-inlined SkPaint::canComputeFastBounds() to avoid adding
a dependency from SkPaint.h to SkImageFilter.h.h. Skia benches show
no impact from this change, but will watch the perf bots carefully.

BUG=4212

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

8 years agoFor a frag proc, its key will be a concatenation of all its descendant procs' keys...
wangyix [Thu, 20 Aug 2015 14:25:02 +0000 (07:25 -0700)]
For a frag proc, its key will be a concatenation of all its descendant procs' keys in postorder traversal.

BUG=skia:4182

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

8 years agoRevert "fill rect batch refactor into separate batches"
joshualitt [Thu, 20 Aug 2015 14:22:42 +0000 (07:22 -0700)]
Revert "fill rect batch refactor into separate batches"

This reverts commit ae41b3834301444cf27b8aa729b8ad36666bdc08.

TBR=bsalomon@google.com
BUG=skia:

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

8 years agoUpdate SkLightingShader to support rotation
robertphillips [Thu, 20 Aug 2015 12:15:06 +0000 (05:15 -0700)]
Update SkLightingShader to support rotation

This also:
makes the SkLightingShader handle normal maps where the rects aren't aligned between the diffuse and normal maps.

adds a light aggregating class (Lights) to SkLightingShader (along with a Builder nested class).

Split out of https://codereview.chromium.org/1261433009/ (Add SkCanvas::drawLitAtlas call)

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

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

8 years agoSkColorCubeFilter: require alpha == 0xFF.
mtklein [Thu, 20 Aug 2015 01:56:49 +0000 (18:56 -0700)]
SkColorCubeFilter: require alpha == 0xFF.

This is about a 12% improvement on my desktop, from 134 to 118ms on our bench.

BUG=skia:

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

8 years agoBug fix: we're using SkPMFloat methods on SkColor.
mtklein [Thu, 20 Aug 2015 00:06:36 +0000 (17:06 -0700)]
Bug fix: we're using SkPMFloat methods on SkColor.

Annoyingly our test bot that forces SkPMFloat_none is a Linux bot using
BGRA SkPMColors, so we'd never notice the bug there.

BUG=skia:

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

8 years agoThou shalt use override consistently.
mtklein [Wed, 19 Aug 2015 21:01:42 +0000 (14:01 -0700)]
Thou shalt use override consistently.

TBR=herb@google.com
BUG=skia:

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

8 years agoAdd asserts for shared mutex.
herb [Wed, 19 Aug 2015 20:40:12 +0000 (13:40 -0700)]
Add asserts for shared mutex.

BUG=skia:

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

8 years agoPut drawPath in GrBatch.
bsalomon [Wed, 19 Aug 2015 20:26:49 +0000 (13:26 -0700)]
Put drawPath in GrBatch.

TODO: Implement path range version of this (and preserve combining consecutive ranges).

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

8 years agoRevert "Update SkLightingShader to support rotation"
robertphillips [Wed, 19 Aug 2015 20:11:23 +0000 (13:11 -0700)]
Revert "Update SkLightingShader to support rotation"

This reverts commit 45b59ed6e4e231814dbdb9f707b3d2a7ee50de84.

TBR=herb@google.com

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

8 years agoSkPDF: Simplify PDFStream / emitObject() const
halcanary [Wed, 19 Aug 2015 19:26:46 +0000 (12:26 -0700)]
SkPDF: Simplify PDFStream / emitObject() const

Compress SkPDFStream's data on setData(), not emitObject(); no longer stateful.

SkPDFObject::emitObject is now const.  This makes it easier to reason about state.

Minimal performance gains.

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

8 years agoprivate iterator to visit all resource cache entries
reed [Wed, 19 Aug 2015 19:25:40 +0000 (12:25 -0700)]
private iterator to visit all resource cache entries

BUG=skia:
TBR=

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

8 years agoFix transformed stroke width in GrAALinearizingConvexPathRenderer.
ethannicholas [Wed, 19 Aug 2015 19:09:12 +0000 (12:09 -0700)]
Fix transformed stroke width in GrAALinearizingConvexPathRenderer.

BUG=520476

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

8 years agoAdd VisualBenchTestActivity for instrumentation-testing VisualBench
borenet [Wed, 19 Aug 2015 19:06:46 +0000 (12:06 -0700)]
Add VisualBenchTestActivity for instrumentation-testing VisualBench

BUG=skia:4093

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

8 years agoMove SkTemplates.h to private.
bungeman [Wed, 19 Aug 2015 18:56:48 +0000 (11:56 -0700)]
Move SkTemplates.h to private.

SkTemplates.h contains a number of Skia specific utilities which are
not designed for external use. In addition to reducing the external
support burden, this will allow Skia to freely refactor this file.

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

8 years agostop dropping AA when rect stays rect
joshualitt [Wed, 19 Aug 2015 18:50:51 +0000 (11:50 -0700)]
stop dropping AA when rect stays rect

BUG=skia:

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

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

8 years agochange asABitmap to isABitmap on shader
reed [Wed, 19 Aug 2015 18:46:38 +0000 (11:46 -0700)]
change asABitmap to isABitmap on shader

BUG=skia:
TBR=

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

8 years agoNo need to re-declare pure virtual name().
mtklein [Wed, 19 Aug 2015 18:05:39 +0000 (11:05 -0700)]
No need to re-declare pure virtual name().

Fixes inconsistent override warning.

BUG=skia:
TBR=bsalomon@google.com

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

8 years agoPatches on top of Radu's latest.
mtklein [Wed, 19 Aug 2015 17:39:54 +0000 (10:39 -0700)]
Patches on top of Radu's latest.

    patch from issue 1273033005 at patchset 120001 (http://crrev.com/1273033005#ps120001)

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/2d141ba2df8f7506848aa9369f502944e837cd09

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

8 years agoUpdate SkLightingShader to support rotation
robertphillips [Wed, 19 Aug 2015 17:35:14 +0000 (10:35 -0700)]
Update SkLightingShader to support rotation

This also:
makes the SkLightingShader handle normal maps where the rects aren't aligned between the diffuse and normal maps.

adds a light aggregating class (Lights) to SkLightingShader (along with a Builder nested class).

Split out of https://codereview.chromium.org/1261433009/ (Add SkCanvas::drawLitAtlas call)

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

8 years agoRevert of cast SK_ARRAY_COUNT to make it sign agnostic (patchset #1 id:1 of https...
caryclark [Wed, 19 Aug 2015 17:12:59 +0000 (10:12 -0700)]
Revert of cast SK_ARRAY_COUNT to make it sign agnostic (patchset #1 id:1 of https://codereview.chromium.org/1299943002/ )

Reason for revert:
fails on chrome build on windows

Original issue's description:
> cast SK_ARRAY_COUNT to make it sign agnostic
>
> By adding a cast to SK_ARRAY_COUNT, the compiler treats the
> compile-time value as if it were a const int, and like regular
> numbers, permits it to be compared to signed and unsigned
> numbers freely.
>
> R=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/bca86202a48b2afa527b6e40d8b360ce3bc7c2e7

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

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

8 years agounsigned -> int for counts and indices in picture-related code
mtklein [Wed, 19 Aug 2015 16:51:00 +0000 (09:51 -0700)]
unsigned -> int for counts and indices in picture-related code

also, (C)

BUG=skia:

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

8 years agoAdd rendertarget flag to prevent a debug assert in SampleApp.
senorblanco [Wed, 19 Aug 2015 16:10:28 +0000 (09:10 -0700)]
Add rendertarget flag to prevent a debug assert in SampleApp.

BUG=skia:4223

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

8 years agoCreate GrQuad
joshualitt [Wed, 19 Aug 2015 15:48:41 +0000 (08:48 -0700)]
Create GrQuad

BUG=skia:

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