platform/upstream/libSkiaSharp.git
9 years agoUpdate GM to permit correctness testing of MPD on the GMs
robertphillips [Thu, 11 Dec 2014 21:10:23 +0000 (13:10 -0800)]
Update GM to permit correctness testing of MPD on the GMs

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

9 years agonew hairlines gm unstable on hd2000
joshualitt [Thu, 11 Dec 2014 21:10:05 +0000 (13:10 -0800)]
new hairlines gm unstable on hd2000

NOTRY=True
TBR=
BUG=skia:

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

9 years agoAdd parameter to specify gyp dir to gyp_to_android.
scroggo [Thu, 11 Dec 2014 21:05:14 +0000 (13:05 -0800)]
Add parameter to specify gyp dir to gyp_to_android.

NOTRY=true
NOTREECHECKS=True
BUG=skia:3233

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

9 years agoEnforce thread-safety of bitmaps in pictures via the type.
mtklein [Thu, 11 Dec 2014 20:43:04 +0000 (12:43 -0800)]
Enforce thread-safety of bitmaps in pictures via the type.

No runtime difference here, but it makes it impossible to forget to make
a shallow copy; you can't get at the full bitmap without it.

NOTREECHECKS=true

BUG=skia:

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

9 years agoForce embedding full font when serializing pictures.
mtklein [Thu, 11 Dec 2014 19:06:00 +0000 (11:06 -0800)]
Force embedding full font when serializing pictures.

We can't do this unconditionally or pipe will become stupidly slow.

DM's serialize mode fails subtly on Mac when we force embedding, so I've
#ifdef'd that away.  Other platforms look fine.

BUG=skia:

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

9 years agoReplace EncodeBitmap with an interface.
scroggo [Thu, 11 Dec 2014 18:53:58 +0000 (10:53 -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 agoMaking GrGpuResource::release public for special case in Blink
junov [Thu, 11 Dec 2014 18:32:32 +0000 (10:32 -0800)]
Making GrGpuResource::release public for special case in Blink

BUG=440462

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

9 years agoRemove action_runner steps for worldjournal pageset to prevent crashes
rmistry [Thu, 11 Dec 2014 18:24:27 +0000 (10:24 -0800)]
Remove action_runner steps for worldjournal pageset to prevent crashes

BUG=skia:3196
NOTRY=true

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

9 years agohmm one more hairlines 'straggler' might be flipflopping
joshualitt [Thu, 11 Dec 2014 18:02:30 +0000 (10:02 -0800)]
hmm one more hairlines 'straggler' might be flipflopping

TBR=
NOTRY=
BUG=skia:

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

9 years agostraggler hairline
joshualitt [Thu, 11 Dec 2014 16:58:37 +0000 (08:58 -0800)]
straggler hairline

NOTRY=True
TBR=
BUG=skia:

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

9 years agoPoppler rebaseline for clipped-bitmap-shaders-clamp
fmalita [Thu, 11 Dec 2014 16:20:38 +0000 (08:20 -0800)]
Poppler rebaseline for clipped-bitmap-shaders-clamp

Follow-up for https://codereview.chromium.org/787043006.

TBR=scroggo@google.com

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

9 years agoApply the layer's image filter to the hoisted image
robertphillips [Thu, 11 Dec 2014 16:20:31 +0000 (08:20 -0800)]
Apply the layer's image filter to the hoisted image

Exposing SkSurface_Gpu makes me sad and I would welcome alternatives.

This change is desireable since it greatly decreases the render target swaps.

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

9 years agorebase cpu hairlines
joshualitt [Thu, 11 Dec 2014 15:37:48 +0000 (07:37 -0800)]
rebase cpu hairlines

NOTRY=True
NOTREECHECKS=True
TBR=
BUG=skia:

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

9 years agoupdate test after I added a clip call, making the count odd
reed [Thu, 11 Dec 2014 15:30:58 +0000 (07:30 -0800)]
update test after I added a clip call, making the count odd

BUG=skia:
TBR=
NOTREECHECKS=True
NOTRY=True

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

9 years agoDefer saves() until they're needed
reed [Thu, 11 Dec 2014 15:07:37 +0000 (07:07 -0800)]
Defer saves() until they're needed

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

BUG=skia:

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

9 years agorebase hairlines
joshualitt [Thu, 11 Dec 2014 14:53:34 +0000 (06:53 -0800)]
rebase hairlines

TBR=
BUG=skia:

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

9 years agoReally fix valgrind issue
joshualitt [Thu, 11 Dec 2014 14:52:01 +0000 (06:52 -0800)]
Really fix valgrind issue

TBR=
BUG=skia:

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

9 years agoMore rebaselines.
scroggo [Thu, 11 Dec 2014 14:22:32 +0000 (06:22 -0800)]
More rebaselines.

TBR=robertphillips
BUG=skia:

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

9 years agoMark nexus10 images as flaky.
scroggo [Thu, 11 Dec 2014 14:21:50 +0000 (06:21 -0800)]
Mark nexus10 images as flaky.

TBR=robertphillips
BUG=skia:3226

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

9 years agoAdditional rebaselines for 3490263287e9.
bungeman [Thu, 11 Dec 2014 08:37:37 +0000 (03:37 -0500)]
Additional rebaselines for 3490263287e9.

TBR=bungeman1

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

9 years agoReplace use of deprecated CG methods.
bungeman [Thu, 11 Dec 2014 05:43:27 +0000 (21:43 -0800)]
Replace use of deprecated CG methods.

OSX10.9 and iOS7.0 deprecated CGContextShowGlyphsAtPoint so a new API
should be used. OSX10.7 and iOS4.2 replace CGContextShowGlyphsAtPoint with
CTFontDrawGlyphs. OSX10.5 and iOS2.0 have CGContextShowGlyphsAtPositions
which works similarly to CTFontDrawGlyphs and has not yet been deprecated.
This change allows the use of CTFontDrawGlyphs when it is available,
falling back to CGContextShowGlyphsAtPositions when it isn't.

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

9 years agoRevert of Create xfer processor backend. (patchset #6 id:100001 of https://codereview...
joshualitt [Wed, 10 Dec 2014 23:03:00 +0000 (15:03 -0800)]
Revert of Create xfer processor backend. (patchset #6 id:100001 of https://codereview.chromium.org/764643004/)

Reason for revert:
CL breaks windows DM

Original issue's description:
> 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:
>
> Committed: https://skia.googlesource.com/skia/+/4dffc940c430eec66d4707490eace19c9b3f7904

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

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

9 years agoRevert of Add more ignore gm's for recent Xfer Processor CL (patchset #1 id:1 of...
joshualitt [Wed, 10 Dec 2014 22:57:56 +0000 (14:57 -0800)]
Revert of Add more ignore gm's for recent Xfer Processor CL (patchset #1 id:1 of https://codereview.chromium.org/786083004/)

Reason for revert:
Preventing revert of cl breaking windows DM

Original issue's description:
> Add more ignore gm's for recent Xfer Processor CL
>
> TBR=bsalomon@google.com
> NOTRY=true
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/125251133a62a07225b7119ab3ac90153ba4c58a

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

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

9 years agoRevert of Fix to set correct output type when blending when we've read dst (patchset...
joshualitt [Wed, 10 Dec 2014 22:57:50 +0000 (14:57 -0800)]
Revert of Fix to set correct output type when blending when we've read dst (patchset #4 id:60001 of https://codereview.chromium.org/791143002/)

Reason for revert:
Breaks DM on windows

Original issue's description:
> Fix to set correct output type when blending when we've read dst
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/733fc2054044377e914559fa4f46db66ab7d9cea

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

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

9 years agofix for chrome bug with sub pixel hairlines
joshualitt [Wed, 10 Dec 2014 22:23:40 +0000 (14:23 -0800)]
fix for chrome bug with sub pixel hairlines

BUG=skia:

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

9 years agoInitial baselines for tall_stretched_bitmaps GM
Brian Salomon [Wed, 10 Dec 2014 22:20:15 +0000 (17:20 -0500)]
Initial baselines for tall_stretched_bitmaps GM

BUG=skia:

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

9 years agoRevert of Remove GP from drawstate, revision of invariant output for GP (patchset...
joshualitt [Wed, 10 Dec 2014 22:12:22 +0000 (14:12 -0800)]
Revert of Remove GP from drawstate, revision of invariant output for GP (patchset #9 id:160001 of https://codereview.chromium.org/791743003/)

Reason for revert:
breaks mac

Original issue's description:
> Remove GP from drawstate, revision of invariant output for GP
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c6bc58eded89b0c0a36b8e20e193c200f297a0da

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

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

9 years agoRemove GP from drawstate, revision of invariant output for GP
joshualitt [Wed, 10 Dec 2014 21:48:57 +0000 (13:48 -0800)]
Remove GP from drawstate, revision of invariant output for GP

BUG=skia:

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

9 years agoDon't store an SkMatrix in BitmapShaderKey.
fmalita [Wed, 10 Dec 2014 21:01:43 +0000 (13:01 -0800)]
Don't store an SkMatrix in BitmapShaderKey.

SkMatrix makes for a poor key component due to mutable/cache fields.

Use its canonical scalars instead.

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

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

9 years agoFix to set correct output type when blending when we've read dst
egdaniel [Wed, 10 Dec 2014 20:45:20 +0000 (12:45 -0800)]
Fix to set correct output type when blending when we've read dst

BUG=skia:

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

9 years agofix for valgrind uninit variables
joshualitt [Wed, 10 Dec 2014 20:28:08 +0000 (12:28 -0800)]
fix for valgrind uninit variables

TBR=bsalomon@google.com
BUG=skia:

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

9 years agoRebaseline imagefiltersscaled images (and rm from ignored-tests file)
robertphillips [Wed, 10 Dec 2014 20:23:09 +0000 (12:23 -0800)]
Rebaseline imagefiltersscaled images (and rm from ignored-tests file)

Rebaselines for https://codereview.chromium.org/785893004/ (Fix MatrixImageFilter computeFastBounds)

TBR=scroggo@google.com

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

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