| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
Committed: https://skia.googlesource.com/skia/+/74668a8e818fd891a08c4966cc5973b04c1ad992
Review URL: https://codereview.chromium.org/842323003
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/853543003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 incremental draw from SkDebugCanvas. It can only optimize the
case where draw command index is advanced, no other changes are done
and no visualization is used. This case is not that critical, as it
happens only once per new frame at most. It causes bugs, because
one SkDebugCanvas is used to draw to multiple canvases.
Leave the draw to canvas in same state as it was passed in.
This fixes the debugger bugs where:
* Old, stale image would stay on the raster canvas when a new image is
loaded. Also happened with resizes.
* Proper image for overdraw filter would be visible only for the first
frame
Review URL: https://codereview.chromium.org/844493003
|
|
|
|
|
|
|
| |
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/804023005
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/822423004
|
|
|
|
|
|
| |
BUG=skia:3302
Review URL: https://codereview.chromium.org/847443003
|
|
|
|
|
|
| |
BUG=skia:3304
Review URL: https://codereview.chromium.org/807143006
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
| |
Review URL: https://codereview.chromium.org/842323003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/831323005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
BUG=skia:3297
Review URL: https://codereview.chromium.org/803493008
|
|
|
|
|
|
|
|
|
| |
No longer used by Chromium.
BUG=447870
R=reed@google.com
Review URL: https://codereview.chromium.org/824063004
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/848553002
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/847533002
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
BUG=skia:2377
Review URL: https://codereview.chromium.org/839243002
|
|
|
|
|
|
|
|
| |
TBR=reed@google.com
BUG=skia:3085
Review URL: https://codereview.chromium.org/845623002
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
The PlausiblyAtlasable check was preventing large layers from ever being hoisted in the FindLayersToHoist path.
Review URL: https://codereview.chromium.org/844613002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
|
|
|
|
|
| |
With this CL performance improves:
blurrectsnonninepatch 42.4us -> 20.5us 0.48x
BUG=431021,skia:3118
Review URL: https://codereview.chromium.org/729463002
|
|
|
|
|
|
| |
BUG=skia:3275
Review URL: https://codereview.chromium.org/834633006
|
|
|
|
|
|
| |
Committed: https://skia.googlesource.com/skia/+/152f524fd325b7776b01f84afbfe2fa071648a05
Review URL: https://codereview.chromium.org/833943002
|
|
|
|
|
|
| |
BUG=skia:3103
Review URL: https://codereview.chromium.org/834103004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Review URL: https://codereview.chromium.org/833943002
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Committed: https://skia.googlesource.com/skia/+/7ef197255deb4e2fa64c03c7130d56ddf164e83c
Review URL: https://codereview.chromium.org/829983003
|
|
|
|
|
|
|
|
|
| |
This reverts commit e3b61eb7997d12c5f9b844dd3af1847492d9f411.
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/834303002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
#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
|
|
|
|
|
|
| |
Committed: https://skia.googlesource.com/skia/+/8b1f761365df6652ea9304b6572d2dd91917b9aa
Review URL: https://codereview.chromium.org/841533002
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Review URL: https://codereview.chromium.org/829983003
|
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=
NOTRY=True
Review URL: https://codereview.chromium.org/810603003
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 8b1f761365df6652ea9304b6572d2dd91917b9aa.
BUG=skia:
TBR=
NOTRY=True
NOTREECHECKS=True
Review URL: https://codereview.chromium.org/839603002
|
|
|
|
| |
Review URL: https://codereview.chromium.org/841533002
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
- 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
|