platform/upstream/libSkiaSharp.git
10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 years agoFix typo
robertphillips [Wed, 17 Sep 2014 13:01:06 +0000 (06:01 -0700)]
Fix typo

R=jvanverth@google.com

Author: robertphillips@google.com

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

10 years agoEnsure blob typeface information survives SkGPipe serialization.
fmalita [Wed, 17 Sep 2014 00:58:34 +0000 (17:58 -0700)]
Ensure blob typeface information survives SkGPipe serialization.

When flattening text blobs to the temp buffer, we need to collect
typeface info and ship it across the pipe explicitly.

R=mtklein@google.com, reed@google.com, robertphillips@google.com, bungeman@google.com
BUG=412445

Author: fmalita@chromium.org

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

10 years agoMove SkGpuDevice.h to src/gpu
bsalomon [Tue, 16 Sep 2014 21:09:13 +0000 (14:09 -0700)]
Move SkGpuDevice.h to src/gpu

R=reed@google.com

Author: bsalomon@google.com

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

10 years agoMake templated GrProgramTResource subclass of GrProgramResource
bsalomon [Tue, 16 Sep 2014 20:54:53 +0000 (13:54 -0700)]
Make templated GrProgramTResource subclass of GrProgramResource

R=robertphillips@google.com

Author: bsalomon@google.com

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

10 years agonanobench: lazily decode bitmaps from SKPs
mtklein [Tue, 16 Sep 2014 20:36:12 +0000 (13:36 -0700)]
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:
R=robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

10 years agoAttach GrOptDrawState into shader building pipeline
egdaniel [Tue, 16 Sep 2014 19:54:40 +0000 (12:54 -0700)]
Attach GrOptDrawState into shader building pipeline

The OptDrawState is now used for creating the actual gl shader. Current
optimizations dones in GrOptDrawState include:
All blend optimizations
Constant color/coverage stage optimizations

BUG=skia:

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

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

Author: egdaniel@google.com

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

10 years agowhen we disable lcd for impl reasons, add kGenA8 to document the original intent
reed [Tue, 16 Sep 2014 19:27:55 +0000 (12:27 -0700)]
when we disable lcd for impl reasons, add kGenA8 to document the original intent

BUG=skia:
R=bungeman@google.com

Author: reed@google.com

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

10 years agoTurn disable or delete optimizations that don't have any effect.
mtklein [Tue, 16 Sep 2014 18:11:20 +0000 (11:11 -0700)]
Turn disable or delete optimizations that don't have any effect.

Recording gets a ~5% speedup.

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

Author: mtklein@chromium.org

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

10 years agoAdding myself to comitters
joshualitt [Tue, 16 Sep 2014 18:03:39 +0000 (11:03 -0700)]
Adding myself to comitters

BUG=skia:
R=rmistry@google.com

Author: joshualitt@chromium.org

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

10 years agoallow SkBitmapCache to operate on a local instance, for testability
reed [Tue, 16 Sep 2014 17:39:55 +0000 (10:39 -0700)]
allow SkBitmapCache to operate on a local instance, for testability

BUG=skia:
R=mtklein@google.com, danakj@chromium.org, piotaixr@chromium.org, junov@chromium.org

Author: reed@google.com

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

10 years agoFix bug in layer hoisting transition to SkRecord backend
robertphillips [Tue, 16 Sep 2014 17:32:43 +0000 (10:32 -0700)]
Fix bug in layer hoisting transition to SkRecord backend

Care must be taken when setting up the initial CTM matrix for partial SkRecord playbacks b.c. all the setMatrix calls will concatenate with the initial matrix (which may be different then the CTM that is required to draw correctly).

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

Author: robertphillips@google.com

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