platform/upstream/libSkiaSharp.git
9 years agoRevert of Switch to a more complete method of filtering hoisted layers (patchset...
robertphillips [Tue, 13 Jan 2015 18:54:37 +0000 (10:54 -0800)]
Revert of Switch to a more complete method of filtering hoisted layers (patchset #1 id:1 of https://codereview.chromium.org/842323003/)

Reason for revert:
nanobench woes

Original issue's description:
> Switch to a more complete method of filtering hoisted layers
>
> Committed: https://skia.googlesource.com/skia/+/74668a8e818fd891a08c4966cc5973b04c1ad992

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

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

9 years agoallow simple
mtklein [Tue, 13 Jan 2015 18:51:36 +0000 (10:51 -0800)]
allow simple

BUG=skia:

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

9 years agoSwitch to a more complete method of filtering hoisted layers
robertphillips [Tue, 13 Jan 2015 18:37:55 +0000 (10:37 -0800)]
Switch to a more complete method of filtering hoisted layers

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

9 years agonamespace {} trick for SK_DECLARE_STATIC_ONCE
mtklein [Tue, 13 Jan 2015 16:40:23 +0000 (08:40 -0800)]
namespace {} trick for SK_DECLARE_STATIC_ONCE

Like all our other SK_DECLARE_STATIC_*, it's usually not a thread-safe
thing to put inside a function.  Adding namespace {} prevents that
syntactically.

Needs https://codereview.chromium.org/841263004/ to land first.

BUG=chromium:447890

No public API changes.
TBR=reed@google.com

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

9 years agoHide ARM assembly memset symbols.
torne [Tue, 13 Jan 2015 16:37:34 +0000 (08:37 -0800)]
Hide ARM assembly memset symbols.

Prevent these symbols from being exported from any library which
includes skia by marking them .hidden, as they are implementation
details of skia.

BUG=skia:3303

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

9 years agoSimplify SkInstCnt
mtklein [Tue, 13 Jan 2015 16:22:43 +0000 (08:22 -0800)]
Simplify SkInstCnt

This code requires fewer macros to use it (just one), has less code in macro
definitions, and has simpler synchronization code (just atomic ints, no SkOnce,
no SkMutex, etc.)

A minor downside, we lose indentation and reverse-ordering in the final report:
  Leaked SkRefCntBase: 7
     Leaked SkFontMgr: 1
     Leaked SkWeakRefCnt: 1
         Leaked SkTypeface: 1
     Leaked SkFlattenable: 3
         Leaked SkXfermode: 3
     Leaked SkPathRef: 1
     Leaked SkPixelRef: 1
         Leaked SkMallocPixelRef: 1
becomes
  Leaked SkXfermode: 3
  Leaked SkMallocPixelRef: 1
  Leaked SkPixelRef: 1
  Leaked SkPathRef: 1
  Leaked SkFlattenable: 3
  Leaked SkTypeface: 1
  Leaked SkWeakRefCnt: 1
  Leaked SkFontMgr: 1
  Leaked SkRefCntBase: 7

This is motivated by wanting to land https://codereview.chromium.org/806473006/,
which makes sure all static use of SkOnce are in global scope.  The current
implementation of SkInstCnt uses them in function scope, which isn't safe.
BUG=skia:

No public API changes.
TBR=reed@google.com

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

9 years agoGeneric PDF shader fallback
fmalita [Tue, 13 Jan 2015 16:06:11 +0000 (08:06 -0800)]
Generic PDF shader fallback

Instead of ignoring unsupported shaders (and essentially filling with
solid black), convert them to bitmap shaders using on-the-fly
rasterization.

BUG=skia:3299
R=reed@google.com,halcanary@google.com

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

9 years agoIn SkPDFDocument::emitPDF(), stop pre-calculating file offsets.
halcanary [Tue, 13 Jan 2015 15:12:57 +0000 (07:12 -0800)]
In SkPDFDocument::emitPDF(), stop pre-calculating file offsets.

* Add Streamer utility class which measures the current
  pdf offset by calling SkWStream::bytesWritten(). Calls
  SkPDFCatalog::setFileOffset() and SkPDFObject::emit() at
  the same time to guarantee that everything works out.

* SkPDFCatalog::setFileOffset() no longer calculates the
  object's size.

* SkPDFCatalog::setSubstituteResourcesOffsets() removed.

* SkPDFCatalog::emitSubstituteResources() removed and
  getSubstituteList() made public in its place.

* Remove SkPDFPage::getPageSize and SkPDFPage::emitPage.
  Replace with SkPDFPage::getContentStream().

* SkPDFObject::getOutputSize no longer virtual, only used in
  unit tests.  All SkPDFObject subclasses getOutputSize()
  overrides removed.

* SkPDFObject::getIndirectOutputSize removed.

* PDFPrimitivesTest updated for new functions.

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

9 years agoUpdate SKP version
skia.buildbots [Tue, 13 Jan 2015 12:26:37 +0000 (04:26 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoremove NewTexture?
reed [Tue, 13 Jan 2015 12:00:55 +0000 (04:00 -0800)]
remove NewTexture?

BUG=skia:
TBR=

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

9 years agoRevert of Fix GPU clipped-AA vs. non-AA drawRect discrepancy (patchset #2 id:20001...
robertphillips [Tue, 13 Jan 2015 02:26:01 +0000 (18:26 -0800)]
Revert of Fix GPU clipped-AA vs. non-AA drawRect discrepancy (patchset #2 id:20001 of https://codereview.chromium.org/839883003/)

Reason for revert:
This CL introduces rendering conflicts with hairlines (i.e., the hairlines get overwritten). These conflicts are particularly visible on the following GMs (for the Ubuntu and Android gpu configs):

coloremoji & complexclip2_rrect_bw

Original issue's description:
> Fix GPU clipped-AA vs. non-AA drawRect discrepancy
>
> In the clip stack we were manually rounding out non-AA clip rects but leaving the hardening of non-AA drawRects up to the GPU. In some border cases the GPU can truncate rather than round out resulting in visual discrepancies.
>
> BUG=423834
>
> Committed: https://skia.googlesource.com/skia/+/933a03fecb65c83f81cf65d5cf9870c69aa379ff

TBR=bsalomon@google.com,jvanverth@google.com
NOTREECHECKS=true
NOTRY=true
BUG=423834

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

9 years agoFix GPU clipped-AA vs. non-AA drawRect discrepancy
robertphillips [Mon, 12 Jan 2015 23:50:38 +0000 (15:50 -0800)]
Fix GPU clipped-AA vs. non-AA drawRect discrepancy

In the clip stack we were manually rounding out non-AA clip rects but leaving the hardening of non-AA drawRects up to the GPU. In some border cases the GPU can truncate rather than round out resulting in visual discrepancies.

BUG=423834

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

9 years agoSIMPLE_GM generates less code
halcanary [Mon, 12 Jan 2015 23:27:46 +0000 (15:27 -0800)]
SIMPLE_GM generates less code

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

9 years agoChange function signature of SkPDFObject::emitObject.
halcanary [Mon, 12 Jan 2015 18:07:50 +0000 (10:07 -0800)]
Change function signature of SkPDFObject::emitObject.

Replace virutal SkPDFObject::emitObject(s, c, true) with non-virtual
SkPDFObject::emitIndirectObject(s, c), since none of the subclasses do
(or should do) anything different.

Replace object->emitObject(s, c, false) with object->emitObject(s, c)

This is one step in simplifying the SkPDFObject interface to allow for
the next step in refactoring.

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

9 years agoFix overlap test for 64-bit pointers in SkMatrix
qiankun.miao [Mon, 12 Jan 2015 15:50:25 +0000 (07:50 -0800)]
Fix overlap test for 64-bit pointers in SkMatrix

BUG=skia:3297

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

9 years agoRemove SK_SUPPORT_LEGACY_GRADIENT_PRECISION
fmalita [Mon, 12 Jan 2015 14:20:39 +0000 (06:20 -0800)]
Remove SK_SUPPORT_LEGACY_GRADIENT_PRECISION

No longer used by Chromium.

BUG=447870
R=reed@google.com

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

9 years agoUpdate SKP version
skia.buildbots [Mon, 12 Jan 2015 06:29:47 +0000 (22:29 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoUpdate SKP version
skia.buildbots [Sun, 11 Jan 2015 06:58:16 +0000 (22:58 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoadd stroke params to c api
reed [Sun, 11 Jan 2015 01:59:31 +0000 (17:59 -0800)]
add stroke params to c api

BUG=skia:
TBR=

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

9 years agoadd --rasterPDF flag to DM
halcanary [Sat, 10 Jan 2015 19:18:04 +0000 (11:18 -0800)]
add --rasterPDF flag to DM

If no rasterizer is compiled in, this flag does nothing.  Default
value (true) gives the same behavior as before.

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

9 years agoUpdate SKP version
skia.buildbots [Sat, 10 Jan 2015 07:07:53 +0000 (23:07 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoremove (dead) SK_SUPPORT_LEGACY_DRAWDATA and SK_SUPPORT_LEGACY_CANVAS_VIRTUAL
reed [Fri, 9 Jan 2015 22:17:40 +0000 (14:17 -0800)]
remove (dead) SK_SUPPORT_LEGACY_DRAWDATA and SK_SUPPORT_LEGACY_CANVAS_VIRTUAL

BUG=skia:
TBR=

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

9 years agoDocument some skia perf interesting queries.
jcgregorio [Fri, 9 Jan 2015 18:35:52 +0000 (10:35 -0800)]
Document some skia perf interesting queries.

Preview here: http://skiadocs.com:8000/dev/tools/skiaperf?cl=839303002

BUG=skia:

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

9 years agoFix up all the easy virtual ... SK_OVERRIDE cases.
mtklein [Fri, 9 Jan 2015 18:06:39 +0000 (10:06 -0800)]
Fix up all the easy virtual ... SK_OVERRIDE cases.

This fixes every case where virtual and SK_OVERRIDE were on the same line,
which should be the bulk of cases.  We'll have to manually clean up the rest
over time unless I level up in regexes.

for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end

BUG=skia:

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

9 years agoCan't include SkTypes.h from ports/
Mike Klein [Fri, 9 Jan 2015 17:29:08 +0000 (12:29 -0500)]
Can't include SkTypes.h from ports/

BUG=skia:

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

9 years agoUse error-checking mutexes in Debug builds.
mtklein [Fri, 9 Jan 2015 17:02:44 +0000 (09:02 -0800)]
Use error-checking mutexes in Debug builds.

Upside:   our deadlock detection is now thread-safe.
Downside: static mutexes on Macs won't have deadlock detection until we drop 10.6.

BUG=skia:3294

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

9 years agorebaseline after conic change
reed [Fri, 9 Jan 2015 16:36:42 +0000 (08:36 -0800)]
rebaseline after conic change

BUG=skia:
TBR=
NOTRY=True

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

9 years agoPictureNestingBench: stay in ints.
mtklein [Fri, 9 Jan 2015 16:33:36 +0000 (08:33 -0800)]
PictureNestingBench: stay in ints.

BUG=skia:

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

9 years agoUpstream custom freetype embolding strength from Android
djsollen [Fri, 9 Jan 2015 16:18:13 +0000 (08:18 -0800)]
Upstream custom freetype embolding strength from Android

BUG=skia:2377

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

9 years agoRemove SkTileGrid (except for TileGridInfo).
mtklein [Fri, 9 Jan 2015 14:41:48 +0000 (06:41 -0800)]
Remove SkTileGrid (except for TileGridInfo).

TBR=reed@google.com

BUG=skia:3085

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

9 years agorebaseline NexusPlayer after conic fix
reed [Fri, 9 Jan 2015 14:36:49 +0000 (06:36 -0800)]
rebaseline NexusPlayer after conic fix

BUG=skia:
TBR=
NOTRY=True

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

9 years agoremove unneeded flags
reed [Fri, 9 Jan 2015 14:09:32 +0000 (06:09 -0800)]
remove unneeded flags

BUG=skia:

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

9 years agoUpdate SKP version
skia.buildbots [Fri, 9 Jan 2015 07:13:52 +0000 (23:13 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoAdd a favicon for docs.
jcgregorio [Thu, 8 Jan 2015 21:42:13 +0000 (13:42 -0800)]
Add a favicon for docs.

BUG=skia:

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

9 years agorebaseline after crrev.com/840653002
halcanary [Thu, 8 Jan 2015 20:36:30 +0000 (12:36 -0800)]
rebaseline after crrev.com/840653002

NOTRY=true
TBR=

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

9 years agoModify transparency_check GM to always tile correctly.
halcanary [Thu, 8 Jan 2015 20:11:42 +0000 (12:11 -0800)]
Modify transparency_check GM to always tile correctly.

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

9 years agoAdd Linux quick start docs
jcgregorio [Thu, 8 Jan 2015 19:28:51 +0000 (11:28 -0800)]
Add Linux quick start docs

Preview: http://skiadocs.com:8000/user/quick/linux?cl=846523002

BUG=skia:

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

9 years agorebaseline after change to GM:c_gms
reed [Thu, 8 Jan 2015 19:08:36 +0000 (11:08 -0800)]
rebaseline after change to GM:c_gms

BUG=skia:
TBR=
NOTRY=True

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

9 years agoSkPDFImage no longer caches a unpremul version of N32 bitmaps.
halcanary [Thu, 8 Jan 2015 19:05:35 +0000 (11:05 -0800)]
SkPDFImage no longer caches a unpremul version of N32 bitmaps.

This reduces PDF memory overhead by 30% over all GMs.

This reduces PDF memory overhead by 41% over all SKPs in
chromium-skia-gm/playback_${SKP_VERSION}/skps.

BUG=skia:3030

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

9 years agoAdding user doc section and core files for new site
hcm [Thu, 8 Jan 2015 18:43:34 +0000 (10:43 -0800)]
Adding user doc section and core files for new site
- Updated QSGs with relative links to download page, removed outdated and googler-only iOS instructions.
- Will add "contributing" page and update project roles link in next batch with developer section

link: http://skiadocs.com:8000/user/quick/android?cl=834353003
BUG=skia:

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

9 years agoremove flags that are now in chrome's SkUserConfig.h
reed [Thu, 8 Jan 2015 18:20:05 +0000 (10:20 -0800)]
remove flags that are now in chrome's SkUserConfig.h

to land after https://codereview.chromium.org/844783002/

BUG=skia:
TBR=

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

9 years agoAllow non-atlasable layer to still be hoisted
robertphillips [Thu, 8 Jan 2015 18:15:25 +0000 (10:15 -0800)]
Allow non-atlasable layer to still be hoisted

The PlausiblyAtlasable check was preventing large layers from ever being hoisted in the FindLayersToHoist path.

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

9 years agoWork around changes in OSX 10.10.
bungeman [Thu, 8 Jan 2015 16:33:44 +0000 (08:33 -0800)]
Work around changes in OSX 10.10.

In 10.10.1 CTFontGetAdvancesForGlyphs applies the font
transform to the width of the advance but always sets the
height of the advance to 0. Work around this by measuring the
advance with an unrotated font and apply the transform
manually.

In 10.7 through 10.9 CTFontDrawGlyphs appears to take
'positions' in text space and acts like
CGContextShowGlyphsAtPosition. In 10.10.1, these 'positions' now appear to be in glyph space, and
CTFontDrawGlyphs maps the glyph positions internally.

BUG=chromium:442574

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

9 years agorebaseline after changing GM
reed [Thu, 8 Jan 2015 16:02:49 +0000 (08:02 -0800)]
rebaseline after changing GM

BUG=skia:
TBR=
NOTRY=True

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

9 years agoUpdate SKP version
skia.buildbots [Thu, 8 Jan 2015 07:10:13 +0000 (23:10 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoRevert of Cache blur mask for rects which can not break into nine-patch (patchset...
qiankun.miao [Thu, 8 Jan 2015 03:20:49 +0000 (19:20 -0800)]
Revert of Cache blur mask for rects which can not break into nine-patch (patchset #10 id:200001 of https://codereview.chromium.org/729463002/)

Reason for revert:
revert it due to a memory leak.
==8017==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 25992 byte(s) in 2 object(s) allocated from:
    #0 0x7feb53030e0b in __interceptor_malloc
(/home/default/storage/skia-repo/buildbot/skiabot-linux-xsan-000/build/slave/Test-Ubuntu13_10-GCE-NoGPU-x86_64-Debug-ASAN/build/skia/out/Debug/gm+0x24fe0b)
    #1 0x7feb54d54f76 in sk_malloc_flags(unsigned long, unsigned int)
/home/default/storage/skia-repo/buildbot/skiabot-linux-xsan-000/build/slave/Test-Ubuntu13_10-GCE-NoGPU-x86_64-Debug-ASAN/build/skia/out/Debug/../../src/ports/SkMemory_malloc.cpp:54:15
    #2 0x7feb54d54d4a in sk_malloc_throw(unsigned long)
/home/default/storage/skia-repo/buildbot/skiabot-linux-xsan-000/build/slave/Test-Ubuntu13_10-GCE-NoGPU-x86_64-Debug-ASAN/build/skia/out/Debug/../../src/ports/SkMemory_malloc.cpp:40:12
    #3 0x7feb539f5a77 in SkMask::AllocImage(unsigned long)
/home/default/storage/skia-repo/buildbot/skiabot-linux-xsan-000/build/slave/Test-Ubuntu13_10-GCE-NoGPU-x86_64-Debug-ASAN/build/skia/out/Debug/../../src/core/SkMask.cpp:37:22
    #4 0x7feb53fe5c34 in (anonymous
namespace)::copy_cacheddata_to_mask(SkCachedData*, SkMask*)
/home/default/storage/skia-repo/buildbot/skiabot-linux-xsan-000/build/slave/Test-Ubuntu13_10-GCE-NoGPU-x86_64-Debug-ASAN/build/skia/out/Debug/../../src/core/SkMaskCache.cpp:25:20
    #5 0x7feb53fea064 in SkMaskCache::FindAndCopy(float, SkBlurStyle,
SkBlurQuality, SkRect const*, int, SkMask*)
/home/default/storage/skia-repo/buildbot/skiabot-linux-xsan-000/build/slave/Test-Ubuntu13_10-GCE-NoGPU-x86_64-Debug-ASAN/build/skia/out/Debug/../../src/core/SkMaskCache.cpp:224:26
    #6 0x7feb539f957e in SkMaskFilter::filterPath(SkPath const&, SkMatrix
const&, SkRasterClip const&, SkBlitter*, SkPaint::Style) const
/home/default/storage/skia-repo/buildbot/skiabot-linux-xsan-000/build/slave/Test-Ubuntu13_10-GCE-NoGPU-x86_64-Debug-ASAN/build/skia/out/Debug/../../src/core/SkMaskFilter.cpp:270:14
    #7 0x7feb5392e920 in SkDraw::drawPath(SkPath const&, SkPaint const&,
SkMatrix const*, bool, bool, SkBlitter*) const
/home/default/storage/skia-repo/buildbot/skiabot-linux-xsan-000/build/slave/Test-Ubuntu13_10-GCE-NoGPU-x86_64-Debug-ASAN/build/skia/out/Debug/../../src/core/SkDraw.cpp:1117:13
    #8 0x7feb53694afc in SkDraw::drawPath(SkPath const&, SkPaint const&,
SkMatrix const*, bool) const
/home/default/storage/skia-repo/buildbot/skiabot-linux-xsan-000/build/slave/Test-Ubuntu13_10-GCE-NoGPU-x86_64-Debug-ASAN/build/skia/out/Debug/../../include/core/SkDraw.h:54:9
    #9 0x7feb5368d799 in SkBitmapDevice::drawPath(SkDraw const&, SkPath const&,
SkPaint const&, SkMatrix const*, bool)
/home/default/storage/skia-repo/buildbot/skiabot-linux-xsan-000/build/slave/Test-Ubuntu13_10-GCE-NoGPU-x86_64-Debug-ASAN/build/skia/out/Debug/../../src/core/SkBitmapDevice.cpp:216:5
    #10 0x7feb5386aa57 in SkCanvas::onDrawPath(SkPath const&, SkPaint const&)
/home/default/storage/skia-repo/buildbot/skiabot-linux-xsan-000/build/slave/Test-Ubuntu13_10-GCE-NoGPU-x86_64-Debug-ASAN/build/skia/out/Debug/../../src/core/SkCanvas.cpp:1908:9
    #11 0x7feb5386386b in SkCanvas::drawPath(SkPath const&, SkPaint const&)
/home/default/storage/skia-repo/buildbot/skiabot-linux-xsan-000/build/slave/Test-Ubuntu13_10-GCE-NoGPU-x86_64-Debug-ASAN/build/skia/out/Debug/../../src/core/SkCanvas.cpp:1703:5
    #12 0x7feb53109572 in Blur2RectsNonNinePatchGM::onDraw(SkCanvas*)
/home/default/storage/skia-repo/buildbot/skiabot-linux-xsan-000/build/slave/Test-Ubuntu13_10-GCE-NoGPU-x86_64-Debug-ASAN/build/skia/out/Debug/../../gm/blurs.cpp:166:9

Original issue's description:
> Cache blur mask for rects which can not break into nine-patch
>
> With this CL performance improves:
> blurrectsnonninepatch   42.4us -> 20.5us        0.48x
>
> BUG=431021,skia:3118
>
> Committed: https://skia.googlesource.com/skia/+/5a5b4e900ee69540fc35952882a323c63d6d0db9

TBR=reed@google.com,humper@google.com,reed@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=431021,skia:3118

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

9 years agoCache blur mask for rects which can not break into nine-patch
qiankun.miao [Thu, 8 Jan 2015 02:37:47 +0000 (18:37 -0800)]
Cache blur mask for rects which can not break into nine-patch

With this CL performance improves:
blurrectsnonninepatch   42.4us -> 20.5us        0.48x

BUG=431021,skia:3118

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

9 years agoneed to rebaseline (changed) c_gms, update dox
reed [Thu, 8 Jan 2015 02:20:16 +0000 (18:20 -0800)]
need to rebaseline (changed) c_gms, update dox

BUG=skia:
TBR=
NOTRY=True

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

9 years agoadd ImageGenerator::NewFromData to porting layer
reed [Thu, 8 Jan 2015 02:04:45 +0000 (18:04 -0800)]
add ImageGenerator::NewFromData to porting layer

BUG=skia:3275

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

9 years agoAdding check on input count
sugoi [Wed, 7 Jan 2015 21:28:08 +0000 (13:28 -0800)]
Adding check on input count

An integer overflow is causing a memory allocation to succeed while it should fail for being too large.

BUG=445810

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

9 years agoAdd Alpha fade GM.
halcanary [Wed, 7 Jan 2015 21:23:09 +0000 (13:23 -0800)]
Add Alpha fade GM.

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

9 years agoIt is dangerous to ignore SkRect::intersect's return value
robertphillips [Wed, 7 Jan 2015 20:16:10 +0000 (12:16 -0800)]
It is dangerous to ignore SkRect::intersect's return value

Committed: https://skia.googlesource.com/skia/+/152f524fd325b7776b01f84afbfe2fa071648a05

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

9 years agoRemove distance field generation and storage from SkGlyphCache.
jvanverth [Wed, 7 Jan 2015 18:12:16 +0000 (10:12 -0800)]
Remove distance field generation and storage from SkGlyphCache.

BUG=skia:3103

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

9 years agoRevert of It is dangerous to ignore SkRect::intersect's return value (patchset #6...
robertphillips [Wed, 7 Jan 2015 17:12:43 +0000 (09:12 -0800)]
Revert of It is dangerous to ignore SkRect::intersect's return value (patchset #6 id:100001 of https://codereview.chromium.org/833943002/)

Reason for revert:
Still more Chromium clean up to do

Original issue's description:
> It is dangerous to ignore SkRect::intersect's return value
>
> Committed: https://skia.googlesource.com/skia/+/152f524fd325b7776b01f84afbfe2fa071648a05

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

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

9 years agoRemove macros that make it look like it's a good idea to not be able to flatten.
mtklein [Wed, 7 Jan 2015 17:06:08 +0000 (09:06 -0800)]
Remove macros that make it look like it's a good idea to not be able to flatten.

There are only a handful of SkFlattenables that are not flattenable.  That
there are any seems highly illogical.  To make this look less like a normal
thing, this removes both macros that marked SkFlattenables as non-flattenable
(in slightly different ways).

The handful of SkFlattenables in our codebase that can't be flattened now
assert violently that they can't be flattened.  They're internal or
part of animator... places where we'll never actually flatten them.

TestLooper and DummyRasterizer were so trivial that I just made them flattenable.

BUG=skia:

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

9 years agoIt is dangerous to ignore SkRect::intersect's return value
robertphillips [Wed, 7 Jan 2015 17:01:12 +0000 (09:01 -0800)]
It is dangerous to ignore SkRect::intersect's return value

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

9 years agoVerify size_t overflow
sugoi [Wed, 7 Jan 2015 16:47:44 +0000 (08:47 -0800)]
Verify size_t overflow

In 32 bits, it's possible that multiplying 2 32b values might overflow a size_t, which could be 32b unsigned in that context, so I added a check for size_t overflow.

BUG=445831

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

9 years agoMake DCShader serializable.
mtklein [Wed, 7 Jan 2015 16:02:28 +0000 (08:02 -0800)]
Make DCShader serializable.

This allows a test pipeline like dcshader GM -> pipe -> gpu backend.

BUG=skia:

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

9 years agorevert buildbot breaker
caryclark [Wed, 7 Jan 2015 15:36:52 +0000 (07:36 -0800)]
revert buildbot breaker

Hals's change broke a buildbot has shown here

http://build.chromium.org/p/client.skia/builders/Test-Win7-ShuttleA-HD2000-x86-Release/builds/510/steps/gm/logs/stdio

Got unknown flag "--useDocumentInsteadOfDevice". Exiting.

TBR=halcanary

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

9 years agodebugger: Update inspector view data consistently while paused
kkinnunen [Wed, 7 Jan 2015 15:33:46 +0000 (07:33 -0800)]
debugger: Update inspector view data consistently while paused

Make all fields of inspector view (details tab, clipstack tab, geometry
view) update the correct info when user selects a draw command. Also
update the info regardless if the painting is paused or not.

Current clip and matrix will not update consistently even after this
patch, as they depend on stateful debug canvas draw (may be fixed
later).

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

9 years agoUpdate SKP version
skia.buildbots [Wed, 7 Jan 2015 15:31:47 +0000 (07:31 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoRename SkDrawPictureCallback to SkPicture::AbortCallback
robertphillips [Wed, 7 Jan 2015 15:28:41 +0000 (07:28 -0800)]
Rename SkDrawPictureCallback to SkPicture::AbortCallback

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

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

9 years agoRebasing more conic stuff
egdaniel [Wed, 7 Jan 2015 15:26:39 +0000 (07:26 -0800)]
Rebasing more conic stuff

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

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

9 years agorebaseline after use-conics
reed [Wed, 7 Jan 2015 15:04:09 +0000 (07:04 -0800)]
rebaseline after use-conics

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

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

9 years agoMore rebases from conic change
egdaniel [Wed, 7 Jan 2015 14:51:02 +0000 (06:51 -0800)]
More rebases from conic change

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

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

9 years agorebaseline after use-conics
reed [Wed, 7 Jan 2015 14:08:50 +0000 (06:08 -0800)]
rebaseline after use-conics

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

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

9 years agouse conics for ovals and roundrects
reed [Wed, 7 Jan 2015 00:26:16 +0000 (16:26 -0800)]
use conics for ovals and roundrects

This reverts commit e3b61eb7997d12c5f9b844dd3af1847492d9f411.

BUG=skia:
TBR=

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

9 years agoRevert of Rename SkDrawPictureCallback to SkPicture::AbortCallback (patchset #2 id...
reed [Wed, 7 Jan 2015 00:15:25 +0000 (16:15 -0800)]
Revert of Rename SkDrawPictureCallback to SkPicture::AbortCallback (patchset #2 id:20001 of https://codereview.chromium.org/829983003/)

Reason for revert:
speculative revert to unblock DEPS roll

Original issue's description:
> Rename SkDrawPictureCallback to SkPicture::AbortCallback
>
> Committed: https://skia.googlesource.com/skia/+/7ef197255deb4e2fa64c03c7130d56ddf164e83c

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

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

9 years agoRemove SkPDFDocument and SkPDFDevice from the public headers.
halcanary [Tue, 6 Jan 2015 23:13:49 +0000 (15:13 -0800)]
Remove SkPDFDocument and SkPDFDevice from the public headers.

Committed: https://skia.googlesource.com/skia/+/8b1f761365df6652ea9304b6572d2dd91917b9aa

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

9 years agoComment out unused names in src/core/SkGlyphCache.h
tomhudson [Tue, 6 Jan 2015 20:59:05 +0000 (12:59 -0800)]
Comment out unused names in src/core/SkGlyphCache.h

Android violates our encapsulation and depends on this file;
to keep their compiles clean they want us to hide the names
of unused parameters.

Follow-up to https://codereview.chromium.org/726923002/.

R=djsollen@google.com

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

9 years agoRename SkDrawPictureCallback to SkPicture::AbortCallback
robertphillips [Tue, 6 Jan 2015 20:26:08 +0000 (12:26 -0800)]
Rename SkDrawPictureCallback to SkPicture::AbortCallback

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

9 years agowill write a custom one for blink later
reed [Tue, 6 Jan 2015 19:30:45 +0000 (11:30 -0800)]
will write a custom one for blink later

BUG=skia:
TBR=
NOTRY=True

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

9 years agorebaseline after conic fixes
reed [Tue, 6 Jan 2015 17:55:33 +0000 (09:55 -0800)]
rebaseline after conic fixes

BUG=skia:
TBR=
NOTRY=True

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

9 years agoRevert "Remove SkPDFDocument and SkPDFDevice from the public headers."
reed [Tue, 6 Jan 2015 17:54:13 +0000 (09:54 -0800)]
Revert "Remove SkPDFDocument and SkPDFDevice from the public headers."

This reverts commit 8b1f761365df6652ea9304b6572d2dd91917b9aa.

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

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

9 years agoRemove SkPDFDocument and SkPDFDevice from the public headers.
halcanary [Tue, 6 Jan 2015 17:30:10 +0000 (09:30 -0800)]
Remove SkPDFDocument and SkPDFDevice from the public headers.

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

9 years agoRequire explicit disabling of cross process pictureimagefilters
robertphillips [Tue, 6 Jan 2015 17:17:02 +0000 (09:17 -0800)]
Require explicit disabling of cross process pictureimagefilters

This is to allow capturing .skp files with their pictureimagefilters intact.

This is a companion to https://codereview.chromium.org/810933004/ (Provide a way of allowing cross process pictureimagefilters).

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

9 years agofixes for conics
reed [Tue, 6 Jan 2015 15:44:21 +0000 (07:44 -0800)]
fixes for conics

- use std tolerance in edgebuilder, since the path has not been scaled-up to its super-sample size (that happens in the builder methods.

- off-by-1 fix for pathops when using the output of the conicquadder

BUG=skia:

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

9 years agoadd --listfailingbase option
reed [Tue, 6 Jan 2015 15:39:55 +0000 (07:39 -0800)]
add --listfailingbase option

BUG=skia:

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

9 years agoUpdate SKP version
skia.buildbots [Tue, 6 Jan 2015 15:19:59 +0000 (07:19 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoRevert of use conics for ovals and roundrects (patchset #1 id:1 of https://codereview...
reed [Tue, 6 Jan 2015 15:17:49 +0000 (07:17 -0800)]
Revert of use conics for ovals and roundrects (patchset #1 id:1 of https://codereview.chromium.org/817283005/)

Reason for revert:
need fix in edgebuilder+aa

Original issue's description:
> use conics for ovals and roundrects
>
> adapted from https://codereview.chromium.org/831313002/
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/2bf1c4d58b84c73c6421edcb25e3afb4971da200

TBR=reed@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

9 years agoimprove sanity checks on gradient constructor parameters
reed [Tue, 6 Jan 2015 15:13:19 +0000 (07:13 -0800)]
improve sanity checks on gradient constructor parameters

BUG=445807

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

9 years agoRevert of add missed tests for conics (patchset #1 id:1 of https://codereview.chromiu...
reed [Tue, 6 Jan 2015 15:12:42 +0000 (07:12 -0800)]
Revert of add missed tests for conics (patchset #1 id:1 of https://codereview.chromium.org/835993004/)

Reason for revert:
need to fix edgebuilder+aa

Original issue's description:
> add missed tests for conics
>
> BUG=skia:
> TBR=
> NOTRY=True
> NOTREECHECKS=True
>
> Committed: https://skia.googlesource.com/skia/+/6b0f701687edcdfc4fc996aed085054912866aff

TBR=reed@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

9 years agoadd missed tests for conics
reed [Tue, 6 Jan 2015 05:01:40 +0000 (21:01 -0800)]
add missed tests for conics

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

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

9 years agouse conics for ovals and roundrects
reed [Tue, 6 Jan 2015 04:15:28 +0000 (20:15 -0800)]
use conics for ovals and roundrects

adapted from https://codereview.chromium.org/831313002/

BUG=skia:
TBR=

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

9 years agoCleanup: More override fixes - another round.
tfarina [Tue, 6 Jan 2015 01:18:51 +0000 (17:18 -0800)]
Cleanup: More override fixes - another round.

BUG=skia:3075
TEST=ninja -C out/Debug
TBR=reed@google.com

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

9 years agoRebaseline thinstrokedrects GM
fmalita [Tue, 6 Jan 2015 00:10:37 +0000 (16:10 -0800)]
Rebaseline thinstrokedrects GM

BUG=skia:3278
TBR=caryclark@google.com
NOTRY=true

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

9 years agoRemove draw window size state from SkDebugCanvas
kkinnunen [Mon, 5 Jan 2015 20:58:56 +0000 (12:58 -0800)]
Remove draw window size state from SkDebugCanvas

The SkDebugCanvas can be (or is currently) being used to draw to multiple
different canvases. If this use-case is intended, then storing draw
-related state in the canvas causes bugs.

Remove draw window size state form SkDebugCanvas. Instead, use the canvas
base layer size as the window size to clip to. This is consistent with
the current use in debugger.

This is part of work trying to remove bugs in debugger that result from
replaying one SkDrawCanvas to two different canvases. Currently the
SkDrawCanvas stores state that can only be valid if it is used for one
canvas.

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

9 years agoRebase perspective gpu gm's after conic change
egdaniel [Mon, 5 Jan 2015 20:55:46 +0000 (12:55 -0800)]
Rebase perspective gpu gm's after conic change

TBR=
BUG=skia:

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

9 years agoCap id size returned by GrScratchKey::GenerateResourceType
robertphillips [Mon, 5 Jan 2015 20:29:15 +0000 (12:29 -0800)]
Cap id size returned by GrScratchKey::GenerateResourceType

kkinnunen@ has been seeing compiler warnings on GrScratchKey::GenerateResourceType (https://codereview.chromium.org/833913002/ - Cast the scratch resource key in order to fix a warning)(presumably due to the unsigned/signed comparison in kInvalidResourceType == type). This CL limits the returned id to its effective range to, hopefully, clarify the whole int32_t -> uint32_t conversion & wrapping problem.

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

9 years agoRemove SkPath::asRect
robertphillips [Mon, 5 Jan 2015 20:22:14 +0000 (12:22 -0800)]
Remove SkPath::asRect

AFAICT the asRect entry point is not needed.

Greg: GPU
Reed: API
Cary: Path

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

9 years agodebugger: Update the picture view when the first command is selected
kkinnunen [Mon, 5 Jan 2015 19:51:13 +0000 (11:51 -0800)]
debugger: Update the picture view when the first command is selected

Update the picture view in the debugger when the first command is
selected. DebugCanvas::drawTo(index) draws up to and including the index.

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

9 years agoFix thin rect stroking.
fmalita [Mon, 5 Jan 2015 19:31:02 +0000 (11:31 -0800)]
Fix thin rect stroking.

When both edges of a thin (sub-unit) stroke fall within the same pixel, we compute the wrong coverage and also blit the same line twice.

To avoid these issues, tweak the inner/outer hulls to ensure one of the edges is always pixel-aligned.

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

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

9 years agoFirst set of minimal docs for the new Markdown server, which will eventually replace...
jcgregorio [Mon, 5 Jan 2015 19:17:27 +0000 (11:17 -0800)]
First set of minimal docs for the new Markdown server, which will eventually replace https://sites.google.com/site/skiadocs/.

Design of the new Markdown server is documented here:

  https://github.com/google/skia-buildbot/blob/master/doc/README.md

  You can see the server up and running here: http://skiadocs.com:8000/

  This is *reed because it adds a new top level directory to the skia repo.

BUG=skia:

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

9 years agoUpdate PdfViewer's SkNulCanvas
robertphillips [Mon, 5 Jan 2015 19:11:21 +0000 (11:11 -0800)]
Update PdfViewer's SkNulCanvas

This appears to have been missed in https://codereview.chromium.org/831253002/ (move remaining virtual draw methods to onDraw)

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

9 years agoAdd conic support to Default and AAConvex path redender.
egdaniel [Mon, 5 Jan 2015 18:22:28 +0000 (10:22 -0800)]
Add conic support to Default and AAConvex path redender.

This is achieved but chopping up conics into quads.

With this change conics should be ready to be used on the gpu side of things

BUG=skia:3258

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

9 years agoCleanup isRect variants
robertphillips [Mon, 5 Jan 2015 18:13:46 +0000 (10:13 -0800)]
Cleanup isRect variants

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

9 years agoRevert of Revert of enable conics gm (patchset #1 id:1 of https://codereview.chromium...
reed [Mon, 5 Jan 2015 18:01:25 +0000 (10:01 -0800)]
Revert of Revert of enable conics gm (patchset #1 id:1 of https://codereview.chromium.org/811863006/)

Reason for revert:
maybe this wasn't the cause of the chromeos crash?

Original issue's description:
> Revert of enable conics gm (patchset #3 id:40001 of https://codereview.chromium.org/835593002/)
>
> Reason for revert:
> did I break the build?
>
> Original issue's description:
> > enable conics gm
> >
> > BUG=skia:
> > TBR=
> >
> > Committed: https://skia.googlesource.com/skia/+/03119ba4f815bc2c2774a9349ca8278ab1695072
>
> TBR=egdaniel@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/ede901c7a2e21a44552b8c1436d9521ce33f4de5

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

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

9 years agoPrint out failing PathRef test on ChromeOS
robertphillips [Mon, 5 Jan 2015 17:20:04 +0000 (09:20 -0800)]
Print out failing PathRef test on ChromeOS

This is intended to provide additional information for a flaky assertion failure on ChromeOS Daisy.

BUG=skia:3282

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

9 years agoCorrectly declare skiagm::DCShader to be not flattenable.
halcanary [Mon, 5 Jan 2015 16:55:34 +0000 (08:55 -0800)]
Correctly declare skiagm::DCShader to be not flattenable.

Motivation: As part of my testing I serialize all of our GMs to SKP
files.  This was breaking my code.

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

9 years agoexperimental skp_to_pdf_md5 program.
halcanary [Mon, 5 Jan 2015 16:55:24 +0000 (08:55 -0800)]
experimental skp_to_pdf_md5 program.

This program takes a list of Skia Picture (SKP) files and
renders each as a multipage PDF, then prints out the MD5
checksum of the PDF file.  This can be used to verify that
changes to the PDF backend will not change PDF output.

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