platform/upstream/libSkiaSharp.git
9 years agoa few more tweaks to the webtry setup doc
humper [Mon, 6 Oct 2014 16:56:14 +0000 (09:56 -0700)]
a few more tweaks to the webtry setup doc

BUG=skia:
TBR=tfarina

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

9 years agoadd environment variable to webtry local run documentation
Greg Humphreys [Mon, 6 Oct 2014 16:33:32 +0000 (12:33 -0400)]
add environment variable to webtry local run documentation

BUG=skia:

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

9 years agoAutomatically resize the webtry text editor to fit the content
Greg Humphreys [Mon, 6 Oct 2014 16:31:42 +0000 (12:31 -0400)]
Automatically resize the webtry text editor to fit the content

BUG=skia:

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

9 years agofix webtry local run documentation
Greg Humphreys [Mon, 6 Oct 2014 16:04:40 +0000 (12:04 -0400)]
fix webtry local run documentation

BUG=skia:

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

9 years agoexperimental c api
reed [Mon, 6 Oct 2014 13:08:16 +0000 (06:08 -0700)]
experimental c api

BUG=skia:

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

9 years agoAdd GrAASmallPathRenderer.
jvanverth [Mon, 6 Oct 2014 12:59:05 +0000 (05:59 -0700)]
Add GrAASmallPathRenderer.

Uses cached signed distance fields to render scaled and rotated versions
of small paths.

BUG=skia:2935

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

9 years agoUpdate SKP version to 118
borenet [Mon, 6 Oct 2014 03:37:06 +0000 (20:37 -0700)]
Update SKP version to 118

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoUpdate SKP version to 117
borenet [Sun, 5 Oct 2014 05:19:07 +0000 (22:19 -0700)]
Update SKP version to 117

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoUpdate SKP version to 116
borenet [Sat, 4 Oct 2014 04:10:15 +0000 (21:10 -0700)]
Update SKP version to 116

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoRestart webtry to pick up changes.
tfarina [Sat, 4 Oct 2014 04:05:00 +0000 (21:05 -0700)]
Restart webtry to pick up changes.

Also add webtry.db to gitignore so it does not polute `git status`.

BUG=None
TEST=None
R=humper@google.com

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

9 years agoRun goimports through 'go' code in bug_chomper.
tfarina [Fri, 3 Oct 2014 21:25:10 +0000 (14:25 -0700)]
Run goimports through 'go' code in bug_chomper.

$ cd ~/golib
$ go get code.google.com/p/go.tools/cmd/goimports
$ cd ~/skia/tools/bug_chomper/
$ ~/golib/bin/goimports -w src/

BUG=None
TEST=None
R=borenet@google.com

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

9 years agoRemove globals from tests/CanvasTest.cpp
piotaixr [Fri, 3 Oct 2014 20:26:55 +0000 (13:26 -0700)]
Remove globals from tests/CanvasTest.cpp

BUG=skia:

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

9 years agoSpeculative revert to diagnose crash in chrome. Revert "Add SkCachedData and use...
reed [Fri, 3 Oct 2014 20:23:30 +0000 (13:23 -0700)]
Speculative revert to diagnose crash in chrome. Revert "Add SkCachedData and use it for SkMipMap"

This reverts commit 92561a0b99ad6c08ab7a11dd1872f028199392e9.

crasher in question:
https://code.google.com/p/chromium/issues/detail?id=420178

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

9 years agoremove unused TextBufferDirection enum
reed [Fri, 3 Oct 2014 19:44:37 +0000 (12:44 -0700)]
remove unused TextBufferDirection enum

BUG=skia:

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

9 years agoFix int16_t for glyphs, const glyphs, and clarify glyph loop.
bungeman [Fri, 3 Oct 2014 14:55:58 +0000 (07:55 -0700)]
Fix int16_t for glyphs, const glyphs, and clarify glyph loop.

Several places in the PDF code are using int16_t for glyphs. With
newer NotoSans fonts, all possible glyph ids are being used, so this
can lead to problems.

The PDF glyphs from text code returns the text for the glyphs if the
encoding is for glyphs. However, it returns this using an unsafe const
cast which is hiding possible bugs and preventing correct use of const
in other places.

The way the glyph loop in SkPDFDevice::drawPosText is written uses a
'--i' in the loop, which makes it appear this can loop forever. I don't
believe it can, but it is an unecessary code folding. We should also at
least assert the forward progress correctness here.

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

9 years agoReduce overdraw in MultiPictureDraw Sierpinski GM
robertphillips [Fri, 3 Oct 2014 14:29:20 +0000 (07:29 -0700)]
Reduce overdraw in MultiPictureDraw Sierpinski GM

As written, all the layers in the MPD Sierpinski GM are full screen. This CL bounds each layer to reduce overdraw.

This CL will cause differences in:

multipicturedraw_sierpinski_simple
multipicturedraw_sierpinski_tiled

but they are/will be suppressed in: (Don't turn on dither for saveLayers which have no paint - https://codereview.chromium.org/619363002/)

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

9 years agoDon't turn on dither for saveLayers which have no paint
robertphillips [Fri, 3 Oct 2014 13:53:03 +0000 (06:53 -0700)]
Don't turn on dither for saveLayers which have no paint

Only the gpu, 565 and msaa configs of GMs in ignored-tests.txt need rebaselining.

NOTRY=true

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

9 years agoAdd isSingleComponent bool to getConstantColorComponent
egdaniel [Fri, 3 Oct 2014 13:24:12 +0000 (06:24 -0700)]
Add isSingleComponent bool to getConstantColorComponent

Initial step to allowing effects to use/output 1 or 4 color/coverage components. This cl doesn't change any current logic and all effects still assume they are working with 4 components.

BUG=skia:

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

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

9 years agoabort op early if path isn't parseable
caryclark [Fri, 3 Oct 2014 12:36:27 +0000 (05:36 -0700)]
abort op early if path isn't parseable

TBR=
BUG=419649

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

9 years agoFix ref cnt'ing issue in GrProgramElement.
bsalomon [Fri, 3 Oct 2014 12:31:41 +0000 (05:31 -0700)]
Fix ref cnt'ing issue in GrProgramElement.

Drop ref on GrGpuResources when GrProgramElement loses its last ref and already has a pending execution.

BUG=skia:2889

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

9 years agoUpdate SKP version to 115
borenet [Fri, 3 Oct 2014 04:25:20 +0000 (21:25 -0700)]
Update SKP version to 115

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agomake SkMatrix::dump always available
reed [Fri, 3 Oct 2014 00:52:03 +0000 (17:52 -0700)]
make SkMatrix::dump always available

BUG=skia:
TBR=

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

9 years agoAdd SkCachedData and use it for SkMipMap
reed [Thu, 2 Oct 2014 20:47:08 +0000 (13:47 -0700)]
Add SkCachedData and use it for SkMipMap

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

9 years agoHandle getMemoryBase returning NULL in WriteTask.
bungeman [Thu, 2 Oct 2014 20:39:00 +0000 (13:39 -0700)]
Handle getMemoryBase returning NULL in WriteTask.

DM::WriteTask::fData was changed from a data to a stream in
"SkData to SkStreamAsset to avoid unneeded copying"
https://skia.googlesource.com/skia/+/a4c6094177ebde18c706cbcfbd2013d0a088e0ee
However, DM::WriteTask::draw was not updated to handle this,
resulting in segfaults when trying to write out PDF files.

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

9 years agoSave/Restore around bench runs.
mtklein [Thu, 2 Oct 2014 20:03:58 +0000 (13:03 -0700)]
Save/Restore around bench runs.

BUG=skia:

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

9 years agoUse +- 2B for unbounded draw ops.
mtklein [Thu, 2 Oct 2014 20:03:53 +0000 (13:03 -0700)]
Use +- 2B for unbounded draw ops.

This lets us skip a check inside SkTileGrid::insert().

BUG=skia:

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

9 years agocheck for newSurface failure
reed [Thu, 2 Oct 2014 19:58:48 +0000 (12:58 -0700)]
check for newSurface failure

BUG=skia:

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

9 years agospecialize setConcat for scale+translate
reed [Thu, 2 Oct 2014 19:58:43 +0000 (12:58 -0700)]
specialize setConcat for scale+translate

This reverts commit 2a382f519999109b2e3445e73ddb4f0eae926b51.

BUG=skia:

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

9 years agoRevert of Add isSingleComponent bool to getConstantColorComponent (patchset #6 id...
robertphillips [Thu, 2 Oct 2014 19:12:48 +0000 (12:12 -0700)]
Revert of Add isSingleComponent bool to getConstantColorComponent (patchset #6 id:100001 of https://codereview.chromium.org/608253002/)

Reason for revert:
Changing some GMs

Original issue's description:
> Add isSingleComponent bool to getConstantColorComponent
>
> Initial step to allowing effects to use/output 1 or 4 color/coverage components. This cl doesn't change any current logic and all effects still assume they are working with 4 components.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3b8af078281a5a20f951b9fd84f38d92b8f6217b

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

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

9 years agoRevert of GrContext::copyTexture->GrContext::copySurface. Add a flush writes pixel...
bsalomon [Thu, 2 Oct 2014 18:23:04 +0000 (11:23 -0700)]
Revert of GrContext::copyTexture->GrContext::copySurface. Add a flush writes pixel ops flag. (patchset #3 id:40001 of https://codereview.chromium.org/622663002/)

Reason for revert:
Breaking GMs on some bots

Original issue's description:
> GrContext::copyTexture->GrContext::copySurface.
>
> Add a flush writes pixel ops flag.
>
> Add an explicit flush writes for GrSurface.
>
> BUG=skia:2977
>
> Committed: https://skia.googlesource.com/skia/+/cf99b00980b6c9c557e71abf1a7c9f9b21217262

TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2977

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

9 years agoCaching the result of readPixelsSupported
piotaixr [Thu, 2 Oct 2014 17:57:53 +0000 (10:57 -0700)]
Caching the result of readPixelsSupported

The call was calling GR_GL_GetIntegerv 2 times for each readPixels
and thus was causing a loss of performance

(resubmit of issue 344793008)

Benchmark url: http://packages.gkny.fr/tst/index.html

BUG=skia:2681

Committed: https://skia.googlesource.com/skia/+/753a2964afe5661ce9b2a8ca77ca9d0aabd3173c

Committed: https://skia.googlesource.com/skia/+/8339371f1ec3c57a0741932fd96bff32c53d4e54

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

9 years agoGrContext::copyTexture->GrContext::copySurface.
bsalomon [Thu, 2 Oct 2014 17:42:24 +0000 (10:42 -0700)]
GrContext::copyTexture->GrContext::copySurface.

Add a flush writes pixel ops flag.

Add an explicit flush writes for GrSurface.

BUG=skia:2977

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

9 years agoUpdate webtry setup docs to reflect new installation procedure
humper [Thu, 2 Oct 2014 17:37:14 +0000 (10:37 -0700)]
Update webtry setup docs to reflect new installation procedure

BUG=skia:

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

9 years agofix sudo redirection in setup script
humper [Thu, 2 Oct 2014 17:36:59 +0000 (10:36 -0700)]
fix sudo redirection in setup script

BUG=skia:

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

9 years agoAdd isSingleComponent bool to getConstantColorComponent
egdaniel [Thu, 2 Oct 2014 16:57:48 +0000 (09:57 -0700)]
Add isSingleComponent bool to getConstantColorComponent

Initial step to allowing effects to use/output 1 or 4 color/coverage components. This cl doesn't change any current logic and all effects still assume they are working with 4 components.

BUG=skia:

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

9 years agoDemote getCount, getDepth, and clear to RTree-only methods.
mtklein [Thu, 2 Oct 2014 16:53:04 +0000 (09:53 -0700)]
Demote getCount, getDepth, and clear to RTree-only methods.

We use them only to test RTree.

BUG=skia:

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

9 years agoArchive more dead code.
mtklein [Thu, 2 Oct 2014 16:06:02 +0000 (09:06 -0700)]
Archive more dead code.

These classes were used by QuadTree, which has been archived (with prejudice).

BUG=skia:

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

9 years agoTileGrid: earliest need not be a pointer anymore
mtklein [Thu, 2 Oct 2014 15:50:41 +0000 (08:50 -0700)]
TileGrid: earliest need not be a pointer anymore

BUG=skia:

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

9 years agoAdd a MultiPictureDraw GM to exercise layer clipping
robertphillips [Thu, 2 Oct 2014 15:32:43 +0000 (08:32 -0700)]
Add a MultiPictureDraw GM to exercise layer clipping

This adds a "biglayer" variant that creates a picture with a single big layer. The tiling composition will test whether the layer hoisting code correctly caches the layers with their clipping information.

BUG=skia:2315

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

9 years agoBBHs: void* data -> unsigned data
mtklein [Thu, 2 Oct 2014 14:41:56 +0000 (07:41 -0700)]
BBHs: void* data -> unsigned data

Now that the old backend's not using BBHs, we can specialize them for
SkRecord's needs.  The only thing we really want to store is op index, which
should always be small enough to fit into an unsigned (unsigned also helps keep
it straight from other ints floating around).

This means we'll need half (32-bit) or a quarter (64-bit) the bytes in SkTileGrid,
because we don't have to store an extra int for ordering.

BUG=skia:2834

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

9 years agoRemove duplicated code in android_get_gl_proc.
jungjik.lee [Thu, 2 Oct 2014 12:28:32 +0000 (05:28 -0700)]
Remove duplicated code in android_get_gl_proc.

code for getting gles function pointer
has been written twice.
so this patch removes the last one.

BUG=skia:

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

9 years agoAdd blobshader GM baselines.
fmalita [Thu, 2 Oct 2014 12:00:29 +0000 (05:00 -0700)]
Add blobshader GM baselines.

TBR=robertphillips@google.com
NOTRY=true

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

9 years agoRevert of specialize setConcat for scale+translate (patchset #1 id:1 of https://coder...
robertphillips [Thu, 2 Oct 2014 11:42:55 +0000 (04:42 -0700)]
Revert of specialize setConcat for scale+translate (patchset #1 id:1 of https://codereview.chromium.org/620433002/)

Reason for revert:
Experimental to see if this revert "fixes" nanobench on the main console.

Original issue's description:
> specialize setConcat for scale+translate, helps drawText perf
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/e8db3ef2a2161084fa8eb1fd1d54c35bfff52d6c

TBR=jvanverth@google.com,reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

9 years agocomplete overhaul of webtry work partition between jail and host
humper [Wed, 1 Oct 2014 21:27:31 +0000 (14:27 -0700)]
complete overhaul of webtry work partition between jail and host

BUG=skia:

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

9 years agofix prev change to tooBigForLCD, and add test
reed [Wed, 1 Oct 2014 20:59:33 +0000 (13:59 -0700)]
fix prev change to tooBigForLCD, and add test

BUG=skia:

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

9 years agoremove suppression for gm
reed [Wed, 1 Oct 2014 19:53:53 +0000 (12:53 -0700)]
remove suppression for gm

TBR=
NOTRY=True

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

9 years agoDon't adjust the bounds after a restore with the restore's paired saveLayer's paint.
mtklein [Wed, 1 Oct 2014 19:48:58 +0000 (12:48 -0700)]
Don't adjust the bounds after a restore with the restore's paired saveLayer's paint.

It makes no sense for the paint from a saveLayer to effect anything outside its saveLayer/restore block.  But as currently written, we'll adjust the clip bounds just after a restore by that paint.

Turns out the test I wrote for the last CL (which caused this bug) actually had the bug baked into its expectations.  I've updated them and added some notes to explain.

BUG=418417

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

9 years agoadd baseline for clip_strokerect
reed [Wed, 1 Oct 2014 19:41:12 +0000 (12:41 -0700)]
add baseline for clip_strokerect

BUG=skia:
TBR=
NOTRY=True

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

9 years agobaseline new GMs
reed [Wed, 1 Oct 2014 19:18:39 +0000 (12:18 -0700)]
baseline new GMs

TBR=
NOTRY=True

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

9 years agoavoid extra math work in MackRec
reed [Wed, 1 Oct 2014 19:06:12 +0000 (12:06 -0700)]
avoid extra math work in MackRec

BUG=skia:

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

9 years agoAdd support for EGL on linux
derekf [Wed, 1 Oct 2014 17:52:52 +0000 (10:52 -0700)]
Add support for EGL on linux

Allow setting skia_egl=1 to build skia against EGL instead of GLX on unix

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

9 years agoRebaseline Unknown-Arm64 GM flakes
robertphillips [Wed, 1 Oct 2014 16:47:11 +0000 (09:47 -0700)]
Rebaseline Unknown-Arm64 GM flakes

These inconsequential changes appeared after (GrResourceCache2 manages scratch texture - https://codereview.chromium.org/608883003) but persisted even after that CL was reverted.

TBR=bsalomon@google.com
NOTRY=true

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

9 years agoRemove DEPRECATED_beginRecording().
mtklein [Wed, 1 Oct 2014 16:29:35 +0000 (09:29 -0700)]
Remove DEPRECATED_beginRecording().

This removes:
  1) ability to record old pictures with SkPictureRecorder;
  2) a couple tests specific to the old backend.

The functionality of DEPRECATED_beginRecording() now lives in
(private) SkPicture::Backport(), which is the only place we
need it now.

BUG=skia:
TBR=reed@google.com

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

9 years agoWhitespace change to test Skia's CQ
rmistry [Wed, 1 Oct 2014 16:29:17 +0000 (09:29 -0700)]
Whitespace change to test Skia's CQ

(SkipBuildbotRuns)

TBR=
BUG=skia:2973

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

9 years agoadd SkRect::joinNonEmptyArg for faster unioning
reed [Wed, 1 Oct 2014 16:24:12 +0000 (09:24 -0700)]
add SkRect::joinNonEmptyArg for faster unioning

BUG=skia:

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

9 years agoUpdate GrRecordReplaceDraw to use SkTDynamicHash & add ReplaceDraw
robertphillips [Wed, 1 Oct 2014 16:24:06 +0000 (09:24 -0700)]
Update GrRecordReplaceDraw to use SkTDynamicHash & add ReplaceDraw

Having hoisted layers from different pictures invalidates the assumptions of the old GrReplacements object. This is fixed by switching to a SkTDynamicHash-based back-end.

Sub-picture-layers also require that the replacement drawing occur for the sub-pictures too. The ReplaceDraw object is added to make this happen and limit the replacement lookup to saveLayer draw commands.

This is split out of (Fix sub-picture layer rendering bugs - https://codereview.chromium.org/597293002/).

BUG=skia:2315

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

9 years agoAdd pdf-native textblobshader GM baseline
fmalita [Wed, 1 Oct 2014 16:19:05 +0000 (09:19 -0700)]
Add pdf-native textblobshader GM baseline

BUG=skia:2983
TBR=robertphillips@google.com

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

9 years agowebtry: More README doc cleanups.
tfarina [Wed, 1 Oct 2014 16:18:57 +0000 (09:18 -0700)]
webtry: More README doc cleanups.

Puts it much more in sync with the README in perf/.

BUG=None
TEST=None
R=jcgregorio@google.com

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

9 years agoWhitespace change to test the new CQ trybot
rmistry [Wed, 1 Oct 2014 15:13:45 +0000 (08:13 -0700)]
Whitespace change to test the new CQ trybot

(SkipBuildbotRuns)

TBR=
BUG=skia:2973

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

9 years agoAdd buggy GPU baselines for MultiPictureDraw Sierpinski GM (with bug label)
robertphillips [Wed, 1 Oct 2014 15:04:28 +0000 (08:04 -0700)]
Add buggy GPU baselines for MultiPictureDraw Sierpinski GM (with bug label)

I am checking in these baseline images even though they are afflicted by a bug (skia:2979).

NOTRY=true
NOTREECHECKS=true
BUG=skia:2979
TBR=jvanverth@google.com

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

9 years agoNew baselines for image=surface gm
Justin Novosad [Wed, 1 Oct 2014 14:29:16 +0000 (10:29 -0400)]
New baselines for image=surface gm

TBR=robertphillips@google.com
BUG=skia:

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

9 years agooptimize setRectFan and join -- from profiling drawText
reed [Wed, 1 Oct 2014 14:21:23 +0000 (07:21 -0700)]
optimize setRectFan and join -- from profiling drawText

BUG=skia:
NOTREECHECKS=True
NOTRY=True

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

9 years agoAdd 8888 & 565 baselines for multipicturedraw Sierpinski GM
robertphillips [Wed, 1 Oct 2014 12:33:25 +0000 (05:33 -0700)]
Add 8888 & 565 baselines for multipicturedraw Sierpinski GM

TBR=jvanverth@google.com
NOTRY=true
NOTREECHECKS=true

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

9 years agoArchive more dead code.
mtklein [Tue, 30 Sep 2014 22:22:06 +0000 (15:22 -0700)]
Archive more dead code.

BUG=skia:
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

9 years agoStrip old backend recording down to essentials
mtklein [Tue, 30 Sep 2014 21:47:10 +0000 (14:47 -0700)]
Strip old backend recording down to essentials

Feature-wise, this removes:
  1) BBH support;
  2) peephole optimizations;
  3) record-time text op specializations;
  4) the guarantee that SkPaints are flattened.

This deletes the optimizations GM, which only exists to test the peepholes of
the old backend.  SkRecord optimizations are unit tested, and if that ever fails we
can think about adding another GM like this, but they're different enough we'd
want to start from scratch anyway.

We need to keep the code that plays back the specialized text ops around for
a while for compatibility with existing .SKPs that have those ops recorded.

BUG=skia:

CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot
R=robertphillips@google.com, reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

9 years agoMake "priv" classes for GrTexure and GrSurface.
bsalomon [Tue, 30 Sep 2014 19:18:44 +0000 (12:18 -0700)]
Make "priv" classes for GrTexure and GrSurface.

R=robertphillips@google.com, egdaniel@google.com, joshualitt@google.com

Author: bsalomon@google.com

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

9 years agoClean up SK_PICTURE_USE_SK_RECORD and SK_PICTURE_OPTIMIZE_SK_RECORD.
mtklein [Tue, 30 Sep 2014 18:43:53 +0000 (11:43 -0700)]
Clean up SK_PICTURE_USE_SK_RECORD and SK_PICTURE_OPTIMIZE_SK_RECORD.

This folds the code through as if they were defined, which is the explicit
state in both our build and Chrome's.

This leaves the EXPERIMENTAL_ and DEPRECATED_ hooks in to be cleaned up or
privatized later.

CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot

BUG=skia:
R=reed@google.com, robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

9 years agoAllow previously-hoisted layers to be reused in the same draw
robertphillips [Tue, 30 Sep 2014 18:33:02 +0000 (11:33 -0700)]
Allow previously-hoisted layers to be reused in the same draw

In the Sierpinkski test case there are only a few layers appear in the "to be drawn" lists but they those layers get reused a lot of times with different transforms. This CL adds an additional category to allow such layers to be placed in the GrReplacements object without needing to be rendered.

This is split out of (Fix sub-picture layer rendering bugs - https://codereview.chromium.org/597293002/)

BUG=skia:2315
R=bsalomon@google.com

Author: robertphillips@google.com

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

9 years agoRemove support for SkPicture::clone().
mtklein [Tue, 30 Sep 2014 18:14:38 +0000 (11:14 -0700)]
Remove support for SkPicture::clone().

This folds SK_SUPPORT_LEGACY_PICTURE_CLONE through as undefined.

Chrome's not used clone() for a month or two, and we don't use it ourselves.
Don't think Android ever did.

CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot

BUG=skia:
R=reed@google.com, mtklein@google.com, robertphillips@google.com

Author: mtklein@chromium.org

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

9 years agoremove obsolete code for SK_SUPPORT_LEGACY_IMAGEGENERATORAPI
reed [Tue, 30 Sep 2014 17:15:32 +0000 (10:15 -0700)]
remove obsolete code for SK_SUPPORT_LEGACY_IMAGEGENERATORAPI

BUG=skia:
R=reed@google.com

Author: reed@chromium.org

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

9 years agowebtry: Only create sqlite3 tables if they don't exist yet.
tfarina [Tue, 30 Sep 2014 15:17:10 +0000 (08:17 -0700)]
webtry: Only create sqlite3 tables if they don't exist yet.

Otherwise it will through an error like the following:

2014/09/28 21:22:24 Info: status creating sqlite table for sources:
"table source_images already exists"
2014/09/28 21:22:24 Info: status creating sqlite table for webtry:
"table webtry already exists"
2014/09/28 21:22:24 Info: status creating sqlite table for workspace:
"table workspace already exists"
2014/09/28 21:22:24 Info: status creating sqlite table for workspace
try: "table workspacetry already exists"

To test locally the following was done:

$ ./gyp_skia gyp/webtry.gyp gyp/most.gyp -Dskia_gpu=0
$ ninja -C out/Debug webtry
$ cd experimental/webtry
$ go get -d
$ go build webtry.go
$ ./webtry
$ google-chrome http://localhost:8000

Expected: see no more the above messages.

BUG=None
TEST=see above
R=stephana@google.com, jcgregorio@google.com

Author: tfarina@chromium.org

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

9 years agoArchive SkFloat
mtklein [Tue, 30 Sep 2014 15:08:59 +0000 (08:08 -0700)]
Archive SkFloat

https://crrev.com/610153002/ reminded me that it existed, but it's entirely
unused and made moot by hardware FP.  Might as well trim a few K off libskia.

BUG=skia:
R=reed@google.com, mtklein@google.com, tfarina@chromium.org

Author: mtklein@chromium.org

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

9 years agospecialize setConcat for scale+translate, helps drawText perf
reed [Tue, 30 Sep 2014 14:24:46 +0000 (07:24 -0700)]
specialize setConcat for scale+translate, helps drawText perf

BUG=skia:
R=jvanverth@google.com

Author: reed@google.com

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

9 years agoRevert of Make "priv" classes for GrTexure and GrSurface. (patchset #9 id:260001...
robertphillips [Tue, 30 Sep 2014 13:58:20 +0000 (06:58 -0700)]
Revert of Make "priv" classes for GrTexure and GrSurface. (patchset #9 id:260001 of https://codereview.chromium.org/596053002/)

Reason for revert:
Breaking the Chrome builds with:

 lib/libcc.so: error: undefined reference to 'GrAutoScratchTexture::detach()'

(http://108.170.220.120:10117/builders/Canary-Chrome-Ubuntu13.10-Ninja-x86_64-DRT/builds/2990/steps/Retry_BuildContentShell_1/logs/stdio)

Original issue's description:
> Make "priv" classes for GrTexure and GrSurface.

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

Author: robertphillips@google.com

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

9 years agoRevert of GrResourceCache2 manages scratch texture. (patchset #14 id:260001 of https...
robertphillips [Tue, 30 Sep 2014 13:54:17 +0000 (06:54 -0700)]
Revert of GrResourceCache2 manages scratch texture. (patchset #14 id:260001 of https://codereview.chromium.org/608883003/)

Reason for revert:
Turning bots red:
Nanobench seems to be uniformly failing on Android
(http://108.170.220.21:10117/builders/Perf-Android-Venue8-PowerVR-x86-Release/builds/99/steps/RunNanobench/logs/stdio)

Ubuntu GTX660 32bit is failing in both Debug and Release on GM generation (it appears to be out of memory) (http://108.170.220.120:10117/builders/Test-Ubuntu12-ShuttleA-GTX660-x86-Debug/builds/2457/steps/GenerateGMs/logs/stdio)

Original issue's description:
> GrResourceCache2 manages scratch texture.
>
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3d398c876440deaab39bbf2a9b881c337e6dc8d4

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

Author: robertphillips@google.com

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

9 years agoGrResourceCache2 manages scratch texture.
bsalomon [Tue, 30 Sep 2014 13:02:23 +0000 (06:02 -0700)]
GrResourceCache2 manages scratch texture.

BUG=skia:
R=robertphillips@google.com

Author: bsalomon@google.com

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

9 years agoMake "priv" classes for GrTexure and GrSurface.
bsalomon [Mon, 29 Sep 2014 21:20:11 +0000 (14:20 -0700)]
Make "priv" classes for GrTexure and GrSurface.

R=robertphillips@google.com, egdaniel@google.com, joshualitt@google.com, joshualitt@chromium.org

Author: bsalomon@google.com

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

9 years agoremove alphatype from colortable
reed [Mon, 29 Sep 2014 19:10:27 +0000 (12:10 -0700)]
remove alphatype from colortable

the owning bitmap is (already) responsible for knowing the alphatype

BUG=skia:
R=djsollen@google.com

Author: reed@google.com

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

9 years agoallow caller to override the default output directory for gyp
humper [Mon, 29 Sep 2014 18:42:25 +0000 (11:42 -0700)]
allow caller to override the default output directory for gyp

BUG=skia:
R=jcgregorio@google.com

Author: humper@google.com

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

9 years agoMove offset and CTM from LayerCache Key to per-hoisted-layer info
robertphillips [Mon, 29 Sep 2014 18:39:38 +0000 (11:39 -0700)]
Move offset and CTM from LayerCache Key to per-hoisted-layer info

This CL reduces the amount of information used in the layer cache key:
- the stop value isn't needed since the start value uniquely identifies the layer in the picture.
- only the upper-left 2x2 portion of the CTM should be used as a key for looking up cached layers.
- individual layers can be redraw in different locations so the final offset cannot be a part of the key.

Since this data is no longer stored in the cached layer, but is still required to draw the cached layer, it is now stored in the per-layer information (i.e., HoistedLayer).

This is split out of (Fix sub-picture layer rendering bugs - https://codereview.chromium.org/597293002/).

BUG=skia:2315
R=egdaniel@google.com

Author: robertphillips@google.com

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

9 years agoRebaselining Win7 image failures (textblob, verttext2)
robertphillips [Mon, 29 Sep 2014 18:17:58 +0000 (11:17 -0700)]
Rebaselining Win7 image failures (textblob, verttext2)

Rebaselining these for now and see if they recur.

R=borenet@google.com
TBR=borenet@google.com

BUG=skia:2956

Author: robertphillips@google.com

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

9 years agoMake writeRenderTargetPixels use draw buffer rather than GrGpu
bsalomon [Mon, 29 Sep 2014 18:01:58 +0000 (11:01 -0700)]
Make writeRenderTargetPixels use draw buffer rather than GrGpu

R=robertphillips@google.com

Author: bsalomon@google.com

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

9 years agoFix some references to non-existant polyfill directory.
tfarina [Mon, 29 Sep 2014 17:50:59 +0000 (10:50 -0700)]
Fix some references to non-existant polyfill directory.

Looks like the name of the directory is "poly" rather than "polyfill".

BUG=None
TEST=None
R=humper@google.com, jcgregorio@google.com

Author: tfarina@chromium.org

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

9 years agoMention 'go get' command in the README file.
tfarina [Mon, 29 Sep 2014 17:50:29 +0000 (10:50 -0700)]
Mention 'go get' command in the README file.

This is necessary to build webtry.go as it imports packages from
github.com

BUG=None
TEST=follow the README instructions
R=humper@google.com, jcgregorio@google.com

Author: tfarina@chromium.org

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

9 years agoApplying post-commit comments from https://codereview.chromium.org/607993002/
junov [Mon, 29 Sep 2014 17:18:59 +0000 (10:18 -0700)]
Applying post-commit comments from https://codereview.chromium.org/607993002/

BUG=skia:
R=robertphillips@google.com

Author: junov@chromium.org

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

9 years agoTemp fix for crash when generating 16-bit cache for colorTables.
djsollen [Mon, 29 Sep 2014 15:57:49 +0000 (08:57 -0700)]
Temp fix for crash when generating 16-bit cache for colorTables.

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

Author: djsollen@google.com

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

9 years agoOverride drawImage*() in SkNWayCanvas
piotaixr [Mon, 29 Sep 2014 15:56:19 +0000 (08:56 -0700)]
Override drawImage*() in SkNWayCanvas

BUG=skia:2947
R=junov@chromium.org, reed@google.com, bsalomon@chromium.org

Author: piotaixr@chromium.org

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

9 years agoDon't test the old picture backend anymore.
mtklein [Mon, 29 Sep 2014 15:44:46 +0000 (08:44 -0700)]
Don't test the old picture backend anymore.

This saves a bunch of CPU time in DM, and even better, lets us tear it down!

BUG=skia:
R=robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

9 years agowebtry database has more than one table.
tfarina [Mon, 29 Sep 2014 15:16:11 +0000 (08:16 -0700)]
webtry database has more than one table.

Fix the wording in the DESIGN doc. Currently it says "the only table" as
implying the database has just a single table.

That is not true, the webtry database has four tables: webtry,
workspace, workspacetry and source_images.

BUG=None
TEST=None
R=jcgregorio@google.com

Author: tfarina@chromium.org

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

9 years agoSanitize SkMatrixConvolutionImageFilter creation params.
senorblanco [Mon, 29 Sep 2014 14:57:20 +0000 (07:57 -0700)]
Sanitize SkMatrixConvolutionImageFilter creation params.

Apply the same memory limit in the Create() function that we do when
deserializing.

R=reed@google.com

Author: senorblanco@chromium.org

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

9 years agorun the webtry build script instead of using go build
humper [Mon, 29 Sep 2014 14:40:41 +0000 (07:40 -0700)]
run the webtry build script instead of using go build

BUG=skia:
R=jcgregorio@google.com

Author: humper@google.com

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

9 years agofail on extremely large coincident curves
caryclark [Mon, 29 Sep 2014 13:58:41 +0000 (06:58 -0700)]
fail on extremely large coincident curves

TBR=
BUG=418381

Author: caryclark@google.com

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

9 years agoRevert of Revert of Fix SkTextBlob offset semantics. (patchset #1 id:1 of https:...
fmalita [Mon, 29 Sep 2014 13:29:53 +0000 (06:29 -0700)]
Revert of Revert of Fix SkTextBlob offset semantics. (patchset #1 id:1 of https://codereview.chromium.org/609223003/)

Reason for revert:
Re-landing: Chromium-side fix to be landed with the roll (https://codereview.chromium.org/607853003/)

Original issue's description:
> Revert of Fix SkTextBlob offset semantics. (patchset #2 id:20001 of https://codereview.chromium.org/605533002/)
>
> Reason for revert:
> Breaking the Chrome builds with the error:
>
> [14:54:14.317833] ../../skia/ext/pixel_ref_utils.cc:221:16: error: 'drawPosText' marked 'override' but does not override any member functions
> [14:54:14.318022]   virtual void drawPosText(const SkDraw& draw,
> [14:54:14.318082]                ^
>
> Original issue's description:
> > Fix SkTextBlob offset semantics.
> >
> > Implement proper x/y drawTextBlob() handling by plumbing a
> > drawPosText() offset parameter (to act as an additional glyph pos
> > translation) throughout the device layer.
> >
> > The new offset superceeds the existing constY, with a minor semantic
> > tweak: whereas previous implementations were ignoring constY in 2D
> > positioning mode (scalarsPerGlyph == 2), now the offset is always
> > observed, in all positioning modes. We can do this because existing
> > drawPosText() clients always pass constY == 0 for full positioning mode.
> >
> > R=reed@google.com, jvanverth@google.com, robertphillips@google.com
> >
> > Committed: https://skia.googlesource.com/skia/+/c13bc571d3e61a43b87eb97f0719abd304cafaf2
>
> TBR=jvanverth@google.com,reed@google.com,bsalomon@google.com,fmalita@chromium.org
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/d46b8d2bab7cfba8458432248e1568ac377429e9

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

Author: fmalita@chromium.org

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

9 years agoUpdate RecordReplaceDrawTest to generate and pass pictures
robertphillips [Mon, 29 Sep 2014 12:32:49 +0000 (05:32 -0700)]
Update RecordReplaceDrawTest to generate and pass pictures

This CL splits the unit test changes out of (Fix sub-picture layer rendering bugs - https://codereview.chromium.org/597293002/).

For various reasons GrRecordReplaceDraw now needs to take an SkPicture (rather than an SkRecord and a BBH).

R=egdaniel@google.com, bsalomon@google.com

Author: robertphillips@google.com

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

9 years agoAlways force the bounds of the empty pathref.
mtklein [Mon, 29 Sep 2014 12:27:59 +0000 (05:27 -0700)]
Always force the bounds of the empty pathref.

Chrome's TSAN bots are seeing various races on the bounds of the empty
path ref, and it's a simple fix to just force them on creation.  In
fact, we used to do this for this very reason, but for some reason it
looks like I decided it wasn't necessary.  Maybe not, but it certainly
doesn't hurt, and it's nice to keep TSAN happy.

Reminder to self: merge this into M39 branch too.

BUG=418299
R=fmalita@chromium.org, robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

9 years agoMake pictures in multipicturedraw GM fit in 0,0..W,H range
robertphillips [Mon, 29 Sep 2014 12:07:39 +0000 (05:07 -0700)]
Make pictures in multipicturedraw GM fit in 0,0..W,H range

Having the picture contents not actually reside in the 0,0..W,H range wrecks havoc with the layer hoisting. The hoisting works correctly but since the picture don't fulfill their contract the results look incorrect.

This CL just translates the picture's contents to the right so they are within the picture bound.

R=egdaniel@google.com

Author: robertphillips@google.com

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

9 years agoRevert of Fix SkTextBlob offset semantics. (patchset #2 id:20001 of https://coderevie...
robertphillips [Mon, 29 Sep 2014 11:48:52 +0000 (04:48 -0700)]
Revert of Fix SkTextBlob offset semantics. (patchset #2 id:20001 of https://codereview.chromium.org/605533002/)

Reason for revert:
Breaking the Chrome builds with the error:

[14:54:14.317833] ../../skia/ext/pixel_ref_utils.cc:221:16: error: 'drawPosText' marked 'override' but does not override any member functions
[14:54:14.318022]   virtual void drawPosText(const SkDraw& draw,
[14:54:14.318082]                ^

Original issue's description:
> Fix SkTextBlob offset semantics.
>
> Implement proper x/y drawTextBlob() handling by plumbing a
> drawPosText() offset parameter (to act as an additional glyph pos
> translation) throughout the device layer.
>
> The new offset superceeds the existing constY, with a minor semantic
> tweak: whereas previous implementations were ignoring constY in 2D
> positioning mode (scalarsPerGlyph == 2), now the offset is always
> observed, in all positioning modes. We can do this because existing
> drawPosText() clients always pass constY == 0 for full positioning mode.
>
> R=reed@google.com, jvanverth@google.com, robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/c13bc571d3e61a43b87eb97f0719abd304cafaf2

R=jvanverth@google.com, reed@google.com, bsalomon@google.com, fmalita@chromium.org
TBR=bsalomon@google.com, fmalita@chromium.org, jvanverth@google.com, reed@google.com
NOTREECHECKS=true
NOTRY=true

Author: robertphillips@google.com

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

9 years agoAdding test suppression for image-surface GM
Justin Novosad [Fri, 26 Sep 2014 21:41:28 +0000 (17:41 -0400)]
Adding test suppression for image-surface GM

Test needs to be rebaselined on gpu

TBR=bsalomon

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

9 years agoChange GrContext::copyTexture to go through GrDrawTarget
junov [Fri, 26 Sep 2014 20:09:47 +0000 (13:09 -0700)]
Change GrContext::copyTexture to go through GrDrawTarget

BUG=crbug.com/415100
R=bsalomon@google.com, robertphillips@google.com

Author: junov@chromium.org

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

9 years agoSkMatrix44::preserves2dAxisAlignment()
tomhudson [Fri, 26 Sep 2014 18:45:48 +0000 (11:45 -0700)]
SkMatrix44::preserves2dAxisAlignment()

Convenience function requested for Chrome compositor that may have a performance
advantage.

BUG=skia:1017
R=reed@google.com, danakj@chromium.org, vollick@chromium.org

Author: tomhudson@google.com

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