platform/upstream/libSkiaSharp.git
9 years agoUse an image generator to back SkPictureShader tiles.
fmalita [Tue, 24 Feb 2015 21:02:57 +0000 (13:02 -0800)]
Use an image generator to back SkPictureShader tiles.

To avoid lifetime issues for tiles backed by discardable memory, use an
image generator to re-generate them on the fly.

With this CL, we are now caching bitmap shaders wrapping discardable
pixel ref bitmaps backed by picture image generators.

(the CL also includes some minor/unrelated SkPictureShader cleanup)

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

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

9 years agodon't draw if maxVertices returns 0 or > than uin16_t max
joshualitt [Tue, 24 Feb 2015 20:58:46 +0000 (12:58 -0800)]
don't draw if maxVertices returns 0 or > than uin16_t max

This doesn't do anything about the issue of having too many indices, but it does move the fuzzer on to another assert.

BUG=skia:

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

9 years agoSkPDF: replace SkPDFDevice::copyContentToData
halcanary [Tue, 24 Feb 2015 20:56:16 +0000 (12:56 -0800)]
SkPDF: replace SkPDFDevice::copyContentToData

Motivation: remove copyToData().  Later we will stop caching
the data alltogether.

BUG=skia:

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

9 years agoAdd tools/nanobench_flags.py.
mtklein [Tue, 24 Feb 2015 19:45:11 +0000 (11:45 -0800)]
Add tools/nanobench_flags.py.

This should look suspiciously similar to tools/dm_flags.py.  In fact, I
tweaked tools/dm_flags.py a bit to make it even more suspiciously similar.
I'll leave actually deduping this to future me.

I noticed we have an opportunity to make our Valgrind run of nanobench faster,
by not only making it not auto-calibrate (--loops 1) but also take only one
measurement (--samples 1).  Should be 5-10x faster than the default.

BUG=skia:

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

9 years agoFix radii scaling bug in SkRRect::setNinePatch
robertphillips [Tue, 24 Feb 2015 19:18:48 +0000 (11:18 -0800)]
Fix radii scaling bug in SkRRect::setNinePatch

BUG=skia:3466

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

9 years agofix nvpr
Mike Klein [Tue, 24 Feb 2015 18:16:43 +0000 (13:16 -0500)]
fix nvpr

The config is called nvprmsaa4 (see DM.cpp:218)

BUG=skia:

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

9 years agoadd tools/dm_flags.py
mtklein [Tue, 24 Feb 2015 17:25:16 +0000 (09:25 -0800)]
add tools/dm_flags.py

BUG=skia:

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

9 years agoGM: showmiplevels handles bitmap memory in a nicer way.
halcanary [Tue, 24 Feb 2015 17:25:09 +0000 (09:25 -0800)]
GM: showmiplevels handles bitmap memory in a nicer way.

This is helpful for those canvas implementations that want to copy a
bitmap.

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

9 years agok1 fix
joshualitt [Tue, 24 Feb 2015 16:17:49 +0000 (08:17 -0800)]
k1 fix

TBR=
NOTREECHECKS=True
BUG=skia:

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

9 years agoprobable fix for asan bot
joshualitt [Tue, 24 Feb 2015 14:47:14 +0000 (06:47 -0800)]
probable fix for asan bot

NOTREECHECKS=True
TBR=bsalomon@google.com
BUG=skia:

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

9 years agoRevert of Make fID and MixedID calculations private (patchset #5 id:80001 of https...
scroggo [Tue, 24 Feb 2015 14:09:41 +0000 (06:09 -0800)]
Revert of Make fID and MixedID calculations private (patchset #5 id:80001 of https://codereview.chromium.org/939123002/)

Reason for revert:
This actually *does* change the public API - fID is now private, and it was being used on Android. See https://android-build.storage.googleapis.com/builds/git_master-skia-linux-volantis-userdebug/1751533/5242b865d3e9bebc650c9b326dfa9d68c8bd1f59562bf32b85301fb984dc8b26/logs/build.log?Signature=Q0el9M4kTu1KQ8u02KX9TH1Pa22y9BkDK1IW%2B9OeJJNfrDEVzLXAz0XQ%2BHHQM8xVjft06jZJva1V8InZmgjcOk6PdZQbQW6XwwsHLKsbpbAE48iTWH3AlJAAoTtj9cifzgeHW8g80IcVxwHXmINRER%2BLPz3eHGisgfTTFUoWYCc%3D&GoogleAccessId=701025073339-mqn0q2nvir9iurm6q5d00tdv7blbgvjr%40developer.gserviceaccount.com&Expires=1424786471 :

In file included from frameworks/base/libs/hwui/tests/../font/Font.cpp:26:0:
external/skia/src/core/SkGlyph.h: In member function 'android::uirenderer::CachedGlyphInfo* android::uirenderer::Font::cacheGlyph(const SkPaint*, glyph_t, bool)':
external/skia/src/core/SkGlyph.h:157:17: error: 'uint32_t SkGlyph::fID' is private
     uint32_t    fID;
                 ^
frameworks/base/libs/hwui/tests/../font/Font.cpp:482:39: error: within this context
     newGlyph->mGlyphIndex = skiaGlyph.fID;

We need to update Android in order to hide fID.

Original issue's description:
> BUG=skia:
>
> (mtklein from here on)
> No public API changes.
> TBR=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/f8d24e2c0c7b44b7ccf20e40890514db4cde7b15

TBR=mtklein@google.com,herb@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

9 years agoflip stroke to chrome compatible define
caryclark [Tue, 24 Feb 2015 14:02:06 +0000 (06:02 -0800)]
flip stroke to chrome compatible define

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

9 years agoBUG=skia:
herb [Tue, 24 Feb 2015 13:12:05 +0000 (05:12 -0800)]
BUG=skia:

(mtklein from here on)
No public API changes.
TBR=reed@google.com

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

9 years agoMake SkNewImageFromBitmap take pixel ref origin into account
kkinnunen [Tue, 24 Feb 2015 06:12:12 +0000 (22:12 -0800)]
Make SkNewImageFromBitmap take pixel ref origin into account

Make SkNewImageFromBitmap take pixel ref origin into account.

BUG=skia:3388

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

9 years agoEnable rect clips
joshualitt [Tue, 24 Feb 2015 01:52:51 +0000 (17:52 -0800)]
Enable rect clips

BUG=skia:

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

9 years agomove static init to cpp file to fix linux builder
joshualitt [Tue, 24 Feb 2015 01:03:33 +0000 (17:03 -0800)]
move static init to cpp file to fix linux builder

TBR=bsalomon@google.com
BUG=skia:

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

9 years agonon-aa rects batch
joshualitt [Tue, 24 Feb 2015 00:41:42 +0000 (16:41 -0800)]
non-aa rects batch

BUG=skia:

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

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

9 years agoRevert of fix for linux builder warn on exit destructor (patchset #1 id:1 of https...
joshualitt [Tue, 24 Feb 2015 00:19:22 +0000 (16:19 -0800)]
Revert of fix for linux builder warn on exit destructor (patchset #1 id:1 of https://codereview.chromium.org/951103002/)

Reason for revert:
still breaks

Original issue's description:
> fix for linux builder warn on exit destructor
>
> TBR=bsalomon@google.com
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/51fdb4f8f63b6bb13e719000381e225503a2d4a0

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

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

9 years agoProvide Mac 10.6 SDK support for kCTFontColorGlyphsTrait.
bungeman [Tue, 24 Feb 2015 00:17:43 +0000 (16:17 -0800)]
Provide Mac 10.6 SDK support for kCTFontColorGlyphsTrait.

kCTFontColorGlyphsTrait was introduced in Mac 10.7 and iPhone 4.3 SDKs.
Chromium still builds with the 10.6 SDK, so provide this constant when
it is otherwise unavailable.

TBR=mtklein@google.com

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

9 years agofix for linux builder warn on exit destructor
joshualitt [Mon, 23 Feb 2015 23:57:23 +0000 (15:57 -0800)]
fix for linux builder warn on exit destructor

TBR=bsalomon@google.com
BUG=skia:

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

9 years agoMove clip off of draw target
joshualitt [Mon, 23 Feb 2015 22:44:57 +0000 (14:44 -0800)]
Move clip off of draw target

BUG=skia:

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

9 years agoUse traits instead of table for color glyph detection.
bungeman [Mon, 23 Feb 2015 22:24:04 +0000 (14:24 -0800)]
Use traits instead of table for color glyph detection.

The CTFont already knows if a font might contain color glyphs,
so use that information directly instead of guessing ourselves.

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

9 years agoUse highp for distance field texture coord varyings.
jvanverth [Mon, 23 Feb 2015 21:08:39 +0000 (13:08 -0800)]
Use highp for distance field texture coord varyings.

Because the glyph texture atlas is 1024x2048, on certain platforms
using mediump UVs is not enough resolution for doing texture lookups
and getting good results for distance fields. Bumping these
to highp solves this problem.

BUG=skia:3445

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

9 years agobreak out of cubic stroker loop on degenerate case
caryclark [Mon, 23 Feb 2015 20:47:03 +0000 (12:47 -0800)]
break out of cubic stroker loop on degenerate case

The looper can generate more than one quad, but if any one is degenerate,
give up, but not before generating the state for the line join to
produce the correct end.

Before, the early return allowed the inside path to contain multiple
movetos that caused reversePath to assert.

R=reed@google.com

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

9 years agoEnsure that skia's test resources are properly packaged on Android
djsollen [Mon, 23 Feb 2015 20:37:32 +0000 (12:37 -0800)]
Ensure that skia's test resources are properly packaged on Android

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

9 years agoAdd HWUI Sink to DM on Android Framework builds
tomhudson [Mon, 23 Feb 2015 20:18:05 +0000 (12:18 -0800)]
Add HWUI Sink to DM on Android Framework builds

Allows "hwui" as a --config argument to dm, drawing through the Android
Framework's HWUI backend.

R=djsollen@google.com,mtklein@google.com
BUG=skia:

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

9 years agoSkStream: Add SkDynamicMemoryWStream::writeToStream(SkWStream*)
halcanary [Mon, 23 Feb 2015 20:17:59 +0000 (12:17 -0800)]
SkStream: Add SkDynamicMemoryWStream::writeToStream(SkWStream*)

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

9 years agoFix release-developer build.
bsalomon [Mon, 23 Feb 2015 20:12:59 +0000 (12:12 -0800)]
Fix release-developer build.

TBR=humper@google.com

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

9 years agoRemove canApplyCoverage from XP and all related functions in gpu code.
egdaniel [Mon, 23 Feb 2015 20:12:54 +0000 (12:12 -0800)]
Remove canApplyCoverage from XP and all related functions in gpu code.

BUG=skia:

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

9 years agoReset conicWeights in SkPath::consumeDegenerateSegments when rewinding to last Move op
robertphillips [Mon, 23 Feb 2015 19:17:01 +0000 (11:17 -0800)]
Reset conicWeights in SkPath::consumeDegenerateSegments when rewinding to last Move op

Without this patch the iterator can end up running off the end of the conic weights if there is a mixture of degenerate and non-degenerate ops

Note: we might want to suppress the generation of degenerate conics and lines in SkPath::addRRect

BUG=459897

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

9 years agoMake STDPQueue::at() available in all builds.
bsalomon [Mon, 23 Feb 2015 18:59:50 +0000 (10:59 -0800)]
Make STDPQueue::at() available in all builds.

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

9 years agoSkDiscardablePixelRef should favor not decoding to YUV if they already decoded to...
vmiura [Mon, 23 Feb 2015 18:59:44 +0000 (10:59 -0800)]
SkDiscardablePixelRef should favor not decoding to YUV if they already decoded to RGB.

BUG=skia:
BUG=459760

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

9 years agoRemove EGL header from SkANGLELContext.h
bsalomon [Mon, 23 Feb 2015 18:51:13 +0000 (10:51 -0800)]
Remove EGL header from SkANGLELContext.h

TBR=egdaniel@google.com

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

9 years agoRevert of DM: lazy decoding on SKP playback (patchset #4 id:60001 of https://coderevi...
halcanary [Mon, 23 Feb 2015 18:43:48 +0000 (10:43 -0800)]
Revert of DM: lazy decoding on SKP playback (patchset #4 id:60001 of https://codereview.chromium.org/943383002/)

Reason for revert:
crashing dm

Test-Mac10.9-MacMini6.2-HD4000-x86_64-Debug

u gm addarc
(1431MB   932) 169ms gpu gm aarectmodes
(1431MB   931) 38.6ms gpu gm aaclip
(1431MB   930) 474ms gpu skp desk_amazon.skp
(1431MB   929) 615ms gpu skp desk_baidu.skp
(1431MB   928) 600ms gpu skp desk_blogger.skp
Signal 11:
_sigtramp (+0x1a)
compute_yuv_size(jpeg_decompress_struct const&, int, SizeType) (+0x30)
update_components_sizes(jpeg_decompress_struct const&, SkTSize<int>*, SizeType) (+0x46)
SkJPEGImageDecoder::onDecodeYUV8Planes(SkStream*, SkTSize<int>*, void**, unsigned long*, SkYUVColorSpace*) (+0x239)
SkImageDecoder::decodeYUV8Planes(SkStream*, SkTSize<int>*, void**, unsigned long*, SkYUVColorSpace*) (+0x64)
SkImageDecoderGenerator::onGetYUV8Planes(SkTSize<int>*, void**, unsigned long*, SkYUVColorSpace*) (+0x9f)
SkImageGenerator::getYUV8Planes(SkTSize<int>*, void**, unsigned long*, SkYUVColorSpace*) (+0x3b7)
SkDiscardablePixelRef::onGetYUV8Planes(SkTSize<int>*, void**, unsigned long*, SkYUVColorSpace*) (+0x3c)
SkPixelRef::getYUV8Planes(SkTSize<int>*, void**, unsigned long*, SkYUVColorSpace*) (+0x55)
load_yuv_texture(GrContext*, GrUniqueKey const&, SkBitmap const&, GrSurfaceDesc const&) (+0x24b)
create_unstretched_bitmap_texture(GrContext*, SkBitmap const&, GrUniqueKey const&) (+0x3df)
create_bitmap_texture(GrContext*, SkBitmap const&, Stretch, GrUniqueKey const&, GrUniqueKey const&) (+0x1ca)
GrRefCachedBitmapTexture(GrContext*, SkBitmap const&, GrTextureParams const*) (+0x368)
AutoBitmapTexture::set(GrContext*, SkBitmap const&, GrTextureParams const*) (+0x87)
AutoBitmapTexture::AutoBitmapTexture(GrContext*, SkBitmap const&, GrTextureParams const*, GrTexture**) (+0xe0)
AutoBitmapTexture::AutoBitmapTexture(GrContext*, SkBitmap const&, GrTextureParams const*, GrTexture**) (+0x35)
SkGpuDevice::internalDrawBitmap(SkBitmap const&, SkMatrix const&, SkRect const&, GrTextureParams const&, SkPaint const&, SkCanvas::DrawBitmapRectFlags, bool, bool) (+0x118)
SkGpuDevice::drawBitmapCommon(SkDraw const&, SkBitmap const&, SkRect const*, SkSize const*, SkPaint const&, SkCanvas::DrawBitmapRectFlags) (+0xa84)
SkGpuDevice::drawBitmapRect(SkDraw const&, SkBitmap const&, SkRect const*, SkRect const&, SkPaint const&, SkCanvas::DrawBitmapRectFlags) (+0x2bb)
SkCanvas::internalDrawBitmapRect(SkBitmap const&, SkRect const*, SkRect const&, SkPaint const*, SkCanvas::DrawBitmapRectFlags) (+0x2a9)
SkCanvas::onDrawBitmapRect(SkBitmap const&, SkRect const*, SkRect const&, SkPaint const*, SkCanvas::DrawBitmapRectFlags) (+0x118)
SkCanvas::drawBitmapRectToRect(SkBitmap const&, SkRect const*, SkRect const&, SkPaint const*, SkCanvas::DrawBitmapRectFlags) (+0x60)
void SkRecords::Draw::draw<SkRecords::DrawBitmapRectToRect>(SkRecords::DrawBitmapRectToRect const&) (+0x8a)
void SkRecords::Draw::operator()<SkRecords::DrawBitmapRectToRect>(SkRecords::DrawBitmapRectToRect const&) (+0x1d)
void SkRecord::Record::visit<void, SkRecords::Draw>(SkRecord::Type8, SkRecords::Draw&) const (+0x298)
void SkRecord::visit<void, SkRecords::Draw>(unsigned int, SkRecords::Draw&) const (+0xbc)
SkRecordDraw(SkRecord const&, SkCanvas*, SkPicture const* const*, SkDrawable* const*, int, SkBBoxHierarchy const*, SkPicture::AbortCallback*) (+0x2eb)
SkPicture::playback(SkCanvas*, SkPicture::AbortCallback*) const (+0x186)
SkCanvas::onDrawPicture(SkPicture const*, SkMatrix const*, SkPaint const*) (+0xe0)
SkCanvas::drawPicture(SkPicture const*) (+0x11b)
DM::SKPSrc::draw(SkCanvas*) const (+0x25b)
DM::GPUSink::draw(DM::Src const&, SkBitmap*, SkWStream*, SkString*) const (+0x21d)
Task::Run(Task*) (+0x1de)
run_enclave(SkTArray<Task, false>*) (+0x49)
run_enclave_and_gpu_tests(SkTArray<Task, false>*) (+0x15)
(anonymous namespace)::ThreadPool::Wait(int*) (+0x14b)
SkTaskGroup::wait() (+0x15)
dm_main() (+0x624)
main (+0x27)

Original issue's description:
> DM: lazy decoding on SKP playback
>
> Command `out/Release/dm --config pdf --src gm skp`, uses 27% less RAM.
>
> Committed: https://skia.googlesource.com/skia/+/77d366d72a6ae83fb0abcb2ec7e2d692fef2e923

TBR=mtklein@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

9 years agoDM: lazy decoding on SKP playback
halcanary [Mon, 23 Feb 2015 18:28:03 +0000 (10:28 -0800)]
DM: lazy decoding on SKP playback

Command `out/Release/dm --config pdf --src gm skp`, uses 27% less RAM.

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

9 years agoRemove unnecessary include of gles2 header in SkANGLEGLContext.h
bsalomon [Mon, 23 Feb 2015 18:06:44 +0000 (10:06 -0800)]
Remove unnecessary include of gles2 header in SkANGLEGLContext.h

TBR=robertphillips@google.com

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

9 years agoSketch SkPMFloat
mtklein [Mon, 23 Feb 2015 18:04:34 +0000 (10:04 -0800)]
Sketch SkPMFloat

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/50d2b3114b3e59dc84811881591bf25b2c1ecb9f

CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu13.10-GCC4.8-Arm7-Release-Android_Neon-Trybot

http://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu13.10-GCC4.8-Arm7-Release-Android_Neon/builds/2120/steps/build%20most/logs/stdio

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

9 years agoUse #if instead of #ifdef with SK_HAS_DWRITE_X.
bungeman [Mon, 23 Feb 2015 18:02:49 +0000 (13:02 -0500)]
Use #if instead of #ifdef with SK_HAS_DWRITE_X.

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

9 years agoAdd stencil buffer create tracking to GPU stats.
bsalomon [Mon, 23 Feb 2015 18:01:36 +0000 (10:01 -0800)]
Add stencil buffer create tracking to GPU stats.

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

9 years agoRevert of Sketch SkPMFloat (patchset #15 id:270001 of https://codereview.chromium...
mtklein [Mon, 23 Feb 2015 17:44:34 +0000 (09:44 -0800)]
Revert of Sketch SkPMFloat (patchset #15 id:270001 of https://codereview.chromium.org/936633002/)

Reason for revert:
http://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu13.10-GCC4.8-Arm7-Release-Android_Neon/builds/2120/steps/build%20most/logs/stdio

Original issue's description:
> Sketch SkPMFloat
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/50d2b3114b3e59dc84811881591bf25b2c1ecb9f

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

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

9 years agoUse IDWriteFontFallback when available.
bungeman [Mon, 23 Feb 2015 17:41:43 +0000 (09:41 -0800)]
Use IDWriteFontFallback when available.

This is prefereable to the current IDWriteTextLayout method,
but is only available on Windows 8.1 and later.

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

9 years agoSketch SkPMFloat
mtklein [Mon, 23 Feb 2015 17:39:27 +0000 (09:39 -0800)]
Sketch SkPMFloat

BUG=skia:

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

9 years agoDon't require AA in order to use shader-based clips
bsalomon [Mon, 23 Feb 2015 17:28:30 +0000 (09:28 -0800)]
Don't require AA in order to use shader-based clips

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

9 years agoclear stencil buffer using special purpose FBO
bsalomon [Mon, 23 Feb 2015 17:27:45 +0000 (09:27 -0800)]
clear stencil buffer using special purpose FBO

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

9 years agoDynamically create stencil buffer when needed.
bsalomon [Mon, 23 Feb 2015 17:06:38 +0000 (09:06 -0800)]
Dynamically create stencil buffer when needed.

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

9 years agoUse D3D11 backend for ANGLE when available.
bsalomon [Mon, 23 Feb 2015 16:57:23 +0000 (08:57 -0800)]
Use D3D11 backend for ANGLE when available.

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

9 years agoDefault path renderer batch
joshualitt [Mon, 23 Feb 2015 16:44:31 +0000 (08:44 -0800)]
Default path renderer batch

BUG=skia:

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

9 years agoRemove SkFontHost includes and friends.
bungeman [Mon, 23 Feb 2015 16:25:00 +0000 (08:25 -0800)]
Remove SkFontHost includes and friends.

SkFontHost no longer exists as a class, so remove the includes and stop
making it a friend.

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

9 years agoremove dead code (covered by surfaceprops)
reed [Mon, 23 Feb 2015 15:37:40 +0000 (07:37 -0800)]
remove dead code (covered by surfaceprops)

BUG=skia:

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

9 years agoRevert of non-aa rects batch (patchset #6 id:90001 of https://codereview.chromium...
joshualitt [Mon, 23 Feb 2015 15:35:35 +0000 (07:35 -0800)]
Revert of non-aa rects batch (patchset #6 id:90001 of https://codereview.chromium.org/931293002/)

Reason for revert:
breaks angle

Original issue's description:
> non-aa rects batch
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/ee72dde696b35534465c14f6b4c5bfca44a2f63e

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

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

9 years agonon-aa rects batch
joshualitt [Mon, 23 Feb 2015 15:16:10 +0000 (07:16 -0800)]
non-aa rects batch

BUG=skia:

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

9 years agoRemove SK_SUPPORT_LEGACY_GET_PIXELS_ENUM.
scroggo [Mon, 23 Feb 2015 15:07:25 +0000 (07:07 -0800)]
Remove SK_SUPPORT_LEGACY_GET_PIXELS_ENUM.

SK_SUPPORT_LEGACY_GET_PIXELS_ENUM just set a \#define to convert
onGetPixelsEnum
to
onGetPixels

Now that Chrome has been updated to override onGetPixels, there is no
need for the define.

BUG=skia:3257

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

9 years agoRoll ANGLE
bsalomon [Mon, 23 Feb 2015 14:57:54 +0000 (06:57 -0800)]
Roll ANGLE

TBR=egdaniel@google.com

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

9 years agomake strokes3 full size
caryclark [Mon, 23 Feb 2015 14:51:04 +0000 (06:51 -0800)]
make strokes3 full size

The strokes3 test was limted to 400x800. Allow the captured gm to
go to 1500x1500, and shift it down slightly so it isn't clipped.

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

9 years agoSwap render target instead of creating a new gpu device for surface copy-on-write
kkinnunen [Mon, 23 Feb 2015 06:53:44 +0000 (22:53 -0800)]
Swap render target instead of creating a new gpu device for surface copy-on-write

Swap render target of the gpu device instead of creating a new gpu
device when making a copy-on-write upon surface modification.

This removes the SkCanvas::setRootDevice which contains problematic code
when trying to increase the use of SkImages internally in Skia.

BUG=skia:3388

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

9 years agoUpdate SKP version
skia.buildbots [Sun, 22 Feb 2015 09:11:27 +0000 (01:11 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agomove GMSampleView into its own cpp
reed [Sat, 21 Feb 2015 17:36:50 +0000 (09:36 -0800)]
move GMSampleView into its own cpp

BUG=skia:
TBR=

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

9 years agoremove dead code from sampleapp, trim bad asserts
reed [Sat, 21 Feb 2015 17:03:20 +0000 (09:03 -0800)]
remove dead code from sampleapp, trim bad asserts

BUG=skia:
TBR=

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

9 years ago[SVGDevice] Text whitespace unittest
fmalita [Fri, 20 Feb 2015 21:54:40 +0000 (13:54 -0800)]
[SVGDevice] Text whitespace unittest

Plumb SkDOM as needed to make it suitable for an SkXMLWriter backend.

Also fix a potential null typeface issue in
SkSVGDevice::AutoElement::addTextAttributes().

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

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

9 years agoPDF: remove unnecessary mutexes.
halcanary [Fri, 20 Feb 2015 20:45:50 +0000 (12:45 -0800)]
PDF: remove unnecessary mutexes.

We now force all SkPDFObjects to stay on one thread.

TBR=mtklein@google.com

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

9 years agoImplement onMatchFamilyStyleCharacter for DirectWrite.
bungeman [Fri, 20 Feb 2015 20:45:44 +0000 (12:45 -0800)]
Implement onMatchFamilyStyleCharacter for DirectWrite.

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

9 years agoRemove historical assert in AAConvexPathRenderer
joshualitt [Fri, 20 Feb 2015 20:40:45 +0000 (12:40 -0800)]
Remove historical assert in AAConvexPathRenderer

BUG=skia:

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

9 years agoMake SkPixelRef::isLocked() debug-only, remove related dead code.
mtklein [Fri, 20 Feb 2015 20:40:40 +0000 (12:40 -0800)]
Make SkPixelRef::isLocked() debug-only, remove related dead code.

DM's okay locally with no diffs, no failures.

BUG=skia:

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

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

9 years agoEnable override keyword for GCC versions >= 4.7
djsollen [Fri, 20 Feb 2015 20:35:37 +0000 (12:35 -0800)]
Enable override keyword for GCC versions >= 4.7

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

9 years agoPort GrGLCaps over to use SkTHash.
mtklein [Fri, 20 Feb 2015 20:35:32 +0000 (12:35 -0800)]
Port GrGLCaps over to use SkTHash.

I've written some new hashtable interfaces that should be easier to use,
and I've been trying to roll them out bit by bit, hopefully replacing
SkTDynamicHash, SkTMultiMap, SkTHashCache, etc.

This turns the cache in GrGLCaps::readPixelsSupported() into an SkTHashMap,
mapping the format key to a bool.  Functionally, it's the same.

BUG=skia:

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

9 years agoFix layer hoisting bug in SkCanvas::drawPicture path
robertphillips [Fri, 20 Feb 2015 20:30:26 +0000 (12:30 -0800)]
Fix layer hoisting bug in SkCanvas::drawPicture path

Most of this CL is just reordering to better match the MultiPictureDraw variant. The only functional change is that we now use the device space bounds as the queryRect to the layer hoisting code. This is necessary since the layer hoisting does all its work in device space.

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

9 years agoUse simpler SkTHashSet in DM to store reference gold
mtklein [Fri, 20 Feb 2015 20:30:19 +0000 (12:30 -0800)]
Use simpler SkTHashSet in DM to store reference gold

It's simpler and doesn't leak the gold anymore.

BUG=skia:

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

9 years agoPDF: Now threadsafe!
halcanary [Fri, 20 Feb 2015 15:21:05 +0000 (07:21 -0800)]
PDF: Now threadsafe!

The PDF canvas is now just as threadsafe as any other Skia canvas.

DM updated to thread PDF tests.

SkDocument_PDF now owns SkPDFCanon, and pointers to that canon are
passed around to all classes that need access to the canon.

BUG=skia:2683

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

9 years agoRound stencil buffers dims up to next pow2 when allowed
bsalomon [Fri, 20 Feb 2015 14:58:13 +0000 (06:58 -0800)]
Round stencil buffers dims up to next pow2 when allowed

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

9 years agoThis uses quad approximations of the outer and inner paths describing a stroke. Cubic...
caryclark [Fri, 20 Feb 2015 14:33:57 +0000 (06:33 -0800)]
This uses quad approximations of the outer and inner paths describing a stroke. Cubics and conics' thick strokes are approximated with quads as well.

The approximation uses a similar error term as the fill scan converter to determine the number of quads to use.

This also updates SampleApp QuadStroker test with conics, ovals, and stroked text.

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

9 years agoPDF : New factory function for SkPDFDevice
halcanary [Fri, 20 Feb 2015 14:17:26 +0000 (06:17 -0800)]
PDF : New factory function for SkPDFDevice

SkPDFDevice now has factory function that matches what callers need.

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

9 years agoPDF: remove unused SkPDFDevice::setDCTEncoder()
halcanary [Fri, 20 Feb 2015 13:57:11 +0000 (05:57 -0800)]
PDF: remove unused SkPDFDevice::setDCTEncoder()

All image compression currently uses (losseless) Deflate, not
Jpeg.  See http://crrev.com/935843007

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

9 years agoRevert of Make SkPixelRef::isLocked() debug-only, remove related dead code. (patchset...
reed [Fri, 20 Feb 2015 04:00:33 +0000 (20:00 -0800)]
Revert of Make SkPixelRef::isLocked() debug-only, remove related dead code. (patchset #1 id:1 of https://codereview.chromium.org/940083002/)

Reason for revert:
Broke callers in chrome

../../skia/ext/platform_canvas_unittest.cc:421:56: error: no member named 'isLocked' in 'SkPixelRef'
  EXPECT_TRUE(platform_bitmap->GetBitmap().pixelRef()->isLocked());

Original issue's description:
> Make SkPixelRef::isLocked() debug-only, remove related dead code.
>
> DM's okay locally with no diffs, no failures.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/8e65712486c66108677a9b0a55ad3e7ca94db555

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

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

9 years agoPDF: Remove SkPDFDeviceFlattener
halcanary [Fri, 20 Feb 2015 02:55:05 +0000 (18:55 -0800)]
PDF: Remove SkPDFDeviceFlattener

There are no clients.

TBR=mtklein@google.com

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

9 years agoRemove unused parameters to SkDocument::CreatePDF
halcanary [Fri, 20 Feb 2015 02:50:05 +0000 (18:50 -0800)]
Remove unused parameters to SkDocument::CreatePDF

All image compression currently uses (losseless) Deflate, not Jpeg.

All clients simply use SkDocument::CreatePDF(stream).

SampleApp and SkLua still use SkDocument::CreatePDF(path).

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

9 years agoMake SkPixelRef::isLocked() debug-only, remove related dead code.
mtklein [Fri, 20 Feb 2015 02:50:00 +0000 (18:50 -0800)]
Make SkPixelRef::isLocked() debug-only, remove related dead code.

DM's okay locally with no diffs, no failures.

BUG=skia:

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

9 years agoRename onGetPixelsEnum back to onGetPixels.
scroggo [Fri, 20 Feb 2015 02:44:58 +0000 (18:44 -0800)]
Rename onGetPixelsEnum back to onGetPixels.

Replace the old signature of onGetPixels (return bool) to return an
enum (Result). Remove onGetPixelsEnum.

Add a define for onGetPixelsEnum to onGetPixels. This is for staging
in Chromium, where some implementations override onGetPixelsEnum.

Add the define in skia_for_chromium_defines. Remove
SK_SUPPORT_LEGACY_IMAGE_GENERATOR_RETURN, which is no longer needed by
Chromium.

BUG=skia:3257

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

9 years ago[SkSVGDevice] Fix whitespace text handling
fmalita [Fri, 20 Feb 2015 02:44:51 +0000 (18:44 -0800)]
[SkSVGDevice] Fix whitespace text handling

SVG ignores leading/trailing whitespace and consolidates mid-text
(http://www.w3.org/TR/SVG/text.html#WhiteSpace). This can cause our
x/y position indices to get out of whack.

Implement a text builder which is SVG whitespace-munging-aware and
performs the needed x/y position list adjustments.

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

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

9 years agouse geometric ave for choosing mip level
reed [Fri, 20 Feb 2015 02:39:49 +0000 (18:39 -0800)]
use geometric ave for choosing mip level

requires https://codereview.chromium.org/937233002/

BUG=skia:

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

9 years agoAllow either the old or new version of ADB on mac.
djsollen [Fri, 20 Feb 2015 02:39:40 +0000 (18:39 -0800)]
Allow either the old or new version of ADB on mac.

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

9 years agoSpeculative fix for nexus player unit test failure
bsalomon [Thu, 19 Feb 2015 20:05:58 +0000 (12:05 -0800)]
Speculative fix for nexus player unit test failure

TBR=robertphillips@google.com

NOTREECHECKS=true

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

9 years agogm to illustrate mipmap layer choice
reed [Thu, 19 Feb 2015 19:39:46 +0000 (11:39 -0800)]
gm to illustrate mipmap layer choice

BUG=skia:
NOTREECHECKS=True
TBR=

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

9 years agoHandle the case when the GrResourceCache timestamp wraps.
bsalomon [Thu, 19 Feb 2015 19:38:44 +0000 (11:38 -0800)]
Handle the case when the GrResourceCache timestamp wraps.

NOTREECHECKS=true

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

9 years agogm to test hairlines which fill RenderTarget
joshualitt [Thu, 19 Feb 2015 18:25:21 +0000 (10:25 -0800)]
gm to test hairlines which fill RenderTarget

BUG=skia:

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

9 years agoRecycle stencil buffers across render targets.
bsalomon [Thu, 19 Feb 2015 17:09:00 +0000 (09:09 -0800)]
Recycle stencil buffers across render targets.

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

9 years agoRevert of notify resource caches when pixelref genID goes stale (patchset #4 id:60001...
mtklein [Thu, 19 Feb 2015 16:53:52 +0000 (08:53 -0800)]
Revert of notify resource caches when pixelref genID goes stale (patchset #4 id:60001 of https://codereview.chromium.org/825263005/)

Reason for revert:
Crazy failures.

http://build.chromium.org/p/client.skia/builders/Test-Mac10.8-MacMini4.1-GeForce320M-x86_64-Debug/builds/1428/steps/dm/logs/stdio

Original issue's description:
> notify resource caches when pixelref genID goes stale
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4675819b9dbb3ad71ec851776e5de26d342f29fe

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

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

9 years agoPDF: why do we have flags no one uses (or can use)?
mtklein [Thu, 19 Feb 2015 16:29:24 +0000 (08:29 -0800)]
PDF: why do we have flags no one uses (or can use)?

BUG=skia:

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

9 years agoUpdate fontcache gm to actually stress font atlas
jvanverth [Thu, 19 Feb 2015 16:28:02 +0000 (08:28 -0800)]
Update fontcache gm to actually stress font atlas

BUG=skia:

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

9 years agoAllow resources' unique keys to be changed.
bsalomon [Thu, 19 Feb 2015 16:24:16 +0000 (08:24 -0800)]
Allow resources' unique keys to be changed.

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

9 years agonotify resource caches when pixelref genID goes stale
reed [Thu, 19 Feb 2015 16:22:54 +0000 (08:22 -0800)]
notify resource caches when pixelref genID goes stale

BUG=skia:

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

9 years agoRevert of disable gammatext gm for a while, looking for other flakes (patchset #1...
bungeman [Thu, 19 Feb 2015 15:45:14 +0000 (07:45 -0800)]
Revert of disable gammatext gm for a while, looking for other flakes (patchset #1 id:1 of https://codereview.chromium.org/725303002/)

Reason for revert:
We now have gold!!!

Original issue's description:
> disable gammatext gm for a while, looking for other flakes
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/64c04882701d9ee3bbbf23d8c02c8d96c5a51719

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

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

9 years agoClarify desired behavior of FontConfigTypeface::LegacyCreateTypeface.
bungeman [Thu, 19 Feb 2015 15:29:28 +0000 (07:29 -0800)]
Clarify desired behavior of FontConfigTypeface::LegacyCreateTypeface.

This should have no real effect on behavior, but cleans up some names
and removes an unused parameter. This is a step toward separating the
SkTypeface cache from the request cache.

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

9 years agomove SkPDFD*.h from include to src
halcanary [Thu, 19 Feb 2015 15:26:12 +0000 (07:26 -0800)]
move SkPDFD*.h from include to src

CQ_INCLUDE_TRYBOTS=client.skia:Mac Builder-Trybot,Linux Builder-Trybot,Win Builder-Trybot

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

9 years agoRename GrContentKey to GrUniqueKey
bsalomon [Thu, 19 Feb 2015 15:24:21 +0000 (07:24 -0800)]
Rename GrContentKey to GrUniqueKey

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

9 years agoDo not clear the source device in SkGpuDevice::drawDevice
kkinnunen [Thu, 19 Feb 2015 15:20:40 +0000 (07:20 -0800)]
Do not clear the source device in SkGpuDevice::drawDevice

Do not clear the source device in SkGpuDevice::drawDevice based on
the status whether the destination device needs a clear.

Source device clear is flushed in SkGpuDevice::accessRenderTarget()
and target device clear is flushed in CHECK_SHOULD_DRAW(draw).

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

9 years agoAvoid wrong memory access due to double substitution and %%
kkinnunen [Thu, 19 Feb 2015 14:32:12 +0000 (06:32 -0800)]
Avoid wrong memory access due to double substitution and %%

Use the form SkDebugf("%s", arbitraryString) instead of
SkDebugf(arbitraryString).

Fixes the case where SkString::appendf-ing a string with "%%" and then
printing the string with SkDebugf would cause uninitialized read and
corrupted debug print.

ninja -C out/Debug tools && valgrind --leak-check=full
./out/Debug/render_pictures --config gpu  -w q -r ...

...

==7307== Conditional jump or move depends on uninitialised value(s)
==7307==    at 0x6908475: __printf_fp (printf_fp.c:1180)
==7307==    by 0x6904267: vfprintf (vfprintf.c:1629)
==7307==    by 0x6906E53: buffered_vfprintf (vfprintf.c:2313)
==7307==    by 0x690188D: vfprintf (vfprintf.c:1316)
==7307==    by 0x67E8F5: SkDebugf(char const*, ...) (SkDebug_stdio.cpp:18)
==7307==    by 0x7983F1: GrContext::printCacheStats() const (GrTest.cpp:54)
==7307==    by 0x408ECF: tool_main(int, char**) (render_pictures_main.cpp:480)
==7307==    by 0x40913E: main (render_pictures_main.cpp:511)
==7307==
Budget: 2048 items 100663296 bytes
Entry Count: current 652 (651 budgeted, 0 wrapped, 297 locked, 638 scratch 32 0.000000ull), high 652
Entry Bytes: current 51087658 (budgeted 49826658, 49 0.000000ull, 1261000 unbudgeted) high 51087658

(observe "ull" instead of "% full")

(from mtklein)
This CL is not editing public API.
TBR=reed@google.com

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

9 years agoFixing possible out of bound memory access
sugoi [Thu, 19 Feb 2015 13:32:08 +0000 (05:32 -0800)]
Fixing possible out of bound memory access

This was a bug found by ASAN. When width is very small, we can have something like width == 1 and rowBytes == 8. Using "2 * yWidth" (2) would be smaller than rowBytesY (8), so we could read memory out of bounds. This issue has a separate fix in blink (crbug.com/458861).

BUG=skia:

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

9 years agoRemove FontConfigTypeface::getFamilyName().
bungeman [Wed, 18 Feb 2015 21:22:26 +0000 (13:22 -0800)]
Remove FontConfigTypeface::getFamilyName().

This method is hiding a method of the same name from the superclass.
This is confusing and error prone, and doesn't really add anything.

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

9 years agomanaging chromes use section of docs
hcm [Wed, 18 Feb 2015 20:56:40 +0000 (12:56 -0800)]
managing chromes use section of docs

BUG=skia:

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

9 years agoRuntime configuration section of docs
hcm [Wed, 18 Feb 2015 20:55:04 +0000 (12:55 -0800)]
Runtime configuration section of docs

Preview here: http://skiadocs.com:8000/dev/runtime/?cl=940663002

BUG=skia:

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