Commit Graph

15741 Commits

Author SHA1 Message Date
joshualitt
3c1096fc07 fix for FB fetch on nexus 10 ES3.0
BUG=skia:3304

Review URL: https://codereview.chromium.org/807143006
2015-01-13 13:13:59 -08:00
rmistry
bb928a0c0a Add pageset for ugamsolutions.com
BUG=skia:3306
NOTRY=true

Review URL: https://codereview.chromium.org/851743004
2015-01-13 11:52:28 -08:00
robertphillips
5d17286b35 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
2015-01-13 10:54:37 -08:00
mtklein
963b832833 allow simple
BUG=skia:

Review URL: https://codereview.chromium.org/824753006
2015-01-13 10:51:36 -08:00
robertphillips
74668a8e81 Switch to a more complete method of filtering hoisted layers
Review URL: https://codereview.chromium.org/842323003
2015-01-13 10:37:55 -08:00
mtklein
199ba8e19b 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
2015-01-13 08:40:23 -08:00
torne
60f8353f68 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
2015-01-13 08:37:34 -08:00
mtklein
6f07665768 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
2015-01-13 08:22:44 -08:00
fmalita
c3796c7a74 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
2015-01-13 08:06:11 -08:00
halcanary
f361b71439 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
2015-01-13 07:12:57 -08:00
skia.buildbots
7e783786d8 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/819403005
2015-01-13 04:26:37 -08:00
reed
4ef0c8aea2 remove NewTexture?
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/831323005
2015-01-13 04:00:55 -08:00
robertphillips
125ee60ed3 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
2015-01-12 18:26:01 -08:00
robertphillips
933a03fecb 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
2015-01-12 15:50:38 -08:00
halcanary
f62c63490f SIMPLE_GM generates less code
Review URL: https://codereview.chromium.org/811703005
2015-01-12 15:27:46 -08:00
halcanary
4fc48af0d7 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
2015-01-12 10:07:50 -08:00
qiankun.miao
0899696e9f Fix overlap test for 64-bit pointers in SkMatrix
BUG=skia:3297

Review URL: https://codereview.chromium.org/803493008
2015-01-12 07:50:25 -08:00
fmalita
815e9b5e23 Remove SK_SUPPORT_LEGACY_GRADIENT_PRECISION
No longer used by Chromium.

BUG=447870
R=reed@google.com

Review URL: https://codereview.chromium.org/824063004
2015-01-12 06:20:39 -08:00
skia.buildbots
4f22bea1de Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/846843002
2015-01-11 22:29:47 -08:00
skia.buildbots
ef0b4e7309 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/828243004
2015-01-10 22:58:16 -08:00
reed
f5872d2f41 add stroke params to c api
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/848553002
2015-01-10 17:59:31 -08:00
halcanary
9e398f79c9 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
2015-01-10 11:18:04 -08:00
skia.buildbots
07394ca5ed Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/845093003
2015-01-09 23:07:53 -08:00
reed
0846f1b1c4 remove (dead) SK_SUPPORT_LEGACY_DRAWDATA and SK_SUPPORT_LEGACY_CANVAS_VIRTUAL
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/844053002
2015-01-09 14:17:40 -08:00
jcgregorio
a91dc3140c 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
2015-01-09 10:35:52 -08:00
mtklein
72c9faab45 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
2015-01-09 10:06:40 -08:00
Mike Klein
4490da227f Can't include SkTypes.h from ports/
BUG=skia:

Review URL: https://codereview.chromium.org/847533002
2015-01-09 12:29:08 -05:00
mtklein
8b50ac242b 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
2015-01-09 09:02:44 -08:00
reed
15bfc6ce44 rebaseline after conic change
BUG=skia:
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/840333002
2015-01-09 08:36:43 -08:00
mtklein
d0256a2fbc PictureNestingBench: stay in ints.
BUG=skia:

Review URL: https://codereview.chromium.org/784173004
2015-01-09 08:33:36 -08:00
djsollen
fcfea99d9d Upstream custom freetype embolding strength from Android
BUG=skia:2377

Review URL: https://codereview.chromium.org/839243002
2015-01-09 08:18:13 -08:00
mtklein
703dd2ed18 Remove SkTileGrid (except for TileGridInfo).
TBR=reed@google.com

BUG=skia:3085

Review URL: https://codereview.chromium.org/845623002
2015-01-09 06:41:48 -08:00
reed
9250543c55 rebaseline NexusPlayer after conic fix
BUG=skia:
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/843063003
2015-01-09 06:36:49 -08:00
reed
9b2cf52255 remove unneeded flags
BUG=skia:

Review URL: https://codereview.chromium.org/842203002
2015-01-09 06:09:32 -08:00
skia.buildbots
e34d6bd3e0 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/843933002
2015-01-08 23:13:52 -08:00
jcgregorio
8f3519a447 Add a favicon for docs.
BUG=skia:

Review URL: https://codereview.chromium.org/845593002
2015-01-08 13:42:13 -08:00
halcanary
aa6286e8ec rebaseline after crrev.com/840653002
NOTRY=true
TBR=

Review URL: https://codereview.chromium.org/838183003
2015-01-08 12:36:30 -08:00
halcanary
da9170f320 Modify transparency_check GM to always tile correctly.
Review URL: https://codereview.chromium.org/842013002
2015-01-08 12:11:42 -08:00
jcgregorio
7c3bace0d5 Add Linux quick start docs
Preview: http://skiadocs.com:8000/user/quick/linux?cl=846523002

BUG=skia:

Review URL: https://codereview.chromium.org/846523002
2015-01-08 11:28:51 -08:00
reed
00e0814a49 rebaseline after change to GM:c_gms
BUG=skia:
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/843843002
2015-01-08 11:08:36 -08:00
halcanary
549f879d6a 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
2015-01-08 11:05:35 -08:00
hcm
343c2f4dfb 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

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

BUG=skia:

Review URL: https://codereview.chromium.org/834353003
2015-01-08 10:43:34 -08:00
reed
36a86db5f9 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
2015-01-08 10:20:05 -08:00
robertphillips
57f192d4af 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
2015-01-08 10:15:25 -08:00
bungeman
3b4b66c04a 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
2015-01-08 08:33:44 -08:00
reed
9558f65387 rebaseline after changing GM
BUG=skia:
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/843553003
2015-01-08 08:02:50 -08:00
skia.buildbots
266044f663 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/827323003
2015-01-07 23:10:13 -08:00
qiankun.miao
eabd0d73ee 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
2015-01-07 19:20:49 -08:00
qiankun.miao
5a5b4e900e 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
2015-01-07 18:37:47 -08:00
reed
281ecc27ee need to rebaseline (changed) c_gms, update dox
BUG=skia:
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/844663002
2015-01-07 18:20:16 -08:00