platform/upstream/libSkiaSharp.git
9 years agoRemove SkPaint dirty bits.
mtklein [Thu, 25 Sep 2014 18:57:53 +0000 (11:57 -0700)]
Remove SkPaint dirty bits.

fDirtyBits is only used by SkPaint::FlatteningTraits, which in turn was
only used as a smaller, faster format to flatten paints in-memory to dedup
them in the old picture backend.

SkRecord obsoleted all this.  Neither flatten()/unflatten() (disk format)
nor FlatteningTraits is used anywhere performance or size matters.

Here I revert the deduping code back to using the disk format for flattened paints.
We stil do have to flatten and unflatten paints while coverting from SkRecord
backend to the old backend, so we can't just delete this all yet, but any
faithful round trip flatten()/unflatten() pair will be fine, however slow.

NOTRY=true

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

Author: mtklein@chromium.org

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

9 years agoSkCanvas::drawImage is the new way for drawing a SkImage to a Canvas
piotaixr [Wed, 24 Sep 2014 20:03:30 +0000 (13:03 -0700)]
SkCanvas::drawImage is the new way for drawing a SkImage to a Canvas

BUG=skia:2947

Committed: https://skia.googlesource.com/skia/+/432789972c1e1f8a66165c75a250dba1853efa08

R=junov@chromium.org, reed@google.com, bsalomon@google.com

Author: piotaixr@chromium.org

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

9 years agoFix SkXfermode deserialization.
senorblanco [Wed, 24 Sep 2014 18:09:38 +0000 (11:09 -0700)]
Fix SkXfermode deserialization.

Validation was failing due to an inverted test condition.

BUG=417266
R=reed@google.com

Author: senorblanco@chromium.org

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

9 years agoCorrect glyph with non-bmp from typeface on Mac.
bungeman [Wed, 24 Sep 2014 18:04:41 +0000 (11:04 -0700)]
Correct glyph with non-bmp from typeface on Mac.

CTFontGetGlyphsForChars puts the glyph id at the index of the lead
surrogate as is documented in comments, but the code is looking at
the index of the trail surrogate.

BUG=skia:2960
R=mtklein@google.com

Author: bungeman@google.com

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

9 years agoRevert of SkCanvas::drawImage is the new way for drawing an SkImage to a Canvas ...
borenet [Wed, 24 Sep 2014 18:03:35 +0000 (11:03 -0700)]
Revert of SkCanvas::drawImage is the new way for drawing an SkImage to a Canvas (patchset #9 id:160001 of https://codereview.chromium.org/583453002/)

Reason for revert:
Broke ChromiumOS Ozone builder: http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Ozone%20Builder/builds/4087/steps/compile/logs/stdio

Reverting to unblock DEPS roll.

Original issue's description:
> SkCanvas::drawImage is the new way for drawing a SkImage to a Canvas
>
> BUG=skia:2947
>
> Committed: https://skia.googlesource.com/skia/+/432789972c1e1f8a66165c75a250dba1853efa08

R=junov@chromium.org, reed@google.com, bsalomon@google.com, piotaixr@chromium.org
TBR=bsalomon@google.com, junov@chromium.org, piotaixr@chromium.org, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2947

Author: borenet@google.com

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

9 years agoUse OptDrawState instead of DrawState when flushing state in GrGpuGL
egdaniel [Wed, 24 Sep 2014 17:30:12 +0000 (10:30 -0700)]
Use OptDrawState instead of DrawState when flushing state in GrGpuGL

BUG=skia:
R=bsalomon@google.com, joshualitt@google.com

Author: egdaniel@google.com

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

9 years agoSwap iteration order in TileGrid::insert().
mtklein [Wed, 24 Sep 2014 15:59:37 +0000 (08:59 -0700)]
Swap iteration order in TileGrid::insert().

Was looking at performance here (it's the record hotspot) and noticed we
iterate through the grid out of order.  This is a tiny little thing, but it's
probably orthogonal to any other performance improvements we'll make in here.

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

Author: mtklein@chromium.org

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

9 years agoUpdate layer hoisting code to correctly render sub-picture layers
robertphillips [Wed, 24 Sep 2014 15:52:18 +0000 (08:52 -0700)]
Update layer hoisting code to correctly render sub-picture layers

The prior code assumed all layers came from a single picture.

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

Author: robertphillips@google.com

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

9 years agoRevert "Use draw buffer for texture copy impl."
Brian Salomon [Wed, 24 Sep 2014 15:41:24 +0000 (11:41 -0400)]
Revert "Use draw buffer for texture copy impl."

This reverts commit e3d4bf234a04e14b6b0f33e11b3e1132b560c145.

Conflicts:
src/gpu/GrContext.cpp

9 years agoHave nanobench --verbose mode always just print integer nanoseconds.
mtklein [Wed, 24 Sep 2014 13:34:09 +0000 (06:34 -0700)]
Have nanobench --verbose mode always just print integer nanoseconds.

Don't know that anyone but me is using this.  Speak up now!

BUG=skia:

NOTREECHECKS=true
R=mtklein@google.com, tfarina@chromium.org

Author: mtklein@chromium.org

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

9 years agoRevert "Add support for EGL on linux"
borenet [Wed, 24 Sep 2014 12:31:07 +0000 (05:31 -0700)]
Revert "Add support for EGL on linux"

This reverts commit 1cea736c3280b6f0553e3eaa598e41370b305b57.

Caused segfaults on all Android devices

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

Author: borenet@google.com

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

9 years agoUpdate SKP version to 110
borenet [Wed, 24 Sep 2014 04:22:12 +0000 (21:22 -0700)]
Update SKP version to 110

Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

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

9 years agoAdd support for EGL on linux
derekf [Tue, 23 Sep 2014 22:17:36 +0000 (15:17 -0700)]
Add support for EGL on linux

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

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

Author: derekf@osg.samsung.com

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

9 years agoSkCanvas::drawImage is the new way for drawing a SkImage to a Canvas
piotaixr [Tue, 23 Sep 2014 21:10:50 +0000 (14:10 -0700)]
SkCanvas::drawImage is the new way for drawing a SkImage to a Canvas

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

Author: piotaixr@chromium.org

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

9 years agoWe need to adjust the bounds of clip ops with SaveLayer paints too.
Mike Klein [Tue, 23 Sep 2014 19:28:38 +0000 (15:28 -0400)]
We need to adjust the bounds of clip ops with SaveLayer paints too.

Before this CL, SkRecord only adjusted the bounds of draw ops for SaveLayers' paints.
That worked fine, but as a final step we intersect the bounds of draw ops with the
bounds of the current clip, essentially undoing all that work.

I think the right fix here is to also adjust the bounds of the clip ops.

BUG=skia:2957, 415468
R=robertphillips@google.com

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

9 years agoRemove unused fRequiresVertexShader data member from OptDrawState
egdaniel [Tue, 23 Sep 2014 18:04:54 +0000 (11:04 -0700)]
Remove unused fRequiresVertexShader data member from OptDrawState

BUG=skia:
R=jvanverth@google.com

Author: egdaniel@google.com

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

9 years agoPatch to create a distinct geometry processor. The vast majority of this patch
joshualitt [Tue, 23 Sep 2014 16:50:21 +0000 (09:50 -0700)]
Patch to create a distinct geometry processor.  The vast majority of this patch
is just a rename.  The meat is in GrGeometryProcessor, GrProcessor,
GrGL*Processor, GrProcessorStage, Gr*BackendProcessorFactory,
GrProcessUnitTestFactory, and the builders

BUG=skia:
R=bsalomon@google.com

Author: joshualitt@chromium.org

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

9 years agoRemove underscores from mode identifiers.
mtklein [Tue, 23 Sep 2014 16:20:13 +0000 (09:20 -0700)]
Remove underscores from mode identifiers.

Underscore is used as a field separator sometimes when parsing the task
name into a list of config, mode, etc.  (This itself is dumb and TODO(mtklein): fix.)
Underscores in the field names will really mess that up, both in directories generated
from human-mode -w, and in the .json file.

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

Author: mtklein@chromium.org

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

9 years agoUse draw buffer for texture copy impl.
bsalomon [Tue, 23 Sep 2014 16:15:03 +0000 (09:15 -0700)]
Use draw buffer for texture copy impl.

R=robertphillips@google.com

Author: bsalomon@google.com

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

9 years agoUse uniform color/coverage inputs when path rendering.
bsalomon [Tue, 23 Sep 2014 15:19:00 +0000 (08:19 -0700)]
Use uniform color/coverage inputs when path rendering.

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

Author: bsalomon@google.com

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

9 years agoFix inputCoverageIsUsed bug in GrGLProgramDesc
egdaniel [Tue, 23 Sep 2014 15:14:13 +0000 (08:14 -0700)]
Fix inputCoverageIsUsed bug in GrGLProgramDesc

BUG=skia:
R=joshualitt@chromium.org

Author: egdaniel@google.com

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

9 years agoAdding support for GL_CHROMIUM_copy_texture, part 1
junov [Tue, 23 Sep 2014 14:30:09 +0000 (07:30 -0700)]
Adding support for GL_CHROMIUM_copy_texture, part 1

Part 1 of 2. This change just adds the gl API entrypoint
so that the chromium/ganesh bindings can set it. Once
the chromium part is landed, we will add full support for
the extension

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

Author: junov@chromium.org

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

9 years agoUpdate SKP version to 109
borenet [Tue, 23 Sep 2014 04:33:08 +0000 (21:33 -0700)]
Update SKP version to 109

Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

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

9 years agoFix SDF font positions when using global scale.
jvanverth [Mon, 22 Sep 2014 21:26:53 +0000 (14:26 -0700)]
Fix SDF font positions when using global scale.

Also fixes a crash in the dftext GM when using SampleApp,
and adds new test case in dftext.

BUG=skia:2928
R=joshualitt@google.com, egdaniel@google.com

Author: jvanverth@google.com

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

9 years agoCalculate Primary and Secondary output types in the GrOptDrawState
egdaniel [Mon, 22 Sep 2014 20:17:02 +0000 (13:17 -0700)]
Calculate Primary and Secondary output types in the GrOptDrawState

Follow up CL to https://codereview.chromium.org/545693004/

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

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

9 years agoChange GrGLProgramDesc header to have DoPathRendering flag instead of RequiresVertexS...
egdaniel [Mon, 22 Sep 2014 19:29:52 +0000 (12:29 -0700)]
Change GrGLProgramDesc header to have DoPathRendering flag instead of RequiresVertexShader

Also update GLProgramTests to fix bug where it would incorrectly try to PathRendering when we did
not want to.

BUG=skia:
R=bsalomon@google.com, joshualitt@chromium.org

Author: egdaniel@google.com

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

9 years agoRebaseline gm expectations after nvpr text change
cdalton [Mon, 22 Sep 2014 19:26:41 +0000 (12:26 -0700)]
Rebaseline gm expectations after nvpr text change

BUG=skia:2951
BUG=skia:2954
R=bsalomon@google.com, borenet@google.com

Author: cdalton@nvidia.com

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

9 years agoDon't try to scale embedded bitmaps.
bungeman [Mon, 22 Sep 2014 19:24:41 +0000 (12:24 -0700)]
Don't try to scale embedded bitmaps.

If a font is bitmap only we need to scale a bitmap to obtain
the requested size if there isn't an exact match. If a font has
embedded bitmaps then these bitmaps should never be scaled by Skia.
Allow FreeType to do the scaling (as requested by the font).

BUG=chromium:408059
R=mtklein@google.com

Author: bungeman@google.com

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

9 years agoDon't flush on read/write pixels unless necessary
bsalomon [Mon, 22 Sep 2014 19:21:08 +0000 (12:21 -0700)]
Don't flush on read/write pixels unless necessary

BUG=skia:2889

Committed: https://skia.googlesource.com/skia/+/150723b9298772a5096bec7acd2999c5c9d66239

R=robertphillips@google.com

Author: bsalomon@google.com

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

9 years agoMake a flipped fDirtyBit always mean "this field is not the default".
mtklein [Mon, 22 Sep 2014 18:40:33 +0000 (11:40 -0700)]
Make a flipped fDirtyBit always mean "this field is not the default".

Haven't been able to measure any perf effect, so I figure I'll let the bots have at it.

BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

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

9 years agoremove flags that now live in chrome's SkUserConfig.h
reed [Mon, 22 Sep 2014 17:34:41 +0000 (10:34 -0700)]
remove flags that now live in chrome's SkUserConfig.h

NOTRY=True
TBR=robertphilips@google.com

Author: reed@google.com

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

9 years agoFix typo in experimental/webtry/DESIGN.md.
jcgregorio [Mon, 22 Sep 2014 17:32:59 +0000 (10:32 -0700)]
Fix typo in experimental/webtry/DESIGN.md.

R=tfarina@chromium.org

Author: jcgregorio@google.com

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

9 years agoProposed fix for small bug in gpu conical gradients
joshualitt [Mon, 22 Sep 2014 17:29:30 +0000 (10:29 -0700)]
Proposed fix for small bug in gpu conical gradients

BUG=skia:
R=bsalomon@google.com, egdaniel@google.com, senorblanco@chromium.org

Author: joshualitt@chromium.org

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

9 years agoRevert of Don't flush on read/write pixels unless necessary (patchset #2 id:20001...
bsalomon [Mon, 22 Sep 2014 16:12:11 +0000 (09:12 -0700)]
Revert of Don't flush on read/write pixels unless necessary (patchset #2 id:20001 of https://codereview.chromium.org/586073002/)

Reason for revert:
Breaking the tree

Original issue's description:
> Don't flush on read/write pixels unless necessary
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/150723b9298772a5096bec7acd2999c5c9d66239

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

Author: bsalomon@google.com

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

9 years agoDon't flush on read/write pixels unless necessary
bsalomon [Mon, 22 Sep 2014 15:17:02 +0000 (08:17 -0700)]
Don't flush on read/write pixels unless necessary

BUG=skia:2889
R=robertphillips@google.com

Author: bsalomon@google.com

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

9 years agoIntroduce Props to surface (patchset #27 id:520001 of https://codereview.chromium...
reed [Mon, 22 Sep 2014 14:29:03 +0000 (07:29 -0700)]
Introduce Props to surface (patchset #27 id:520001 of https://codereview.chromium.org/551463004/)"

This reverts commit 29c857d0f3a1cb837f73406eeb6ba9771879b5e7.

TBR=

Author: reed@google.com

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

9 years agoCleaning includes in SkImage-related files
piotaixr [Mon, 22 Sep 2014 13:01:37 +0000 (06:01 -0700)]
Cleaning includes in SkImage-related files

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

Author: piotaixr@chromium.org

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

9 years agoUpdate SKP version to 108
borenet [Mon, 22 Sep 2014 03:37:57 +0000 (20:37 -0700)]
Update SKP version to 108

Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

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

9 years agoRevert of introduce Props to surface (patchset #27 id:520001 of https://codereview...
reed [Sun, 21 Sep 2014 17:25:07 +0000 (10:25 -0700)]
Revert of introduce Props to surface (patchset #27 id:520001 of https://codereview.chromium.org/551463004/)

Reason for revert:
Broke call site in WebKit

Original issue's description:
> introduce Props to surface (work in progress)
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3716fd067a5621bb94a6cb08d72afec8bf3aceda

R=robertphillips@google.com, bsalomon@google.com, jvanverth@google.com, bungeman@google.com, fmalita@google.com, vangelis@chromium.org, reed@google.com
TBR=bsalomon@google.com, bungeman@google.com, fmalita@google.com, jvanverth@google.com, reed@google.com, robertphillips@google.com, vangelis@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: reed@chromium.org

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

9 years agointroduce Props to surface (work in progress)
reed [Sun, 21 Sep 2014 16:39:55 +0000 (09:39 -0700)]
introduce Props to surface (work in progress)

BUG=skia:
R=robertphillips@google.com, bsalomon@google.com, jvanverth@google.com, bungeman@google.com, fmalita@google.com, vangelis@chromium.org, reed@chromium.org

Author: reed@google.com

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

9 years agoUpdate SKP version to 107
borenet [Sun, 21 Sep 2014 04:15:07 +0000 (21:15 -0700)]
Update SKP version to 107

Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

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

9 years agoSouped-up SkTextBlob.
fmalita [Sat, 20 Sep 2014 12:40:22 +0000 (05:40 -0700)]
Souped-up SkTextBlob.

Refactored text blob backend for improved performance: instead of using
separate buffers for runs/positions/glyphs, everything is now packed in
a consolidated slab (including the SkTextBlob object itself!).

Benefits:

 * number of allocations per blob construction reduced from ~4 to 1
   (also minimizes internal fragmentation)
 * run record size reduced by 8 bytes

This takes the blob construction overhead down to negligible levels
(for the current Blink uncached textblob implementation).

Unfortunately, the code is much more finicky (run merging in
particular) -- hence the assert spree.

Multi-run blobs are vulnerable to realloc storms but this is not a
problem at the moment because Blink is using one-run blobs 99% of the
time. Will be addressed in the future.

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

Committed: https://skia.googlesource.com/skia/+/13645ea0ea87038ebd71be3bd6d53b313069a9e4

Author: fmalita@chromium.org

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

9 years agoUpdate SKP version to 106
borenet [Sat, 20 Sep 2014 04:12:50 +0000 (21:12 -0700)]
Update SKP version to 106

Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

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

9 years agoRevert of Souped-up SkTextBlob. (patchset #3 id:40001 of https://codereview.chromium...
fmalita [Sat, 20 Sep 2014 02:03:06 +0000 (19:03 -0700)]
Revert of Souped-up SkTextBlob. (patchset #3 id:40001 of https://codereview.chromium.org/581173003/)

Reason for revert:
Broke the new blobshader gm.

Original issue's description:
> Souped-up SkTextBlob.
>
> Refactored text blob backend for improved performance: instead of using
> separate buffers for runs/positions/glyphs, everything is now packed in
> a consolidated slab (including the SkTextBlob object itself!).
>
> Benefits:
>
>  * number of allocations per blob construction reduced from ~4 to 1
>    (also minimizes internal fragmentation)
>  * run record size reduced by 8 bytes
>
> This takes the blob construction overhead down to negligible levels
> (for the current Blink uncached textblob implementation).
>
> Unfortunately, the code is much more finicky (run merging in
> particular) -- hence the assert spree.
>
> Multi-run blobs are vulnerable to realloc storms but this is not a
> problem at the moment because Blink is using one-run blobs 99% of the
> time. Will be addressed in the future.
>
>
> R=reed@google.com,mtklein@google.com,robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/13645ea0ea87038ebd71be3bd6d53b313069a9e4

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

Author: fmalita@chromium.org

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

9 years agoSouped-up SkTextBlob.
fmalita [Sat, 20 Sep 2014 01:37:00 +0000 (18:37 -0700)]
Souped-up SkTextBlob.

Refactored text blob backend for improved performance: instead of using
separate buffers for runs/positions/glyphs, everything is now packed in
a consolidated slab (including the SkTextBlob object itself!).

Benefits:

 * number of allocations per blob construction reduced from ~4 to 1
   (also minimizes internal fragmentation)
 * run record size reduced by 8 bytes

This takes the blob construction overhead down to negligible levels
(for the current Blink uncached textblob implementation).

Unfortunately, the code is much more finicky (run merging in
particular) -- hence the assert spree.

Multi-run blobs are vulnerable to realloc storms but this is not a
problem at the moment because Blink is using one-run blobs 99% of the
time. Will be addressed in the future.

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

Author: fmalita@chromium.org

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

9 years agoGet rid of SkImage_Codec
piotaixr [Fri, 19 Sep 2014 20:30:06 +0000 (13:30 -0700)]
Get rid of SkImage_Codec

Use SkImage_Raster with an ImageGenerator instead.

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

Author: piotaixr@chromium.org

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

9 years agoDon't try to add large glyphs to the font atlas.
jvanverth [Fri, 19 Sep 2014 20:07:38 +0000 (13:07 -0700)]
Don't try to add large glyphs to the font atlas.

When the glyph data is invalid we can try to allocate a ridiculous amount of memory. This adds a check to cover such cases.

BUG=414581
R=egdaniel@google.com

Author: jvanverth@google.com

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

9 years agoenable conservative clips for gpudevice
reed [Fri, 19 Sep 2014 20:04:17 +0000 (13:04 -0700)]
enable conservative clips for gpudevice

TBR=bsalomon

Author: reed@google.com

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

9 years agoAdd UniqueID to GrDrawTargetCaps.
egdaniel [Fri, 19 Sep 2014 19:07:43 +0000 (12:07 -0700)]
Add UniqueID to GrDrawTargetCaps.

This is needed for creating the Optimized Draw State and checking that we have the same caps
on subsequent calls to ODS

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

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

9 years agoMove IOType to GrGpuRef and rename that to GrIORef. Template GrPendingIORef on IOType.
bsalomon [Fri, 19 Sep 2014 18:48:02 +0000 (11:48 -0700)]
Move IOType to GrGpuRef and rename that to GrIORef. Template GrPendingIORef on IOType.

BUG=skia:2889
R=robertphillips@google.com

Author: bsalomon@google.com

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

9 years agoSkTextBlob shader space workaround.
fmalita [Fri, 19 Sep 2014 18:40:51 +0000 (11:40 -0700)]
SkTextBlob shader space workaround.

Blink would like drawTextBlob(x,y) to behave the same as drawText(x,y)
WRT shader space. Due to the current generic device base impl, that is
not the case.

This is a transitional workaround, pending proper drawTextBlob impls
in SkDevice classes.

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

Author: fmalita@chromium.org

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

9 years agoFix memory leak in MultiPictureDraw GM
robertphillips [Fri, 19 Sep 2014 18:30:37 +0000 (11:30 -0700)]
Fix memory leak in MultiPictureDraw GM

R=fmalita@google.com, fmalita@chromium.org

Author: robertphillips@google.com

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

9 years agoFix stack-allocated GPU path object
cdalton [Fri, 19 Sep 2014 18:12:46 +0000 (11:12 -0700)]
Fix stack-allocated GPU path object

Fixes nvpr text to dynamically allocate its template path object, as
per the Skia policy.

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

Author: cdalton@nvidia.com

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

9 years agoMake GrIODB keep pending IO refs on all resources it records into its cmd stream.
bsalomon [Fri, 19 Sep 2014 18:10:40 +0000 (11:10 -0700)]
Make GrIODB keep pending IO refs on all resources it records into its cmd stream.

BUG=skia:2889
R=robertphillips@google.com

Author: bsalomon@google.com

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

9 years agoAdd a "mode" tag to key in DM json output.
mtklein [Fri, 19 Sep 2014 17:35:07 +0000 (10:35 -0700)]
Add a "mode" tag to key in DM json output.

This lets us distinguish the original ("direct") runs from their replay modes.

There was a bit of a bug in here now fixed: we used the first entry in
fSuffixes as the config.  Actually, the last entry in suffixes is the
config.  This is moot when there's only one suffix (direct drawing), but
for mode drawing we were recording the mode as config!  Now it's correct.

Here's some example output where I rigged a bunch of modes to fail:

{
   "results" : [
      {
         "key" : {
            "config" : "565",
            "mode" : "default-nobbh",
            "name" : "xfermodes2"
         },
         "md5" : "2daf6f7e2b8e56543b92068a10d2179e",
         "options" : {
            "source_type" : "GM"
         }
      },
      {
         "key" : {
            "config" : "8888",
            "mode" : "default-nobbh",
            "name" : "xfermodes2"
         },
         "md5" : "490361e8a52800d29558bc23876da8c6",
         "options" : {
            "source_type" : "GM"
         }
      },
...
      {
         "key" : {
            "config" : "565",
            "mode" : "direct",
            "name" : "xfermodes2"
         },
         "md5" : "92a3801d5914d6c2662904a3bb50d2b9",
         "options" : {
            "source_type" : "GM"
         }
      },
...
      {
         "key" : {
            "config" : "8888",
            "mode" : "direct",
            "name" : "xfermodes2"
         },
         "md5" : "e7e8b3e9d31e601acaaff4633ed5f63a",
         "options" : {
            "source_type" : "GM"
         }
      },

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

Author: mtklein@chromium.org

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

9 years agoExtend MultiPictureDraw GM
robertphillips [Fri, 19 Sep 2014 15:56:09 +0000 (08:56 -0700)]
Extend MultiPictureDraw GM

This new GM case is intended to exercise the matrix oriented aspects of layer caching.

R=jvanverth@google.com

Author: robertphillips@google.com

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

9 years agoStop calling rand() in debug-only code for GLProgramsTest
bsalomon [Fri, 19 Sep 2014 14:47:08 +0000 (07:47 -0700)]
Stop calling rand() in debug-only code for GLProgramsTest

R=egdaniel@google.com

Author: bsalomon@google.com

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

9 years agoAdd ignored expectation for https://codereview.chromium.org/563283004.
jvanverth [Fri, 19 Sep 2014 13:46:09 +0000 (06:46 -0700)]
Add ignored expectation for https://codereview.chromium.org/563283004.

BUG=skia:2951
R=bsalomon@google.com
TBR=bsalomon@google.com

Author: jvanverth@google.com

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

9 years agofail early if coincidence can't be resolved
caryclark [Fri, 19 Sep 2014 13:33:31 +0000 (06:33 -0700)]
fail early if coincidence can't be resolved

Bail out if a very large value causes coincidence resolution to
fail.

TBR=
BUG=415866

Author: caryclark@google.com

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

9 years agoremove RenderTargetFlags -- NewRenderTargetDirect will never clear
reed [Fri, 19 Sep 2014 12:56:29 +0000 (05:56 -0700)]
remove RenderTargetFlags -- NewRenderTargetDirect will never clear

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

Author: reed@chromium.org

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

9 years agoUpdate SKP version to 105
borenet [Fri, 19 Sep 2014 04:27:26 +0000 (21:27 -0700)]
Update SKP version to 105

Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

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

9 years agoRestore old behavior of SkTypeface::CreateFromTypeface.
bungeman [Thu, 18 Sep 2014 20:57:20 +0000 (13:57 -0700)]
Restore old behavior of SkTypeface::CreateFromTypeface.

This reverts
https://skia.googlesource.com/skia/+/9db509272a6fa2badbbdd2f5afce827370960a5f
and completes
https://skia.googlesource.com/skia/+/f91c47d91d72a1d85e2d6701864b8d7accc81647 .

R=caryclark@google.com

Author: bungeman@google.com

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

9 years agocheck for failed file->data (fails on mac)
reed [Thu, 18 Sep 2014 20:57:05 +0000 (13:57 -0700)]
check for failed file->data (fails on mac)

TBR=

Author: reed@google.com

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

9 years agoAdd counting of some GL calls
robertphillips [Thu, 18 Sep 2014 20:52:08 +0000 (13:52 -0700)]
Add counting of some GL calls

I would like this facility for tracking FBO switch improvements.

R=bsalomon@google.com

Author: robertphillips@google.com

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

9 years agoUses a single pre-baked set of paths for drawing nvpr text of a given
cdalton [Thu, 18 Sep 2014 20:51:53 +0000 (13:51 -0700)]
Uses a single pre-baked set of paths for drawing nvpr text of a given
typeface. Loads the paths using the driver's glyph loading routines.

Refactors GrPathRange to accept a PathGenerator class that it uses to
lazily initialize its paths. The client code is no longer expected to
initialize the paths in a GrPathRange; instead it must provide a
PathGenerator* instance to createPathRange().

Adds a new createGlyphs() method to GrPathRendering that creates a
range of glyph paths, indexed by glyph id. GrPathRendering implements
createGlyphs() with a PathGenerator that loads glyph paths using the
skia frameworks. GrGLPathRendering uses glMemoryGlyphIndexArrayNV()
instead, when possible, to load the glyph paths.

Removes all GlyphPathRange logic from GrStencilAndCoverTextContext.
It instead uses createGlyphs().

BUG=skia:2939
R=bsalomon@google.com, jvanverth@google.com

Author: cdalton@nvidia.com

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

9 years agoremove no-op override
reed [Thu, 18 Sep 2014 20:36:11 +0000 (13:36 -0700)]
remove no-op override

NOTREECHECKS=True
NOTRY=True
R=egdaniel@google.com

Author: reed@google.com

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

9 years agoChanges to remove program effects builder
joshualitt [Thu, 18 Sep 2014 19:26:38 +0000 (12:26 -0700)]
Changes to remove program effects builder

BUG=skia:
R=bsalomon@google.com

Author: joshualitt@chromium.org

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

9 years agoRefactor layer hoisting code
robertphillips [Thu, 18 Sep 2014 19:03:15 +0000 (12:03 -0700)]
Refactor layer hoisting code

This CL consolidates the layer hoisting functionality in GrLayerHoister in preparation for retiring SkDpuDevice::EXPERIMENTAL_drawPicture in favor of SkMultiPictureDraw::draw.

R=bsalomon@google.com

Author: robertphillips@google.com

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

9 years agoBis: Use SkImage::NewFromGenerator() instead of SkImage::newEncodedData()
piotaixr [Thu, 18 Sep 2014 18:55:14 +0000 (11:55 -0700)]
Bis: Use SkImage::NewFromGenerator() instead of SkImage::newEncodedData()

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

Author: piotaixr@chromium.org

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

9 years agouse surface in SkView/SampleApp
reed [Thu, 18 Sep 2014 18:29:01 +0000 (11:29 -0700)]
use surface in SkView/SampleApp

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

Author: reed@google.com

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

9 years agoSimplify a little in SkRecords.h:
mtklein [Thu, 18 Sep 2014 18:16:31 +0000 (11:16 -0700)]
Simplify a little in SkRecords.h:

 - ACT_AS_PTR can just expose const methods to get at the pointers.
   (If the thing stored must stay const, we pass a const T.)
 - DrawPatch works fine with Record# macros, so use Record5.

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

Author: mtklein@chromium.org

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

9 years agoupdate to accommodate latest clang in chrome toolchain
caryclark [Thu, 18 Sep 2014 18:00:40 +0000 (11:00 -0700)]
update to accommodate latest clang in chrome toolchain

remove asserts for null pointers to references
change var args signature to pointer instead of array

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

Author: caryclark@google.com

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

9 years agofixes to linux build for webtry
humper [Thu, 18 Sep 2014 17:58:33 +0000 (10:58 -0700)]
fixes to linux build for webtry

BUG=skia:
R=jcgregorio@google.com

Author: humper@google.com

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

9 years agoSerialize the font index.
bungeman [Thu, 18 Sep 2014 17:55:32 +0000 (10:55 -0700)]
Serialize the font index.

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

Author: bungeman@google.com

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

9 years agofix battlefield website by disallowing very small coordinates
caryclark [Thu, 18 Sep 2014 17:32:57 +0000 (10:32 -0700)]
fix battlefield website by disallowing very small coordinates

also add and remove comments to document other attempts to fix this that had drawbacks

R=fmalita@chromium.org
BUG=414409

Author: caryclark@google.com

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

9 years agoCopy layer-hoisting related SkPaints
robertphillips [Thu, 18 Sep 2014 15:01:23 +0000 (08:01 -0700)]
Copy layer-hoisting related SkPaints

This is intended to disconnect the lifetimes of the optimization data, cached layers and replacement objects.

Note that the optimization data already makes a copy of the paint in the SkPicture. Additionally the replacement object will probably go away at some point.

R=bsalomon@google.com

Author: robertphillips@google.com

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

9 years agonanobench: print max RSS in debug mode too.
mtklein [Thu, 18 Sep 2014 14:39:42 +0000 (07:39 -0700)]
nanobench: print max RSS in debug mode too.

BUG=skia:2949
R=mtklein@google.com

Author: mtklein@chromium.org

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

9 years agoRemove redundant assignment in GrDrawTarget.cpp
qiankun.miao [Thu, 18 Sep 2014 14:33:14 +0000 (07:33 -0700)]
Remove redundant assignment in GrDrawTarget.cpp

BUG=skia:
R=bsalomon@google.com

Author: qiankun.miao@intel.com

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

9 years agouse surface instead of explicitly making gpudevice
reed [Thu, 18 Sep 2014 13:09:44 +0000 (06:09 -0700)]
use surface instead of explicitly making gpudevice

TBR=bsalomon

Author: reed@google.com

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

9 years agoUpdate SKP version to 104
borenet [Thu, 18 Sep 2014 04:26:41 +0000 (21:26 -0700)]
Update SKP version to 104

Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

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

9 years agoUse SkBitmapCache to optimize readPixels on a texture-backed bitmap
piotaixr [Wed, 17 Sep 2014 23:24:04 +0000 (16:24 -0700)]
Use SkBitmapCache to optimize readPixels on a texture-backed bitmap

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

Author: piotaixr@chromium.org

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

9 years agoUse SkImage::NewFromGenerator() instead of SkImage::newEncodedData()
piotaixr [Wed, 17 Sep 2014 21:33:30 +0000 (14:33 -0700)]
Use SkImage::NewFromGenerator() instead of SkImage::newEncodedData()

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

Author: piotaixr@chromium.org

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

9 years agoSmall refactoring in SkImage_Codec
piotaixr [Wed, 17 Sep 2014 20:05:14 +0000 (13:05 -0700)]
Small refactoring in SkImage_Codec

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

Author: piotaixr@chromium.org

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

9 years agoDM: --gpu and --cpu should only control top-level tasks.
mtklein [Wed, 17 Sep 2014 19:26:18 +0000 (12:26 -0700)]
DM: --gpu and --cpu should only control top-level tasks.

This fixes a bug where we run some Android bots with --nocpu, and the
current behavior disables the (CPU-bound) WriteTasks the GPU bound GM
runs spawn off.  The WriteTasks don't run and we end up with "null" in
our .json files.

Tested locally: out/Release/dm --nocpu -w /tmp/out; ls /tmp/out
  dm.json  gpu/

BUG=skia:2938
R=jcgregorio@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

9 years agoAdd SkMiniData.
mtklein [Wed, 17 Sep 2014 19:21:59 +0000 (12:21 -0700)]
Add SkMiniData.

This is a bit like a limited SkData, geared to store really tiny byte strings.

This is not hooked up anywhere beyond the new unit test.  I did experimentally
plumb it into SkRecord for drawPosTextH: just over 40% of drawPosTextH calls in
our repo can fit into ShortData.

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

Author: mtklein@chromium.org

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

9 years agoClarify build test for presense of 'float copysign(float, float)'.
bungeman [Wed, 17 Sep 2014 18:16:50 +0000 (11:16 -0700)]
Clarify build test for presense of 'float copysign(float, float)'.

Clang-cl reports __cplusplus based on the version of clang instead of
reporting the __cplusplus the vc++ version _MSC_VER would.
This is important as the _MSC_VER also indicates which vc++ runtime
library will be used. As a result, do not trust the __cplusplus version
reported by clang-cl.

This change clarifies the intent of
https://skia.googlesource.com/skia/+/c34b0d4e9ad5806c1f882a1f85191f2ea8ddcdba

R=reed@google.com

Author: bungeman@google.com

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

9 years agodeclare to gypi where SkDeviceProperties.h moved to
reed [Wed, 17 Sep 2014 17:59:23 +0000 (10:59 -0700)]
declare to gypi where SkDeviceProperties.h moved to

NOTRY=True
NOTREECHECKS=True
TBR=

Author: reed@google.com

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

9 years agohide deviceproperties, prepare the way for surfaceprops
reed [Wed, 17 Sep 2014 17:49:38 +0000 (10:49 -0700)]
hide deviceproperties, prepare the way for surfaceprops

BUG=skia:
NOTRY=True
R=bungeman@google.com

Author: reed@google.com

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

9 years agoRemove createPath* from GrGpu and GrContext
cdalton [Wed, 17 Sep 2014 16:41:24 +0000 (09:41 -0700)]
Remove createPath* from GrGpu and GrContext

Now that we have the GrPathRendering class, it doesn't make sense to
have a bunch of shims on on GrGpu. This updates the path rendering
clients to make calls directly on the GrPathRendering object.

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

Author: cdalton@nvidia.com

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

9 years agoAdds glMemoryGlyphIndexArrayNV to the GrGLInterface and begins
cdalton [Wed, 17 Sep 2014 16:19:18 +0000 (09:19 -0700)]
Adds glMemoryGlyphIndexArrayNV to the GrGLInterface and begins
detecting support for this method in GrGLPathRendering.

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

Author: cdalton@nvidia.com

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

9 years agogyp build of skfiddle apps, take 2
humper [Wed, 17 Sep 2014 15:42:46 +0000 (08:42 -0700)]
gyp build of skfiddle apps, take 2

BUG=skia:
R=jcgregorio@google.com

Author: humper@google.com

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

9 years agoCalculate stage stats in GrOptDrawState
egdaniel [Wed, 17 Sep 2014 15:25:05 +0000 (08:25 -0700)]
Calculate stage stats in GrOptDrawState

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

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

9 years agoRename GrProgramResource to GrGpuResourceRef
bsalomon [Wed, 17 Sep 2014 15:05:40 +0000 (08:05 -0700)]
Rename GrProgramResource to GrGpuResourceRef

BUG=skia:2889
R=robertphillips@google.com

Author: bsalomon@google.com

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

9 years agoSeparate replacement creation from layer discovery
robertphillips [Wed, 17 Sep 2014 14:50:47 +0000 (07:50 -0700)]
Separate replacement creation from layer discovery

This is a simple refactoring that sets the stage for eliminating GrReplacements::ReplacementInfo and splitting up EXPERIMENTAL_drawPicture to support multi picture draw.

R=bsalomon@google.com

Author: robertphillips@google.com

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

9 years agoAdd onGetFamilyName to SkTypeface.
bungeman [Wed, 17 Sep 2014 14:48:59 +0000 (07:48 -0700)]
Add onGetFamilyName to SkTypeface.

This speeds up and documents this particular feature of SkTypeface
and also frees up SkFontDescriptor to be used only in serialization.

R=reed@google.com

Author: bungeman@google.com

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

9 years agoRevert "Revert "Move SkGpuDevice.h to src/gpu""
bsalomon [Wed, 17 Sep 2014 14:44:25 +0000 (07:44 -0700)]
Revert "Revert "Move SkGpuDevice.h to src/gpu""

This reverts commit b0a35f7c5d2c4bfeb601e3ac43f412d202a25292.

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

Author: bsalomon@google.com

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

9 years agoRebaseline textblob GM after acb882c
Florin Malita [Wed, 17 Sep 2014 14:21:48 +0000 (10:21 -0400)]
Rebaseline textblob GM after acb882c

TBR=stephana@google.com

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

9 years agoBreaking out full program and frag only
joshualitt [Wed, 17 Sep 2014 14:00:35 +0000 (07:00 -0700)]
Breaking out full program and frag only

BUG=skia:
R=bsalomon@google.com

Author: joshualitt@chromium.org

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

9 years agoRevert of nanobench: lazily decode bitmaps from SKPs (patchset #1 id:1 of https:...
mtklein [Wed, 17 Sep 2014 13:58:39 +0000 (06:58 -0700)]
Revert of nanobench: lazily decode bitmaps from SKPs (patchset #1 id:1 of https://codereview.chromium.org/572933006/)

Reason for revert:
skia:2944

Original issue's description:
> nanobench: lazily decode bitmaps from SKPs
>
> This makes it considerably cheaper to run SKP recording benchmarks, without
> affecting their measurements and without really affecting SKP playback
> benchmarks at all.
>
> On my machine, running out/Release/nanobench --match skp --config nondrendering
> drops in run time from 6.7s to 2.5s, and the peak RAM usage drops from 129M to 50M.
>
> I'm strongly considering making this lazy decoding the default.
>
> BUG=skia:2944
>
> Committed: https://skia.googlesource.com/skia/+/d664c21a38de98d8db210c46f7a8c4187f1534da

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

Author: mtklein@google.com

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

9 years agoRevert "Move SkGpuDevice.h to src/gpu"
borenet [Wed, 17 Sep 2014 13:14:35 +0000 (06:14 -0700)]
Revert "Move SkGpuDevice.h to src/gpu"

This reverts commit d99bbb61e58e8bd34db3954147ce1c9166fe4637.

Causing Chrome canary failures as well as failures of Chrome trybots due to
not cleaning up properly after failed DEPS roll attempts.

BUG=skia:
R=bsalomon@google.com, reed@google.com
TBR=bsalomon, reed

Author: borenet@google.com

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