platform/upstream/libSkiaSharp.git
9 years agoThis replaces the texture creation/caching functions on GrContext with a GrTexturePro...
bsalomon [Thu, 30 Apr 2015 21:18:54 +0000 (14:18 -0700)]
This replaces the texture creation/caching functions on GrContext with a GrTextureProvider interface. The goal is to pass this narrowly focused object in places that currently take a GrContext but don't need and shouldn't use its other methods. It also has an extended private interface for interacting with non-texture resource types.

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

9 years agoMove resource fonts to common location.
bungeman [Thu, 30 Apr 2015 21:12:58 +0000 (17:12 -0400)]
Move resource fonts to common location.

Move resource fonts to resources/fonts, add a destortable font for
testing, and clean up how the tests create fonts from resources.

R=joshualitt@google.com

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

9 years agoSimple CL to Compute bounds in GrContext::drawVertices
joshualitt [Thu, 30 Apr 2015 21:03:02 +0000 (14:03 -0700)]
Simple CL to Compute bounds in GrContext::drawVertices

BUG=skia:

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

9 years agoAdd batch unit tests for ovals
joshualitt [Thu, 30 Apr 2015 20:49:27 +0000 (13:49 -0700)]
Add batch unit tests for ovals

BUG=skia:

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

9 years agoadd heuristic to pour small pictures into recordings, rather than ref'ing
reed [Thu, 30 Apr 2015 20:09:24 +0000 (13:09 -0700)]
add heuristic to pour small pictures into recordings, rather than ref'ing

BUG=skia:

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

9 years agoMake SkAutoTDelete's operator T*() const, like all the others.
mtklein [Thu, 30 Apr 2015 19:06:19 +0000 (12:06 -0700)]
Make SkAutoTDelete's operator T*() const, like all the others.

BUG=skia:

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

9 years agoFix gpu memory accounting for auto-resolving MSAA.
senorblanco [Thu, 30 Apr 2015 19:06:10 +0000 (12:06 -0700)]
Fix gpu memory accounting for auto-resolving MSAA.

BUG=skia:

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

9 years agoUpdate SKP version
skia.buildbots [Thu, 30 Apr 2015 17:59:13 +0000 (10:59 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=
NOTREECHECKS=true

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

9 years agoAdd missing include to SkPictureContentInfo.
mtklein [Thu, 30 Apr 2015 16:15:44 +0000 (09:15 -0700)]
Add missing include to SkPictureContentInfo.

BUG=skia:

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

9 years agosimple cleanup in GrTargetCommands
joshualitt [Thu, 30 Apr 2015 16:05:54 +0000 (09:05 -0700)]
simple cleanup in GrTargetCommands

BUG=skia:

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

9 years agoFix for texture allocation failure in 'preAbandonGpuContext' mode
robertphillips [Thu, 30 Apr 2015 15:55:06 +0000 (08:55 -0700)]
Fix for texture allocation failure in 'preAbandonGpuContext' mode

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

9 years agouse pathops utils to improve precision of cubic chopping in scan converter
reed [Thu, 30 Apr 2015 14:47:13 +0000 (07:47 -0700)]
use pathops utils to improve precision of cubic chopping in scan converter

BUG=skia:

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

9 years agoFix build warning: 'this' pointer cannot be null in well-defined C++ code; comparison...
dongseong.hwang [Thu, 30 Apr 2015 14:47:05 +0000 (07:47 -0700)]
Fix build warning: 'this' pointer cannot be null in well-defined C++ code; comparison may be assumed to always evaluate to true [-Wtautological-undefined-compare]

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

9 years agoLooks like rssPages * pageSize is overflowing on 32-bit Linux...
mtklein [Thu, 30 Apr 2015 14:35:27 +0000 (07:35 -0700)]
Looks like rssPages * pageSize is overflowing on 32-bit Linux...

... resulting in apparently negative memory usage:

  (-2040/2058MB  5867) 1.81s    serialize-8888 skp  top25desk_google_com_calendar_.skp

Turns out long is 32-bit there, long long is 64-bit.

NOTREECHECKS=true

BUG=skia:

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

9 years agoDM+nanobench: print both current and max RSS.
mtklein [Thu, 30 Apr 2015 14:11:22 +0000 (07:11 -0700)]
DM+nanobench: print both current and max RSS.

out/Debug/dm:
    ( 360/380 MB  2112) 396ms   gpu gm  xfermodes

out/Release/nanobench:
    32/33  MB 1659    2.46µs  2.55µs  2.54µs  2.67µs  2%  ▄▄▄▅▅▃▂▁▂█  gpu gradient_conicalZero_clamp_hicolor

out/Debug/nanobench:
    42/42  MB   desk_css3gradients.skp_1    8888

BUG=skia:

NOTREECHECKS=true

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

9 years agoFix build warning: reference cannot be bound to dereferenced null pointer in well...
dongseong.hwang [Thu, 30 Apr 2015 12:53:27 +0000 (05:53 -0700)]
Fix build warning: reference cannot be bound to dereferenced null pointer in well-defined C++ code; comparison may be assumed to always evaluate to true [-Wtautological-undefined-compare]

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

9 years agoUpdate SKP version
skia.buildbots [Thu, 30 Apr 2015 12:19:38 +0000 (05:19 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoCheck for NULL familyName in SkFontMgr_fontconfig.
bungeman [Wed, 29 Apr 2015 21:35:49 +0000 (14:35 -0700)]
Check for NULL familyName in SkFontMgr_fontconfig.

If the familyName is NULL, don't bother spending time trying to add
it to the FcPattern.

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

9 years agoUse texture barriers to read directly from the RT
cdalton [Wed, 29 Apr 2015 21:17:00 +0000 (14:17 -0700)]
Use texture barriers to read directly from the RT

Updates GrXferProcessor to read directly from the RT texture when
texture barriers are supported and it needs to know the dst color.
Also adds the notion of an Xfer barrier and uses it to issue texture
barriers when the XP will read the RT.

BUG=skia:

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

9 years agoUse colorfilter instead of imagefilter when possible
reed [Wed, 29 Apr 2015 19:18:57 +0000 (12:18 -0700)]
Use colorfilter instead of imagefilter when possible

needs https://codereview.chromium.org/1115713003 to land first in chrome

BUG=skia:

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

9 years agoMake XPFragmentBuilder only Builder with access to DstCopy.
egdaniel [Wed, 29 Apr 2015 18:54:42 +0000 (11:54 -0700)]
Make XPFragmentBuilder only Builder with access to DstCopy.
Plus a bunch of renaming.

BUG=skia:

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

9 years agoFontConfig character/lang match requires weak family.
bungeman [Wed, 29 Apr 2015 18:32:57 +0000 (11:32 -0700)]
FontConfig character/lang match requires weak family.

In FontConfig the normal priority order of matches is character, family,
language; however family can be marked as weak which changes the order to
character, language, family. This is what is desired in
matchFamilyStyleCharacter.

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

9 years agoAdd dash lines batch unit test
joshualitt [Wed, 29 Apr 2015 18:32:05 +0000 (11:32 -0700)]
Add dash lines batch unit test

BUG=skia:

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

9 years agoPull out shader-specific caps into GrShaderCaps and GrGLSLCaps
jvanverth [Wed, 29 Apr 2015 18:18:05 +0000 (11:18 -0700)]
Pull out shader-specific caps into GrShaderCaps and GrGLSLCaps

BUG=skia:

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

9 years agoHandpick 16 Skia page sets to create SP enabled SKPs from
rmistry [Wed, 29 Apr 2015 17:15:07 +0000 (10:15 -0700)]
Handpick 16 Skia page sets to create SP enabled SKPs from

Context is in: https://code.google.com/p/skia/issues/detail?id=3763#c18

NOTRY=true
BUG=skia:3763

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

9 years agoFix double blend in GrAAConvexPathRenderer
cdalton [Wed, 29 Apr 2015 17:14:03 +0000 (10:14 -0700)]
Fix double blend in GrAAConvexPathRenderer

Updates GrAAConvexPathRenderer to not draw the interior fan of a
convex path when it does not exist (i.e when segment count <= 2).

TODO: We should also detect and combine colinear segments in order to
make sure we catch every case.

BUG=skia:

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

9 years agoInitial CL to create GrBatchTest infrastructure
joshualitt [Wed, 29 Apr 2015 17:01:22 +0000 (10:01 -0700)]
Initial CL to create GrBatchTest infrastructure

BUG=skia:

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

9 years agoonCreateDevice -> NULL now means the caller should create its own (bitmap) device
reed [Wed, 29 Apr 2015 15:34:00 +0000 (08:34 -0700)]
onCreateDevice -> NULL now means the caller should create its own (bitmap) device

BUG=skia:

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

9 years agominor fixes to cubics code and overall alignment of how bounds and tops are computed...
caryclark [Wed, 29 Apr 2015 15:28:30 +0000 (08:28 -0700)]
minor fixes to cubics code and overall alignment of how bounds and tops are computed for all curve types

All but 17 extended tests work.

A helper function is privately added to SkPath.h to permit a test to modify a given point in a path.

BUG=skia:3588

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

9 years agoImplementing a scanline decoder for jpeg
msarett [Wed, 29 Apr 2015 15:17:15 +0000 (08:17 -0700)]
Implementing a scanline decoder for jpeg

BUG=skia:3257

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

9 years agoStraighten out SkPicture::AccelData APIs.
mtklein [Wed, 29 Apr 2015 15:16:50 +0000 (08:16 -0700)]
Straighten out SkPicture::AccelData APIs.

Must have been we needed them to be weird (mutable, const setter) before.
It doesn't look like that's necessary now... we can just pass it to the
constructor.

BUG=skia:

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

9 years agoRemove system call in DW for default font.
bungeman [Wed, 29 Apr 2015 15:15:31 +0000 (08:15 -0700)]
Remove system call in DW for default font.

The last user of the GDI default font in DW is
onMatchFamilyStyleCharacter and it doesn't appear to actually need
to use it. This change removes a system call, making things a bit
faster, as well as eliminating a call blocked in the sandbox.

BUG=chromium:459056

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

9 years agoRequires a minor API change to pass the color table to getScanlineDecoder, as we...
msarett [Wed, 29 Apr 2015 14:38:43 +0000 (07:38 -0700)]
Requires a minor API change to pass the color table to getScanlineDecoder, as we do with getPixels().

BUG=skia:3722

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

9 years agoCreate SP enabled SKPs from only the top_25_smooth page set.
rmistry [Wed, 29 Apr 2015 14:26:33 +0000 (07:26 -0700)]
Create SP enabled SKPs from only the top_25_smooth page set.

Context is here: https://code.google.com/p/skia/issues/detail?id=3763#c14

BUG=skia:3763
NOTRY=true

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

9 years agoRemove unneeded features from GrBufferAllocPool
bsalomon [Wed, 29 Apr 2015 11:33:52 +0000 (04:33 -0700)]
Remove unneeded features from GrBufferAllocPool

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

9 years agoPass dashing info from drawPath to Gr side
kkinnunen [Wed, 29 Apr 2015 05:19:25 +0000 (22:19 -0700)]
Pass dashing info from drawPath to Gr side

Pass dashing info also from drawPath calls to gpu path rendering code.
Previously dashing info was preserved only for fast-pathed drawRects and
such.

This enables path renderers to see dashing info for arbitrary paths.

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

9 years agoSkRWBuffer for thread-safe 'stream' sharing
reed [Wed, 29 Apr 2015 00:50:31 +0000 (17:50 -0700)]
SkRWBuffer for thread-safe 'stream' sharing

WIP
- Can accumulate (write) data in one thread, and share snapshots of it in other threads
  ... e.g. network accumulates image data, and periodically we want to decode/draw it
- If this sort of thing sticks, should we promote SkData to have the same generality as
  SkRBuffer?

BUG=skia:
TBR=

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

9 years agoRemove GrFlushToGpuDrawTarget and move functionality up to GrDrawTarget.
bsalomon [Tue, 28 Apr 2015 20:35:17 +0000 (13:35 -0700)]
Remove GrFlushToGpuDrawTarget and move functionality up to GrDrawTarget.

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

9 years agocreate GrTestUtils.h, move some common functions into it
joshualitt [Tue, 28 Apr 2015 20:31:18 +0000 (13:31 -0700)]
create GrTestUtils.h, move some common functions into it

BUG=skia:

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

9 years agodoc: add quickstart to linux and macos
halcanary [Tue, 28 Apr 2015 20:06:54 +0000 (13:06 -0700)]
doc: add quickstart to linux and macos

also, better install_deps

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

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

9 years agoRemove useless SkASSERT in SkRect.h and SkRegion.h
dongseong.hwang [Tue, 28 Apr 2015 19:47:48 +0000 (12:47 -0700)]
Remove useless SkASSERT in SkRect.h and SkRegion.h

The pointer of reference is always not-null. It causes >50k lines of warnning when chromium is compiled by clang.
Warning looks like
../../third_party/skia/include/core/SkRect.h:284:19: warning: reference cannot be bound to dereferenced null pointer in well-defined C++ code; pointer may be assumed to always convert to true [-Wundefined-bool-conversion]
    do { if (&r) break; SkNO_RETURN_HINT(); SkDebugf_FileLine("../../third_party/skia/include/core/SkRect.h", 284, false, "%s:%d: failed assertion \"%s\"\n", "../../third_party/skia/include/core/SkRect.h", 284, "&r"); SkDebugf_FileLine("../../third_party/skia/include/core/SkRect.h", 284, true, "SK_CRASH"); } while (false);

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

9 years agoDo circular clipping in normalized space
bsalomon [Tue, 28 Apr 2015 19:43:01 +0000 (12:43 -0700)]
Do circular clipping in normalized space

BUG=skia:426217

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

9 years agoFix SkTDynamicHash.h:183:29: warning: equality comparison with extraneous parentheses...
dongseong.hwang [Tue, 28 Apr 2015 19:26:52 +0000 (12:26 -0700)]
Fix SkTDynamicHash.h:183:29: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

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

9 years agoUpdate documentation for "COMMIT=false".
rmistry [Tue, 28 Apr 2015 17:28:13 +0000 (10:28 -0700)]
Update documentation for "COMMIT=false".

The meaning of "COMMIT=false" was changed in https://code.google.com/p/chromium/issues/detail?id=470609.
I have also updated the corresponding Chromium documentation in https://sites.google.com/a/chromium.org/dev/developers/testing/commit-queue

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

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

9 years agoRun DM on GalaxyS* in one thread
borenet [Tue, 28 Apr 2015 16:54:55 +0000 (09:54 -0700)]
Run DM on GalaxyS* in one thread

Drive-by cleanup of Xoom

BUG=skia:3214

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

9 years agoRevert of removing equality / compute invariant loops from GrGeometryProcessors ...
joshualitt [Tue, 28 Apr 2015 16:17:05 +0000 (09:17 -0700)]
Revert of removing equality / compute invariant loops from GrGeometryProcessors (patchset #2 id:20001 of https://codereview.chromium.org/1111603004/)

Reason for revert:
breaks gl programs

Original issue's description:
> removing equality / compute invariant loops from GrGeometryProcessors
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/ef292a0901205b9785a30daae2c036aa34a970ca

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

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

9 years agoremoving equality / compute invariant loops from GrGeometryProcessors
joshualitt [Tue, 28 Apr 2015 16:08:28 +0000 (09:08 -0700)]
removing equality / compute invariant loops from GrGeometryProcessors

BUG=skia:

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

9 years agoUse GLSLCaps for creating processor keys and GLSL-specific programs
jvanverth [Tue, 28 Apr 2015 15:48:20 +0000 (08:48 -0700)]
Use GLSLCaps for creating processor keys and GLSL-specific programs

Effectively all this does is future-proof any GLSL-specific code, as
GLSLCaps is just a typedef of GLCaps.

BUG=skia:

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

9 years agoUpdate RecreateSKPs bot to also generate Slimming Paint SKPs with a separate prefix.
rmistry [Tue, 28 Apr 2015 15:27:19 +0000 (08:27 -0700)]
Update RecreateSKPs bot to also generate Slimming Paint SKPs with a separate prefix.

Will only be committed after I get the go head in skia:3763.

BUG=skia:3763
NOTRY=true

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

9 years agoFix memory deletion error in "convex-lineonly-paths" GM
robertphillips [Tue, 28 Apr 2015 15:13:51 +0000 (08:13 -0700)]
Fix memory deletion error in "convex-lineonly-paths" GM

TBR=humper@google.com

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

9 years agoDecrement SkCanvas::fDeferredSaveCount in doSave()
fmalita [Tue, 28 Apr 2015 15:08:57 +0000 (08:08 -0700)]
Decrement SkCanvas::fDeferredSaveCount in doSave()

We're currently decrementing early in checkForDeferredSave(), but that
means we break the getSaveCount() invariant during willSave() dispatch.

Instead, we can defer to doSave(), until after willSave() is called.
This allows overriders to call getSaveCount().

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

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

9 years agoRemove vertex/index buffer factilities from GrDrawTarget.
bsalomon [Tue, 28 Apr 2015 15:08:46 +0000 (08:08 -0700)]
Remove vertex/index buffer factilities from GrDrawTarget.

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

9 years agoAdd new GM/bench for line-only convex paths
robertphillips [Tue, 28 Apr 2015 14:42:04 +0000 (07:42 -0700)]
Add new GM/bench for line-only convex paths

BUG=472723

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

9 years agoremove old text contexts and fontcache
joshualitt [Tue, 28 Apr 2015 14:04:11 +0000 (07:04 -0700)]
remove old text contexts and fontcache

BUG=skia:

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

9 years agoSkPDF: clean up uses of deprecated calls in SkPDFDevice.
halcanary [Tue, 28 Apr 2015 13:21:01 +0000 (06:21 -0700)]
SkPDF: clean up uses of deprecated calls in SkPDFDevice.

Clean up reference count handling to avoid churn and follow pattern used elsewhere in SkPDF.

BUG=skia:3585

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

9 years agoUpdate more directories under src/ to follow C++11 style rule for {virtual,override}.
tfarina [Tue, 28 Apr 2015 00:18:28 +0000 (17:18 -0700)]
Update more directories under src/ to follow C++11 style rule for {virtual,override}.

The Google style guide states that only one of {virtual,override,final}
should be used for each declaration, since override implies virtual and
final implies both virtual and override.

The entries were found using the following command line:

$ find src/ -iname "*.h" -o -iname "*.cpp" | xargs pcregrep -M
"[^\n/]+virtual\ [^;{]+\ [a-zA-Z0-9_]+\([^;{]+\ override[ \n]*[;{]"

The regex was a courtesy of nick@chromium.org

BUG=None
R=mtklein@google.com

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

9 years agoDe-proc Color32
mtklein [Mon, 27 Apr 2015 22:11:01 +0000 (15:11 -0700)]
De-proc Color32

Also strips SK_SUPPORT_LEGACY_COLOR32_MATH,
which is no longer needed.

Seems handy to have SkTypes include the relevant intrinsics when
we know we've got them, but I'm not married to it.

Locally this looks like a pointlessly small perf win, but I'm mostly
keen to get all the code together.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/376e9bc206b69d9190f38dfebb132a8769bbd72b

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

CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-Mips-Debug-Android-Trybot

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

9 years agoRevert of De-proc Color32 (patchset #5 id:80001 of https://codereview.chromium.org...
mtklein [Mon, 27 Apr 2015 21:51:16 +0000 (14:51 -0700)]
Revert of De-proc Color32 (patchset #5 id:80001 of https://codereview.chromium.org/1104183004/)

Reason for revert:
duh

Original issue's description:
> De-proc Color32
>
> Also strips SK_SUPPORT_LEGACY_COLOR32_MATH,
> which is no longer needed.
>
> Seems handy to have SkTypes include the relevant intrinsics when
> we know we've got them, but I'm not married to it.
>
> Locally this looks like a pointlessly small perf win, but I'm mostly
> keen to get all the code together.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/376e9bc206b69d9190f38dfebb132a8769bbd72b
>
> Committed: https://skia.googlesource.com/skia/+/d65dc0cedd5b50dd407b6ff8fdc39123f11511cc

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

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

9 years agoDe-proc Color32
mtklein [Mon, 27 Apr 2015 21:47:22 +0000 (14:47 -0700)]
De-proc Color32

Also strips SK_SUPPORT_LEGACY_COLOR32_MATH,
which is no longer needed.

Seems handy to have SkTypes include the relevant intrinsics when
we know we've got them, but I'm not married to it.

Locally this looks like a pointlessly small perf win, but I'm mostly
keen to get all the code together.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/376e9bc206b69d9190f38dfebb132a8769bbd72b

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

9 years agoSplit rsqrt into rsqrt{0,1,2}, with increasing cost and precision on ARM
mtklein [Mon, 27 Apr 2015 21:22:32 +0000 (14:22 -0700)]
Split rsqrt into rsqrt{0,1,2}, with increasing cost and precision on ARM

This is a logical no-op.  Everything was using the equivalent of rsqrt1() before, and is now after.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/9de16283fdc8cc0d31a84f503578d0ecea4e8297

CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-Arm64-Debug-Android-Trybot

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

9 years agoRevert of De-proc Color32 (patchset #4 id:60001 of https://codereview.chromium.org...
mtklein [Mon, 27 Apr 2015 21:17:37 +0000 (14:17 -0700)]
Revert of De-proc Color32 (patchset #4 id:60001 of https://codereview.chromium.org/1104183004/)

Reason for revert:
MIPS

Original issue's description:
> De-proc Color32
>
> Also strips SK_SUPPORT_LEGACY_COLOR32_MATH,
> which is no longer needed.
>
> Seems handy to have SkTypes include the relevant intrinsics when
> we know we've got them, but I'm not married to it.
>
> Locally this looks like a pointlessly small perf win, but I'm mostly
> keen to get all the code together.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/376e9bc206b69d9190f38dfebb132a8769bbd72b

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

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

9 years agoDe-proc Color32
mtklein [Mon, 27 Apr 2015 21:14:16 +0000 (14:14 -0700)]
De-proc Color32

Also strips SK_SUPPORT_LEGACY_COLOR32_MATH,
which is no longer needed.

Seems handy to have SkTypes include the relevant intrinsics when
we know we've got them, but I'm not married to it.

Locally this looks like a pointlessly small perf win, but I'm mostly
keen to get all the code together.

BUG=skia:

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

9 years agoSkPDF: clean up uses of deprecated calls in other SkPDF classes
halcanary [Mon, 27 Apr 2015 21:00:09 +0000 (14:00 -0700)]
SkPDF: clean up uses of deprecated calls in other SkPDF classes

BUG=skia:3585

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

9 years agoRevert of Split rsqrt into rsqrt{0,1,2}, with increasing cost and precision on ARM...
mtklein [Mon, 27 Apr 2015 20:55:53 +0000 (13:55 -0700)]
Revert of Split rsqrt into rsqrt{0,1,2}, with increasing cost and precision on ARM (patchset #2 id:20001 of https://codereview.chromium.org/1109913002/)

Reason for revert:
arm64 typos

Original issue's description:
> Split rsqrt into rsqrt{0,1,2}, with increasing cost and precision on ARM
>
> This is a logical no-op.  Everything was using the equivalent of rsqrt1() before, and is now after.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/9de16283fdc8cc0d31a84f503578d0ecea4e8297

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

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

9 years agoSplit rsqrt into rsqrt{0,1,2}, with increasing cost and precision on ARM
mtklein [Mon, 27 Apr 2015 20:51:28 +0000 (13:51 -0700)]
Split rsqrt into rsqrt{0,1,2}, with increasing cost and precision on ARM

This is a logical no-op.  Everything was using the equivalent of rsqrt1() before, and is now after.

BUG=skia:

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

9 years agoAdd presentations section and pathops file for test
hcm [Mon, 27 Apr 2015 19:44:40 +0000 (12:44 -0700)]
Add presentations section and pathops file for test

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

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

9 years agoMike's radial gradient CL with better float -> int.
mtklein [Mon, 27 Apr 2015 19:08:01 +0000 (12:08 -0700)]
Mike's radial gradient CL with better float -> int.

patch from issue 1072303005 at patchset 40001 (http://crrev.com/1072303005#ps40001)

This looks quite launchable.  radial_gradient3, min of 100 samples:
  N5:  985µs -> 946µs
  MBP: 395µs -> 279µs

On my MBP, most of the meat looks like it's now in reading the cache and writing to dst one color at a time.  Is that something we could do in float math rather than with a lookup table?

BUG=skia:

CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.8-Clang-Arm7-Debug-Android-Trybot,Build-Ubuntu-GCC-Arm7-Release-Android_NoNeon-Trybot

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

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

9 years agoIn this CL we stop closing batches prematurely, and only close immediately before...
joshualitt [Mon, 27 Apr 2015 19:03:05 +0000 (12:03 -0700)]
In this CL we stop closing batches prematurely, and only close immediately before a flush.

BUG=skia:

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

Committed: https://skia.googlesource.com/skia/+/9e830ead85e544924344b01436c44cfb09fcf177

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

9 years agoRevert of Stop closing batch prematurely (patchset #4 id:60001 of https://codereview...
joshualitt [Mon, 27 Apr 2015 18:42:30 +0000 (11:42 -0700)]
Revert of Stop closing batch prematurely (patchset #4 id:60001 of https://codereview.chromium.org/1092403002/)

Reason for revert:
really does break windows bots

Original issue's description:
> In this CL we stop closing batches prematurely, and only close immediately before a flush.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/db3ce12c810ead7b76faa784e7293197aca0d9f1
>
> Committed: https://skia.googlesource.com/skia/+/9e830ead85e544924344b01436c44cfb09fcf177

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

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

9 years agoIn this CL we stop closing batches prematurely, and only close immediately before...
joshualitt [Mon, 27 Apr 2015 18:29:09 +0000 (11:29 -0700)]
In this CL we stop closing batches prematurely, and only close immediately before a flush.

BUG=skia:

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

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

9 years agoRevert of Mike's radial gradient CL with better float -> int. (patchset #7 id:120001...
mtklein [Mon, 27 Apr 2015 18:21:16 +0000 (11:21 -0700)]
Revert of Mike's radial gradient CL with better float -> int. (patchset #7 id:120001 of https://codereview.chromium.org/1109643002/)

Reason for revert:
compile failures.

Original issue's description:
> Mike's radial gradient CL with better float -> int.
>
> patch from issue 1072303005 at patchset 40001 (http://crrev.com/1072303005#ps40001)
>
> This looks quite launchable.  radial_gradient3, min of 100 samples:
>   N5:  985µs -> 946µs
>   MBP: 395µs -> 279µs
>
> On my MBP, most of the meat looks like it's now in reading the cache and writing to dst one color at a time.  Is that something we could do in float math rather than with a lookup table?
>
> BUG=skia:
>
> CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Debug-Trybot,Test-Android-GCC-Nexus9-CPU-Denver-Arm64-Debug-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/abf6c5cf95e921fae59efb487480e5b5081cf0ec

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

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

9 years agoRevert of Stop closing batch prematurely (patchset #4 id:60001 of https://codereview...
joshualitt [Mon, 27 Apr 2015 18:19:33 +0000 (11:19 -0700)]
Revert of Stop closing batch prematurely (patchset #4 id:60001 of https://codereview.chromium.org/1092403002/)

Reason for revert:
breaking windows bots

Original issue's description:
> In this CL we stop closing batches prematurely, and only close immediately before a flush.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/db3ce12c810ead7b76faa784e7293197aca0d9f1

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

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

9 years agoMike's radial gradient CL with better float -> int.
mtklein [Mon, 27 Apr 2015 18:13:53 +0000 (11:13 -0700)]
Mike's radial gradient CL with better float -> int.

patch from issue 1072303005 at patchset 40001 (http://crrev.com/1072303005#ps40001)

This looks quite launchable.  radial_gradient3, min of 100 samples:
  N5:  985µs -> 946µs
  MBP: 395µs -> 279µs

On my MBP, most of the meat looks like it's now in reading the cache and writing to dst one color at a time.  Is that something we could do in float math rather than with a lookup table?

BUG=skia:

CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Debug-Trybot,Test-Android-GCC-Nexus9-CPU-Denver-Arm64-Debug-Trybot

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

9 years agoMake Skia for Android libjpeg use ashmem
msarett [Mon, 27 Apr 2015 17:57:22 +0000 (10:57 -0700)]
Make Skia for Android libjpeg use ashmem

BUG=skia:1282

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

9 years agoIn this CL we stop closing batches prematurely, and only close immediately before...
joshualitt [Mon, 27 Apr 2015 17:43:19 +0000 (10:43 -0700)]
In this CL we stop closing batches prematurely, and only close immediately before a flush.

BUG=skia:

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

9 years agoRemove legacy NVPR support
jvanverth [Mon, 27 Apr 2015 17:36:27 +0000 (10:36 -0700)]
Remove legacy NVPR support

BUG=skia:

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

9 years agoMake non-AA hairline stroke rects snap to pixels centers so they close.
bsalomon [Mon, 27 Apr 2015 17:07:04 +0000 (10:07 -0700)]
Make non-AA hairline stroke rects snap to pixels centers so they close.

BUG=skia:3717

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

9 years agofix a bug in scrolling BitmapText gpu cached textblobs
joshualitt [Mon, 27 Apr 2015 16:36:55 +0000 (09:36 -0700)]
fix a bug in scrolling BitmapText gpu cached textblobs

BUG=skia:

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

9 years agoChange to add zoom animations to nanobench
joshualitt [Mon, 27 Apr 2015 16:16:57 +0000 (09:16 -0700)]
Change to add zoom animations to nanobench

BUG=skia:

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

9 years agoReduce ref counting in SkPictureRecorder.
mtklein [Mon, 27 Apr 2015 15:54:23 +0000 (08:54 -0700)]
Reduce ref counting in SkPictureRecorder.

This may be a small help to slimming paint:

  picture_overhead_draw 1.25us -> 1.22us    0.98x
  picture_overhead_nodraw    318ns ->  276ns    0.87x

It certainly cannot hurt performance.

BUG=chromium:470553

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

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

9 years agoAdd source-data sharding to DM.
mtklein [Mon, 27 Apr 2015 15:45:01 +0000 (08:45 -0700)]
Add source-data sharding to DM.

E.g.  out/Debug/dm --shards 4 --shard 1

This shards all inputs, GMs, SKPs, tests, etc.

BUG=skia:

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

9 years agoReduce sizeof(SkPicture::Analysis) from 24 bytes to 2 bytes.
jbroman [Mon, 27 Apr 2015 14:55:33 +0000 (07:55 -0700)]
Reduce sizeof(SkPicture::Analysis) from 24 bytes to 2 bytes.

This saves "up to" 22 bytes per SkPicture.

Due to alignment, this reduces sizeof(SkPicture):
- from 88 to 72 bytes on Linux x64
- from 68 to 48 bytes on Android
(with Chrome's build settings)

It also somewhat simplifies the GPU veto logic.

BUG=skia:

[mtklein] No public API changes.
TBR=reed@google.com

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

9 years agoUpdate more directories under src/ to follow C++11 style rule for {virtual,override}.
tfarina [Mon, 27 Apr 2015 14:53:07 +0000 (07:53 -0700)]
Update more directories under src/ to follow C++11 style rule for {virtual,override}.

The Google style guide states that only one of {virtual,override,final}
should be used for each declaration, since override implies virtual and
final implies both virtual and override.

The entries were found using the following command line:

$ find src/ -iname "*.h" -o -iname "*.cpp" | xargs pcregrep -M
"[^\n/]+virtual\ [^;{]+\ [a-zA-Z0-9_]+\([^;{]+\ override[ \n]*[;{]"

The regex was a courtesy of nick@chromium.org

BUG=None
R=mtklein@google.com
NOPRESUBMIT=true

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

9 years agoCleanup: Remove unnecessary double-semicolons.
tfarina [Mon, 27 Apr 2015 14:01:44 +0000 (07:01 -0700)]
Cleanup: Remove unnecessary double-semicolons.

The entries were found by the following command line:

$ find . -regex ".*\.[cChH]\(pp\)?" | xargs git grep -e ';;' --and --not
-e 'for *(.*;;'

Which is a combination of http://stackoverflow.com/a/3858879 and
http://gitster.livejournal.com/27674.html

BUG=None
R=mtklein@google.com

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

9 years agodm||nanobench --help looks nice when $COLUMNS == 80.
halcanary [Mon, 27 Apr 2015 13:41:35 +0000 (06:41 -0700)]
dm||nanobench --help looks nice when $COLUMNS == 80.

Also, add to --config help message

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

9 years agofix valgrind
caryclark [Mon, 27 Apr 2015 12:39:33 +0000 (05:39 -0700)]
fix valgrind

TBR=mtklein@google.com
BUG=skia:

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

9 years agoExtract gpu line dashing to GrDashLinePathRenderer
kkinnunen [Mon, 27 Apr 2015 06:18:49 +0000 (23:18 -0700)]
Extract gpu line dashing to GrDashLinePathRenderer

Move line dashing logic from GrContext::drawPath to
GrDashLinePathRenderer. This makes it possible to let path renderers render arbitrary dashed paths.

End goal is to implement dashing in GrStencilAndCoverPathRenderer.

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

9 years agoUpdate SKP version
skia.buildbots [Sun, 26 Apr 2015 08:10:31 +0000 (01:10 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoUpdate {virtual,override} to follow C++11 style in src/utils.
tfarina [Sat, 25 Apr 2015 19:59:44 +0000 (12:59 -0700)]
Update {virtual,override} to follow C++11 style in src/utils.

The Google style guide states that only one of {virtual,override,final}
should be used for each declaration, since override implies virtual
and final implies both virtual and override.

The entries were found using the following command line:

$ find src/utils -iname "*.h" -o -iname "*.cpp" | xargs pcregrep -M
"[^\n/]+virtual\ [^;{]+\ [a-zA-Z0-9_]+\([^;{]+\ override[ \n]*[;{]"

The regex was a courtesy of nick@chromium.org

BUG=None
R=mtklein@google.com

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

9 years agoSkPDF: Refactor SkPDFObject heiararchy.
halcanary [Sat, 25 Apr 2015 13:45:07 +0000 (06:45 -0700)]
SkPDF: Refactor SkPDFObject heiararchy.

Flatten and use a tagged union type

        Δmemory ~= -2.4% ± 0.5%
        Δtime   ~= -1.2% ± 0.2%

BUG=skia:3585

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

9 years agofix for GrBatchAtlas valgrind error
joshualitt [Sat, 25 Apr 2015 01:47:11 +0000 (18:47 -0700)]
fix for GrBatchAtlas valgrind error

TBR=bsalomon@google.com
BUG=skia:

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

9 years agosync-and-gyp script: fix to work in MSYS shell
halcanary [Fri, 24 Apr 2015 21:33:06 +0000 (14:33 -0700)]
sync-and-gyp script: fix to work in MSYS shell

NOTRY=true
TBR=scroggo@google.com

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

9 years agoUpdate {virtual,override} to follow C++11 style in src/fonts.
tfarina [Fri, 24 Apr 2015 21:25:33 +0000 (14:25 -0700)]
Update {virtual,override} to follow C++11 style in src/fonts.

The Google style guide states that only one of {virtual,override,final}
should be used for each declaration, since override implies virtual and
final implies both virtual and override.

The entries were found using the following command line:

$ find src/fonts -iname "*.h" -o -iname "*.cpp" | xargs pcregrep -M
"[^\n/]+virtual\ [^;{]+\ [a-zA-Z0-9_]+\([^;{]+\ override[ \n]*[;{]"

The regex was a courtesy of nick@chromium.org

BUG=None
R=mtklein@google.com

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

9 years agoUpdate {virtual,override} to follow C++11 style in src/pipe.
tfarina [Fri, 24 Apr 2015 20:12:44 +0000 (13:12 -0700)]
Update {virtual,override} to follow C++11 style in src/pipe.

The Google style guide states that only one of {virtual,override,final}
should be used for each declaration, since override implies virtual and
final implies both virtual and override.

The entries were found using the following command line:

$ find src/pipe -iname "*.h" -or -iname "*.cpp" | xargs pcregrep -M
"[^\n/]+virtual\ [^;{]+\ [a-zA-Z0-9_]+\([^;{]+\ override[ \n]*[;{]"

The regex was a courtesy of nick@chromium.org

BUG=None
R=mtklein@google.com

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

9 years agoDo not crash nanobench in debug mode
msarett [Fri, 24 Apr 2015 18:41:55 +0000 (11:41 -0700)]
Do not crash nanobench in debug mode

Instead print an error message

BUG=skia:

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

9 years agoFix some lingering typos
robertphillips [Fri, 24 Apr 2015 18:10:51 +0000 (11:10 -0700)]
Fix some lingering typos

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

9 years agoRevert of Remove validation exceptions in GrGLInterface. These are all now set by...
bsalomon [Fri, 24 Apr 2015 18:08:25 +0000 (11:08 -0700)]
Revert of Remove validation exceptions in GrGLInterface. These are all now set by Chromium. (patchset #1 id:1 of https://codereview.chromium.org/1100413003/)

Reason for revert:
Crashing bots

Original issue's description:
> Remove validation exceptions in GrGLInterface. These are all now set by Chromium.
>
> Committed: https://skia.googlesource.com/skia/+/42d9f35a8daf7f24ba542ba3783ec46fd965ef2f

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

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

9 years agosimple fix for preabandon valgrind error
joshualitt [Fri, 24 Apr 2015 16:57:12 +0000 (09:57 -0700)]
simple fix for preabandon valgrind error

TBR=bsalomon@google.com
BUG=skia:

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

9 years agofix multiple intersection logic
caryclark [Fri, 24 Apr 2015 16:08:57 +0000 (09:08 -0700)]
fix multiple intersection logic

When three or more curves intersect at the same point, ensure that
each curve records the intersections of the others. This fixes a
number of cubic tests.

TBR=reed@google.com
BUG=skia:3588

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

9 years agofix for using too much memory in GrBatchAtlas
joshualitt [Fri, 24 Apr 2015 15:33:21 +0000 (08:33 -0700)]
fix for using too much memory in GrBatchAtlas

BUG=skia:

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