platform/upstream/libSkiaSharp.git
9 years agoMore rebaselines.
scroggo [Wed, 10 Dec 2014 20:23:03 +0000 (12:23 -0800)]
More rebaselines.

TBR=bsalomon
BUG=skia:

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

9 years agoRemove MULTILINE, ^, and $ from re finding actual_results.json.
bungeman [Wed, 10 Dec 2014 20:18:03 +0000 (12:18 -0800)]
Remove MULTILINE, ^, and $ from re finding actual_results.json.

MULTILINE, ^, and $ work based on the platform, but the files being
parsed are from other platforms. As a result, the current code for
extracting the actual_results.json version will not find it in
logfiles produced on Windows when run on Mac.

The code for extracting the exact actual_results.json file to use
from a logfile is itself something of a hack, as this information
should be provided ina more structured manner. This proposed
method of finding the exact file is no worse than the old one, and
in cases like above, better.

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

9 years agoDetect discarded SkPictureShader pixel refs.
fmalita [Wed, 10 Dec 2014 20:17:58 +0000 (12:17 -0800)]
Detect discarded SkPictureShader pixel refs.

This doesn't address the more general problem, but reduces the race
window significantly.

BUG=440282
R=reed@google.com

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

9 years agoRebaseline.
scroggo [Wed, 10 Dec 2014 18:53:28 +0000 (10:53 -0800)]
Rebaseline.

All these images barely differ.

TBR=bsalomon

BUG=skia:

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

9 years agoInclude SkTypes.h from SkDynamicAnnotations.h
mtklein [Wed, 10 Dec 2014 18:49:42 +0000 (10:49 -0800)]
Include SkTypes.h from SkDynamicAnnotations.h

This allows us to control SK_DYNAMIC_ANNOTATIONS_ENABLED by Sk*Config.h files.
This is a no-op today, because we control it from the compiler command line.

BUG=430815

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

9 years agoGradient shaders: make fPtsToUnit const, pre-cache getType().
mtklein [Wed, 10 Dec 2014 18:29:19 +0000 (10:29 -0800)]
Gradient shaders: make fPtsToUnit const, pre-cache getType().

This prevents races when calling fPtsToUnit.getType() from multiple threads.

This introduces a small amount of redundant code in SkTwoPointRadialGradient,
but it's probably optimized together into no extra run-time work.

BUG=437511

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

9 years agoChange how SkDebugf is sent to stdout on Android.
scroggo [Wed, 10 Dec 2014 18:23:04 +0000 (10:23 -0800)]
Change how SkDebugf is sent to stdout on Android.

Previously, a function was called using dlsym in skia_launcher.

Add a static initializer that changes the setting, and include that for
the tools we automate for testing.

Also only do va_copy if we actually use it.

BUG=skia:2454

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

9 years agodd readPixels to SkImage
reed [Wed, 10 Dec 2014 17:53:42 +0000 (09:53 -0800)]
dd readPixels to SkImage

patch from issue 789673007 at patchset 1 (http://crrev.com/789673007#ps1)

BUG=skia:

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

9 years agoSuppress clipped-bitmap-shaders-clamp
Florin Malita [Wed, 10 Dec 2014 17:23:18 +0000 (12:23 -0500)]
Suppress clipped-bitmap-shaders-clamp

Pending PDF rebaseline after c54d8db4d169

TBR=scroggo@google.com

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

9 years agoRemove SkCanvas::drawBitmapMatrix()
Florin Malita [Wed, 10 Dec 2014 17:02:16 +0000 (12:02 -0500)]
Remove SkCanvas::drawBitmapMatrix()

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

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

9 years agomore rebaselines
Brian Salomon [Wed, 10 Dec 2014 16:46:46 +0000 (11:46 -0500)]
more rebaselines

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

9 years agoAdd more ignore gm's for recent Xfer Processor CL
egdaniel [Wed, 10 Dec 2014 16:14:44 +0000 (08:14 -0800)]
Add more ignore gm's for recent Xfer Processor CL

TBR=bsalomon@google.com
NOTRY=true

BUG=skia:

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

9 years agoAdd baseline images for new filterfastbounds GM
robertphillips [Wed, 10 Dec 2014 15:53:52 +0000 (07:53 -0800)]
Add baseline images for new filterfastbounds GM

TBR=scroggo@google.com

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

9 years agoCreate xfer processor backend.
egdaniel [Wed, 10 Dec 2014 15:43:49 +0000 (07:43 -0800)]
Create xfer processor backend.

This includes:
-Having an actual XP stage at the end of the gl pipeline.
-All Blending work is handled by XP until actually setting GL blend states
-GLPrograms test to test XP

BUG=skia:

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

9 years agoAdd GM for 2-rects blur which cannot break into nine-patch
qiankun.miao [Wed, 10 Dec 2014 15:40:36 +0000 (07:40 -0800)]
Add GM for 2-rects blur which cannot break into nine-patch

BUG=skia:

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

9 years agoRemove canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul
reed [Wed, 10 Dec 2014 15:24:28 +0000 (07:24 -0800)]
Remove canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul

patch from issue 781403002 at patchset 20001 (http://crrev.com/781403002#ps20001)

BUG=skia:
TBR=
re-landing after chrome fixes have landed

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

9 years agoAdd SSSE3 acceleration for S32_D16_filter_DX
qiankun.miao [Wed, 10 Dec 2014 15:21:35 +0000 (07:21 -0800)]
Add SSSE3 acceleration for S32_D16_filter_DX

With this CL, related nanobench can be improved for 565 config.
         bitmap_BGRA_8888_update_scale_bilerp   76.1us -> 46.7us        0.61x
                bitmap_BGRA_8888_scale_bilerp   78.7us ->   47us        0.6x
bitmap_BGRA_8888_update_volatile_scale_bilerp   82.7us -> 46.9us        0.57x

BUG=skia:

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

9 years agofix surface test for gpu and codecs
reed [Wed, 10 Dec 2014 14:54:06 +0000 (06:54 -0800)]
fix surface test for gpu and codecs

BUG=skia:

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

9 years agoUpdate SKP version
skia.buildbots [Wed, 10 Dec 2014 07:29:37 +0000 (23:29 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoAdd bench to measure blur rects performance
qiankun.miao [Wed, 10 Dec 2014 01:47:05 +0000 (17:47 -0800)]
Add bench to measure blur rects performance

BUG=skia:

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

9 years agoUpdate SKP version
skia.buildbots [Tue, 9 Dec 2014 22:59:26 +0000 (14:59 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoadd readPixels to SkSurface (later try to remove it from SkCanvas)
reed [Tue, 9 Dec 2014 22:39:44 +0000 (14:39 -0800)]
add readPixels to SkSurface (later try to remove it from SkCanvas)

BUG=skia:
TBR=bsalomon, robertphilips

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

9 years agoSkia: Track the fIsWrapped separately so that we delete correctly
hendrikw [Tue, 9 Dec 2014 22:26:47 +0000 (14:26 -0800)]
Skia: Track the fIsWrapped separately so that we delete correctly

GrGlTextureRenderTarget inherits virtually from both GrGlRenderTarget and
GrGLTexture, which both have a 'wrap' flag.  The passed in wrap setting could
be different for the two base classes, but since it's virtually inherited,
they share the same flag, so they're either both on, or both off.

As a result, we fail to delete the frambuffer.

To fix this, we now keep a separate isWrapped flag for GrGlRenderTarget.

BUG=437998

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

9 years agorrrrrrrrrrrreeeeeeeeeeebaseline!
Brian Salomon [Tue, 9 Dec 2014 22:23:46 +0000 (17:23 -0500)]
rrrrrrrrrrrreeeeeeeeeeebaseline!

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

9 years agoRevert of remove (dumb) canvas::NewRaster, and rename surface::NewRasterPMColor to...
reed [Tue, 9 Dec 2014 21:55:20 +0000 (13:55 -0800)]
Revert of remove (dumb) canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul (patchset #3 id:40001 of https://codereview.chromium.org/790733003/)

Reason for revert:
need to update chrome first

Original issue's description:
> remove (dumb) canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul
>
> patch from issue 781403002 at patchset 20001 (http://crrev.com/781403002#ps20001)
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/2c1605a1fbaa2e35a27399a34254fb1200ec2ae6

TBR=fmalita@google.com,fmalita@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

9 years agoThis cl moves color and coverage off of drawstate. In an effort to keep this CL...
joshualitt [Tue, 9 Dec 2014 21:31:14 +0000 (13:31 -0800)]
This cl moves color and coverage off of drawstate.  In an effort to keep this CL manageable, I have left the compute invariant input / output in a bit of a strange state(fixing this will be complicated).

In addition, NVPR makes this very complicated, and I haven't quite figured out a good way to handle it, so for now color and coverage DO live on optstate, but I will figure out some way to refactor that in future CLs.

BUG=skia:

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

9 years agoAdding an option for pixelated rendering in SkPictureImageFilter
junov [Tue, 9 Dec 2014 21:07:22 +0000 (13:07 -0800)]
Adding an option for pixelated rendering in SkPictureImageFilter

BUG=skia:3209

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

9 years agoMore N10 rebaselines
Brian Salomon [Tue, 9 Dec 2014 20:48:11 +0000 (15:48 -0500)]
More N10 rebaselines
TBR=

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

9 years agoRemove unused static function skcolor_to_grcolor_nopremultiply.
egdaniel [Tue, 9 Dec 2014 20:38:51 +0000 (12:38 -0800)]
Remove unused static function skcolor_to_grcolor_nopremultiply.

BUG=skia:

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

9 years agoremove (dumb) canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul
reed [Tue, 9 Dec 2014 20:33:38 +0000 (12:33 -0800)]
remove (dumb) canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul

patch from issue 781403002 at patchset 20001 (http://crrev.com/781403002#ps20001)

BUG=skia:

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

9 years agoRebaseline after texture coord precision changes.
Brian Salomon [Tue, 9 Dec 2014 20:29:19 +0000 (15:29 -0500)]
Rebaseline after texture coord precision changes.

TBR=scroggo@google.com

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

9 years agochange SkPoint::setLength to set itself to (0,0) if it starting length is degenerate.
reed [Tue, 9 Dec 2014 19:50:32 +0000 (11:50 -0800)]
change SkPoint::setLength to set itself to (0,0) if it starting length is degenerate.

BUG=skia:3203
TBR=caryclark

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

9 years agoFix for alpha textures on Nexus 6.
jvanverth [Tue, 9 Dec 2014 19:37:11 +0000 (11:37 -0800)]
Fix for alpha textures on Nexus 6.

Nexus 6 appears to require a sized internal format for A8 textures, much
like other newer mobile devices. Changed to use sized format for A8
textures in general with ES 3.0.

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

9 years agoDon't call GetShaderPrecisionFormat for geometry shaders.
bsalomon [Tue, 9 Dec 2014 19:16:12 +0000 (11:16 -0800)]
Don't call GetShaderPrecisionFormat for geometry shaders.

TBR=egdaniel@google.com

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

9 years agoMake all blending up to GrOptDrawState be handled by the xp/xp factory.
egdaniel [Tue, 9 Dec 2014 19:15:43 +0000 (11:15 -0800)]
Make all blending up to GrOptDrawState be handled by the xp/xp factory.

In this cl the blending information is extracted for the xp and stored in the ODS
which is then used as it currently is. In the follow up cl, an XP backend will be added
and at that point all blending work will take place inside XP's.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4

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

9 years agoUse threshold of 1 texture coord value per pixel w/ nearest neighbor.
bsalomon [Tue, 9 Dec 2014 18:51:07 +0000 (10:51 -0800)]
Use threshold of 1 texture coord value per pixel w/ nearest neighbor.

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

9 years agoUse GrCoordTransform precision to set uniform matrix precision
bsalomon [Tue, 9 Dec 2014 18:38:57 +0000 (10:38 -0800)]
Use GrCoordTransform precision to set uniform matrix precision

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

9 years agoRename CustomCoordTextureEffect to GrBitmapTextGeoProc.
egdaniel [Tue, 9 Dec 2014 18:35:58 +0000 (10:35 -0800)]
Rename CustomCoordTextureEffect to GrBitmapTextGeoProc.

Also add in explicit set for LCD text in invariantOutput.

BUG=skia:

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

9 years agoUpdate nanobench so the non-MPD path doesn't permit layer hoisting
robertphillips [Tue, 9 Dec 2014 18:28:00 +0000 (10:28 -0800)]
Update nanobench so the non-MPD path doesn't permit layer hoisting

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

9 years agoSwitch non-MPD nanobench path to use a separate canvas per tile
robertphillips [Tue, 9 Dec 2014 18:27:54 +0000 (10:27 -0800)]
Switch non-MPD nanobench path to use a separate canvas per tile

It is desirable that, when layer hoisting is disabled, the MPD and non-MPD timings be
roughly the same. Unfortunately, using a separate canvas for each tile (a requirement
for MPD) introduces its own discrepancy into the timing. Using a separate canvas for
each tile doesn't seem to make a difference for 8888 (see the non-MPD 8888 column below)
but slows down GPU rendering (see the non-MPD GPU column below). Since this is how
Chromium renders I propose switching to this regimen (even though it is "slowing down"
GPU rendering).

nanobench mean times (ms) with layer hoisting disabled (for desk_amazon.skp)

8888
                          MPD     non-MPD
1 canvas (old-style)     0.628    1.71
separate (new-style)     0.795    1.63

GPU
                          MPD     non-MPD
1 canvas (old-style)     2.34     1.69
separate (new-style)     2.32     2.66

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

9 years agoIncrease timeouts for CSS3Gradients and GooglePlus pagesets
rmistry [Tue, 9 Dec 2014 18:19:32 +0000 (10:19 -0800)]
Increase timeouts for CSS3Gradients and GooglePlus pagesets

BUG=skia:3187
BUG=skia:3196

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

9 years agoMake addUniform take a precision
bsalomon [Tue, 9 Dec 2014 18:18:12 +0000 (10:18 -0800)]
Make addUniform take a precision

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

9 years agoMove shader precision out of GrShaderVar
bsalomon [Tue, 9 Dec 2014 18:04:14 +0000 (10:04 -0800)]
Move shader precision out of GrShaderVar

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

9 years agoUse texture size to determine precision of texture coord varyings.
bsalomon [Tue, 9 Dec 2014 17:00:49 +0000 (09:00 -0800)]
Use texture size to determine precision of texture coord varyings.

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

9 years agoRevert of Replace EncodeBitmap with an interface. (patchset #12 id:210001 of https...
scroggo [Tue, 9 Dec 2014 16:27:37 +0000 (08:27 -0800)]
Revert of Replace EncodeBitmap with an interface. (patchset #12 id:210001 of https://codereview.chromium.org/784643002/)

Reason for revert:
Failing serialization tasks in DM:

http://build.chromium.org/p/client.skia/builders/Test-Win8-ShuttleA-GTX660-x86-Debug/builds/352/steps/dm/logs/stdio

Original issue's description:
> Replace EncodeBitmap with an interface.
>
> Gives more flexibility to the caller to decide whether to use the
> encoded data returned by refEncodedData().
>
> Provides an implementation that supports the old version of
> SkPicture::serialize().
>
> TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely
>
> BUG=skia:3190
>
> Committed: https://skia.googlesource.com/skia/+/0c4aba6edb9900c597359dfa49d3ce4a41bc5dd1
>
> Committed: https://skia.googlesource.com/skia/+/02b217f80b01a7dda8493422e5257c36a9ce8464

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

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

9 years agoReplace EncodeBitmap with an interface.
scroggo [Tue, 9 Dec 2014 15:44:36 +0000 (07:44 -0800)]
Replace EncodeBitmap with an interface.

Gives more flexibility to the caller to decide whether to use the
encoded data returned by refEncodedData().

Provides an implementation that supports the old version of
SkPicture::serialize().

TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely

BUG=skia:3190

Committed: https://skia.googlesource.com/skia/+/0c4aba6edb9900c597359dfa49d3ce4a41bc5dd1

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

9 years agoRebaselines for https://codereview.chromium.org/785893004/ (Fix MatrixImageFilter...
robertphillips [Tue, 9 Dec 2014 15:15:20 +0000 (07:15 -0800)]
Rebaselines for https://codereview.chromium.org/785893004/ (Fix MatrixImageFilter computeFastBounds)

The msaa4 image diffs aren't actually due to the named CL

TBR=scroggo@google.com

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

9 years agoAvoid crash on some 64b ARM NEON platforms.
tomhudson [Tue, 9 Dec 2014 15:09:08 +0000 (07:09 -0800)]
Avoid crash on some 64b ARM NEON platforms.

The compiler may choose to use x30 for a local loop counter;
ensure it's saved. Patch from kevin.petit@arm.com,
verified by benm@google.com.

R=djsollen@google.com

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

9 years agoRebaseline GalaxyS4 and Nexus10.
scroggo [Tue, 9 Dec 2014 13:49:50 +0000 (05:49 -0800)]
Rebaseline GalaxyS4 and Nexus10.

TBR=bsalomon

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

9 years agoRevert of Replace EncodeBitmap with an interface. (patchset #11 id:190001 of https...
robertphillips [Tue, 9 Dec 2014 13:35:07 +0000 (05:35 -0800)]
Revert of Replace EncodeBitmap with an interface. (patchset #11 id:190001 of https://codereview.chromium.org/784643002/)

Reason for revert:
Compilation is failing on some bots

Original issue's description:
> Replace EncodeBitmap with an interface.
>
> Gives more flexibility to the caller to decide whether to use the
> encoded data returned by refEncodedData().
>
> Provides an implementation that supports the old version of
> SkPicture::serialize().
>
> TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely
>
> BUG=skia:3190
>
> Committed: https://skia.googlesource.com/skia/+/0c4aba6edb9900c597359dfa49d3ce4a41bc5dd1

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

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

9 years agoFix MatrixImageFilter computeFastBounds
robertphillips [Tue, 9 Dec 2014 13:28:24 +0000 (05:28 -0800)]
Fix MatrixImageFilter computeFastBounds

This CL makes the bounding box returned from SkMatrixImageFilter::computeFastBounds actually contain the final result pixels. This, in turn, fixes the first two rows of the filterfastbounds GM and the SVG web page cited in the bug.

BUG=418417

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

9 years agoDisplay text blob bounds in the debugger.
fmalita [Tue, 9 Dec 2014 13:28:20 +0000 (05:28 -0800)]
Display text blob bounds in the debugger.

Also fix YPOS.

R=robertphillips@google.com,jbroman@chromium.org

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

9 years agoCleanup GM:pictureshadertile
fmalita [Tue, 9 Dec 2014 13:23:20 +0000 (05:23 -0800)]
Cleanup GM:pictureshadertile

Post review cleanup for https://codereview.chromium.org/733203005/

TBR=robertphillips@google.com

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

9 years agoReplace EncodeBitmap with an interface.
scroggo [Tue, 9 Dec 2014 13:23:12 +0000 (05:23 -0800)]
Replace EncodeBitmap with an interface.

Gives more flexibility to the caller to decide whether to use the
encoded data returned by refEncodedData().

Provides an implementation that supports the old version of
SkPicture::serialize().

TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely

BUG=skia:3190

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

9 years agoRevert of Make all blending up to GrOptDrawState be handled by the xp/xp factory...
egdaniel [Mon, 8 Dec 2014 21:26:43 +0000 (13:26 -0800)]
Revert of Make all blending up to GrOptDrawState be handled by the xp/xp factory. (patchset #7 id:140001 of https://codereview.chromium.org/759713002/)

Reason for revert:
break many gm's

Original issue's description:
> Make all blending up to GrOptDrawState be handled by the xp/xp factory.
>
> In this cl the blending information is extracted for the xp and stored in the ODS
> which is then used as it currently is. In the follow up cl, an XP backend will be added
> and at that point all blending work will take place inside XP's.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4

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

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

9 years agoFix GrUnPreMulColor.
egdaniel [Mon, 8 Dec 2014 20:35:16 +0000 (12:35 -0800)]
Fix GrUnPreMulColor.

Current version incorrectly unpacked the resulting sk unpremulled color into rgba.

BUG=skia:3208

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

9 years agoRemove virtual clear in PdfViewer's SkNulCanvas
robertphillips [Mon, 8 Dec 2014 19:37:35 +0000 (11:37 -0800)]
Remove virtual clear in PdfViewer's SkNulCanvas

Causing compilation complaints on Windows

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

9 years agoMake all blending up to GrOptDrawState be handled by the xp/xp factory.
egdaniel [Mon, 8 Dec 2014 19:20:39 +0000 (11:20 -0800)]
Make all blending up to GrOptDrawState be handled by the xp/xp factory.

In this cl the blending information is extracted for the xp and stored in the ODS
which is then used as it currently is. In the follow up cl, an XP backend will be added
and at that point all blending work will take place inside XP's.

BUG=skia:

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

9 years agoTweak SkPictureShader's tile semantics.
fmalita [Mon, 8 Dec 2014 19:13:27 +0000 (11:13 -0800)]
Tweak SkPictureShader's tile semantics.

Currently, the tile offset is added when drawing the picture. This might
have made a tiny bit of sense when the picture was always positioned at
origin, but with a picture cull rect offset things looks really strange.

For example, to specify a tile == the picture cull rect we have to pass
in [-cullrect.x, -cullrect.y, cullrect.width, cullrect.height]. Yikes.

(there's also a bug when not passing a tile, as we use a default tile
== cullrect but don't compensate for the above oddity)

This changes the semantics of the tile offset: it is now subtracted when
drawing the picture tile. As a consequence, one can pass in a tile equal
to the cull rect and get the expected behavior (same when not passing
a tile).

This will require a minor Blink change with the roll, as one client
works around the current behavior:
https://codereview.chromium.org/789503003

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

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

9 years agoMassive N10 Rebaseline Part 2
Brian Salomon [Mon, 8 Dec 2014 18:57:30 +0000 (13:57 -0500)]
Massive N10 Rebaseline Part 2

BUG=skia:3205

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

9 years agoAdd new GM (filterfastbounds)
robertphillips [Mon, 8 Dec 2014 17:18:58 +0000 (09:18 -0800)]
Add new GM (filterfastbounds)

This new GM visualizes the fast bounds computed by various image-filter-based SkPaints. This is lead up to fixing some issues in fast bound computation.

BUG=418417

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

9 years agoConstify CreatePictureShader's picture arg.
fmalita [Mon, 8 Dec 2014 17:04:05 +0000 (09:04 -0800)]
Constify CreatePictureShader's picture arg.

R=robertphillips@google.com

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

9 years agoUpdate dftext expectations after https://codereview.chromium.org/772633003/.
jvanverth [Mon, 8 Dec 2014 16:10:31 +0000 (08:10 -0800)]
Update dftext expectations after https://codereview.chromium.org/772633003/.

BUG=skia:3195, skia:3188
TBR=scroggo@google.com

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

9 years agoremove device::clear -- no longer called
reed [Mon, 8 Dec 2014 16:00:29 +0000 (08:00 -0800)]
remove device::clear -- no longer called

BUG=skia:

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

9 years agoMassive N10 Rebaseline
Brian Salomon [Mon, 8 Dec 2014 15:50:04 +0000 (10:50 -0500)]
Massive N10 Rebaseline

BUG=skia:3193

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

9 years agomake SkColorShader private, use public factory
reed [Mon, 8 Dec 2014 14:06:36 +0000 (06:06 -0800)]
make SkColorShader private, use public factory

BUG=skia:

Need https://codereview.chromium.org/785823002/ to land first

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

9 years agoadd convexity logic and tests for scalar max, Inf, and NaN
caryclark [Mon, 8 Dec 2014 12:57:38 +0000 (04:57 -0800)]
add convexity logic and tests for scalar max, Inf, and NaN

PathOps relies on isConvex() only returning true for trivially
convex paths. The old logic also returns true if the paths that
contain NaNs and Infinities. Return kUnknown_Convexity instead
in those cases and in cases where the convexity logic computes
intermediaries that overflow.

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

9 years agoclear() is now an alias for drawPaint, so remove its virtual
reed [Sat, 6 Dec 2014 04:49:03 +0000 (20:49 -0800)]
clear() is now an alias for drawPaint, so remove its virtual

Needs these to land first:
https://codereview.chromium.org/733343005
https://codereview.chromium.org/777413004

BUG=skia:

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

9 years agoAdd support for half float alpha textures.
jvanverth [Fri, 5 Dec 2014 21:06:35 +0000 (13:06 -0800)]
Add support for half float alpha textures.

This allows us to create distance field textures with better precision,
which may help text quality.

BUG=skia:3103

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

9 years agoCheck XpFactory equality in DrawState
egdaniel [Fri, 5 Dec 2014 20:58:28 +0000 (12:58 -0800)]
Check XpFactory equality in DrawState

BUG=skia:

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

9 years agorebaseline after GM change
reed [Fri, 5 Dec 2014 20:46:22 +0000 (12:46 -0800)]
rebaseline after GM change

BUG=skia:
TBR=
NOTRY=True

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

9 years agoFix include for GrPortderDuffXferProcessor.cpp
egdaniel [Fri, 5 Dec 2014 20:40:52 +0000 (12:40 -0800)]
Fix include for GrPortderDuffXferProcessor.cpp
TBR=bsalomon@google.com

BUG=skia:

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

9 years agoFactor text size device mapping in SkScalerContext.
bungeman [Fri, 5 Dec 2014 20:26:44 +0000 (12:26 -0800)]
Factor text size device mapping in SkScalerContext.

All of our font back-ends use the text size in some way other than
simple concatentation with the current matrix. The code here finds
the full device matrix and then decomposes it to extract the text
size.

FreeType, GDI, and DirectWrite use the text size as the pre-hint scale.
CoreText will not scale color emoji above the requested text size,
and certain features like 'trak' are performed on the text size.

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

9 years agoget rid of static gps
joshualitt [Fri, 5 Dec 2014 20:14:43 +0000 (12:14 -0800)]
get rid of static gps

This may cause a perf regression

TBR=
BUG=skia:

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

9 years agoMove GrPorterDuffXferProcessor to include/gpu/effects.
egdaniel [Fri, 5 Dec 2014 20:14:26 +0000 (12:14 -0800)]
Move GrPorterDuffXferProcessor to include/gpu/effects.

BUG=skia:

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

9 years agoUse size of SkRect as the key for blur mask cache
qiankun.miao [Fri, 5 Dec 2014 19:16:25 +0000 (11:16 -0800)]
Use size of SkRect as the key for  blur mask cache

BUG=429409

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

9 years agorebaseline after change to imagefilterscropped gm change
reed [Fri, 5 Dec 2014 17:18:27 +0000 (09:18 -0800)]
rebaseline after change to imagefilterscropped gm change

BUG=skia:
NOTRY=True
TBR=

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

9 years agoFix overoptimization in distance field code on N7 and N10.
jvanverth [Fri, 5 Dec 2014 15:56:53 +0000 (07:56 -0800)]
Fix overoptimization in distance field code on N7 and N10.

BUG=skia:3188

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

9 years agoremove unnecessary save/clip/restore
reed [Fri, 5 Dec 2014 15:33:00 +0000 (07:33 -0800)]
remove unnecessary save/clip/restore

BUG=skia:

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

9 years agoDon't upload metrics we don't want to track.
mtklein [Fri, 5 Dec 2014 15:25:16 +0000 (07:25 -0800)]
Don't upload metrics we don't want to track.

BUG=skia:

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

9 years agoTolerate unstarted builds in rebaseline server.
bungeman [Fri, 5 Dec 2014 15:14:53 +0000 (07:14 -0800)]
Tolerate unstarted builds in rebaseline server.

Currently server.py --rietveld-issue will crash if there are any
unstarted trybots on the latest patch. Instead of crashing, warn
that the bot hasn't started yet.

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

9 years agoUpdate SKP version
skia.buildbots [Fri, 5 Dec 2014 07:03:33 +0000 (23:03 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoIgnore failures for n7 and n10 dftext GM.
jvanverth [Fri, 5 Dec 2014 00:01:53 +0000 (16:01 -0800)]
Ignore failures for n7 and n10 dftext GM.

BUG=skia:3188
TBR=halcanary@google.com

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

9 years agoclean up default precision handling
bsalomon [Thu, 4 Dec 2014 21:02:47 +0000 (13:02 -0800)]
clean up default precision handling

R=joshualitt@google.com

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

9 years agoRemove backend factories
joshualitt [Thu, 4 Dec 2014 19:35:33 +0000 (11:35 -0800)]
Remove backend factories

BUG=skia:

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

9 years agonanobench: upload peak memory usage as its own trace.
mtklein [Thu, 4 Dec 2014 18:47:02 +0000 (10:47 -0800)]
nanobench: upload peak memory usage as its own trace.

We'll end up with a result like this:
      "memory_usage" : {
         "meta" : {
            "max_rss_mb" : 57
         }
      }

BUG=skia:

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

9 years agoGanesh text rendering cleanup.
jvanverth [Thu, 4 Dec 2014 18:46:50 +0000 (10:46 -0800)]
Ganesh text rendering cleanup.

Rename GrTextStrike.{cpp.h} to GrFontCache.{cpp,h}
Move contents of GrTextStrike_impl.h to GrFontCache.h
Move glyph uploading to a separate function and remove harmful gotos
Add assert on glyph upload failure (shouldn't happen)

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

9 years agorebaseline pdf-native
halcanary [Thu, 4 Dec 2014 18:41:45 +0000 (10:41 -0800)]
rebaseline pdf-native

TBR=
NOTRY=true

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

9 years agocreate and thread batch tracker object
joshualitt [Thu, 4 Dec 2014 18:41:40 +0000 (10:41 -0800)]
create and thread batch tracker object

I remove the factory on the next CL

BUG=skia:

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

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

9 years agopdf-mac clear to black rebaseline
halcanary [Thu, 4 Dec 2014 18:21:04 +0000 (10:21 -0800)]
pdf-mac clear to black rebaseline

NOTRY=true
TBR=
NOTREECHECKS=true

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

9 years agomove program descriptor generation to flush
joshualitt [Thu, 4 Dec 2014 16:59:10 +0000 (08:59 -0800)]
move program descriptor generation to flush

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/829e1b80b1020b17f2078020c990e079b70c077c

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

9 years agoUpload picture byte size and op count metrics for SKP recording.
mtklein [Thu, 4 Dec 2014 16:46:51 +0000 (08:46 -0800)]
Upload picture byte size and op count metrics for SKP recording.

Look okay?

{
   "results" : {
      "desk_amazon.skp_1264_3999" : {
         "nonrendering" : {
            "bytes" : 75656,
            "max_ms" : 1.150187,
            "mean_ms" : 1.150187,
            "median_ms" : 1.150187,
            "min_ms" : 1.150187,
            "ops" : 659,
            "options" : {
               "bench_type" : "recording",
               "clip" : "0 0 1000 1000",
               "name" : "desk_amazon.skp",
               "scale" : "1",
               "source_type" : "skp"
            }
         }
      },
...

BUG=skia:

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

9 years agoRebaseline multipicturedraw GMs
robertphillips [Thu, 4 Dec 2014 16:43:53 +0000 (08:43 -0800)]
Rebaseline multipicturedraw GMs

This is clean up after https://codereview.chromium.org/753253002/ (Use variable length key (rather than accumulated matrix) as save layer hoisting key)

TBR=halcanary@google.com

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

9 years agoquick fix to land clear() change
reed [Thu, 4 Dec 2014 16:39:09 +0000 (08:39 -0800)]
quick fix to land clear() change

BUG=skia:
TBR=
NOTRY=True

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

9 years agoFix SKPBench tiling so MPD and non-MPD match
robertphillips [Thu, 4 Dec 2014 16:31:02 +0000 (08:31 -0800)]
Fix SKPBench tiling so MPD and non-MPD match

Two issues with the SKPBench tile computation were causing the MPD path to do more work:

The clip from the parent canvas wasn't being used to trim content off the edges of the MPD tiles

The non-MPD path was not taking the scale into account in its tile placement (resulting in it having fewer, larger active tiles when scaling).

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

9 years agocheck (thread-tricky) colortable after we've copied the bitmap into a per-thread...
reed [Thu, 4 Dec 2014 16:06:17 +0000 (08:06 -0800)]
check (thread-tricky) colortable after we've copied the bitmap into a per-thread context

BUG=skia:

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

9 years agoFix up RecordReplaceDrawTest memory leak.
mtklein [Thu, 4 Dec 2014 15:53:21 +0000 (07:53 -0800)]
Fix up RecordReplaceDrawTest memory leak.

http://build.chromium.org/p/client.skia/builders/Test-Ubuntu12-ShuttleA-GTX550Ti-x86_64-Release-Valgrind/builds/151/steps/dm/logs/stdio

BUG=skia:

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

9 years agoChange clear() to respect the clip
reed [Thu, 4 Dec 2014 15:50:14 +0000 (07:50 -0800)]
Change clear() to respect the clip

This reverts commit af641a1c10f176cb9617026d3cc93c117a85d13d.

BUG=skia:
TBR=

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

9 years agoAdd SSSE3 acceleration for S32_D16_filter_DXDY
qiankun.miao [Thu, 4 Dec 2014 14:27:03 +0000 (06:27 -0800)]
Add SSSE3 acceleration for S32_D16_filter_DXDY

With this CL, related nanobench can be improved for 565 config.
                bitmap_BGRA_8888_scale_rotate_bilerp     115us -> 70.5us       0.61x
bitmap_BGRA_8888_update_volatile_scale_rotate_bilerp     115us -> 70.5us       0.61x
         bitmap_BGRA_8888_update_scale_rotate_bilerp     112us ->   68us       0.6x

BUG=skia:

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

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

9 years agoRevert of move program descriptor generation to flush (patchset #7 id:120001 of https...
joshualitt [Thu, 4 Dec 2014 14:01:45 +0000 (06:01 -0800)]
Revert of move program descriptor generation to flush (patchset #7 id:120001 of https://codereview.chromium.org/777673003/)

Reason for revert:
breaking linux build

Original issue's description:
> move program descriptor generation to flush
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/829e1b80b1020b17f2078020c990e079b70c077c

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

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