caryclark
6df8e3495a
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
2015-02-23 12:47:03 -08:00
djsollen
f056bd1e01
Ensure that skia's test resources are properly packaged on Android
...
Review URL: https://codereview.chromium.org/949853003
2015-02-23 12:37:32 -08:00
tomhudson
eebc39ad5a
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
2015-02-23 12:18:05 -08:00
halcanary
7af21501a6
SkStream: Add SkDynamicMemoryWStream::writeToStream(SkWStream*)
...
Review URL: https://codereview.chromium.org/943423002
2015-02-23 12:18:00 -08:00
bsalomon
52057c8707
Fix release-developer build.
...
TBR=humper@google.com
Review URL: https://codereview.chromium.org/951613002
2015-02-23 12:12:59 -08:00
egdaniel
0bdeec9640
Remove canApplyCoverage from XP and all related functions in gpu code.
...
BUG=skia:
Review URL: https://codereview.chromium.org/919683002
2015-02-23 12:12:54 -08:00
robertphillips
b8de1f4659
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
2015-02-23 11:17:01 -08:00
bsalomon
1a9600f253
Make STDPQueue::at() available in all builds.
...
Review URL: https://codereview.chromium.org/955433003
2015-02-23 10:59:50 -08:00
vmiura
278f86e4df
SkDiscardablePixelRef should favor not decoding to YUV if they already decoded to RGB.
...
BUG=skia:
BUG=459760
Review URL: https://codereview.chromium.org/944823004
2015-02-23 10:59:44 -08:00
bsalomon
93276c683d
Remove EGL header from SkANGLELContext.h
...
TBR=egdaniel@google.com
Review URL: https://codereview.chromium.org/947263002
2015-02-23 10:51:13 -08:00
halcanary
44906c6628
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
2015-02-23 10:43:48 -08:00
halcanary
77d366d72a
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
2015-02-23 10:28:03 -08:00
bsalomon
c01f47b759
Remove unnecessary include of gles2 header in SkANGLEGLContext.h
...
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/949973002
2015-02-23 10:06:44 -08:00
mtklein
a2f4be76a9
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
2015-02-23 10:04:34 -08:00
bungeman
9c007f23c1
Use #if instead of #ifdef with SK_HAS_DWRITE_X.
...
Review URL: https://codereview.chromium.org/943233004
2015-02-23 13:02:49 -05:00
bsalomon
9e5fc72d63
Add stencil buffer create tracking to GPU stats.
...
Review URL: https://codereview.chromium.org/949953002
2015-02-23 10:01:36 -08:00
mtklein
088302756b
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
2015-02-23 09:44:34 -08:00
bungeman
28512f7f54
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
2015-02-23 09:41:43 -08:00
mtklein
50d2b3114b
Sketch SkPMFloat
...
BUG=skia:
Review URL: https://codereview.chromium.org/936633002
2015-02-23 09:39:27 -08:00
bsalomon
2596567793
Don't require AA in order to use shader-based clips
...
Review URL: https://codereview.chromium.org/941423002
2015-02-23 09:28:30 -08:00
bsalomon
dd3143b007
clear stencil buffer using special purpose FBO
...
Review URL: https://codereview.chromium.org/941383003
2015-02-23 09:27:45 -08:00
bsalomon
6bc1b5fab8
Dynamically create stencil buffer when needed.
...
Review URL: https://codereview.chromium.org/938383004
2015-02-23 09:06:38 -08:00
bsalomon
42380174ca
Use D3D11 backend for ANGLE when available.
...
Review URL: https://codereview.chromium.org/954453002
2015-02-23 08:57:23 -08:00
joshualitt
332c729cec
Default path renderer batch
...
BUG=skia:
Review URL: https://codereview.chromium.org/884013010
2015-02-23 08:44:31 -08:00
bungeman
7be2eb89cc
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
2015-02-23 08:25:00 -08:00
reed
e2b580bbed
remove dead code (covered by surfaceprops)
...
BUG=skia:
Review URL: https://codereview.chromium.org/947593004
2015-02-23 07:37:40 -08:00
joshualitt
6ae1b1136f
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
2015-02-23 07:35:35 -08:00
joshualitt
ee72dde696
non-aa rects batch
...
BUG=skia:
Review URL: https://codereview.chromium.org/931293002
2015-02-23 07:16:10 -08:00
scroggo
953df445ab
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
2015-02-23 07:07:25 -08:00
bsalomon
17203020d7
Roll ANGLE
...
TBR=egdaniel@google.com
Review URL: https://codereview.chromium.org/946293005
2015-02-23 06:57:54 -08:00
caryclark
3760457182
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
2015-02-23 06:51:04 -08:00
kkinnunen
abcfab4d68
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
2015-02-22 22:53:44 -08:00
skia.buildbots
54bf133ca4
Update SKP version
...
Automatic commit by the RecreateSKPs bot.
TBR=
Review URL: https://codereview.chromium.org/944323002
2015-02-22 01:11:28 -08:00
reed
0ab326f530
move GMSampleView into its own cpp
...
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/947733002
2015-02-21 09:36:50 -08:00
reed
f7f79d2a6e
remove dead code from sampleapp, trim bad asserts
...
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/948693002
2015-02-21 09:03:21 -08:00
fmalita
7a048690d3
[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
2015-02-20 13:54:40 -08:00
halcanary
c1b71d6c30
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
2015-02-20 12:45:50 -08:00
bungeman
b2bed00ce1
Implement onMatchFamilyStyleCharacter for DirectWrite.
...
Review URL: https://codereview.chromium.org/946603002
2015-02-20 12:45:44 -08:00
joshualitt
7abe15d7a9
Remove historical assert in AAConvexPathRenderer
...
BUG=skia:
Review URL: https://codereview.chromium.org/944873004
2015-02-20 12:40:45 -08:00
mtklein
96d68b7046
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
2015-02-20 12:40:40 -08:00
djsollen
7ff705023d
Enable override keyword for GCC versions >= 4.7
...
Review URL: https://codereview.chromium.org/945803005
2015-02-20 12:35:37 -08:00
mtklein
2aa1f7e679
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
2015-02-20 12:35:32 -08:00
robertphillips
e5524cd52d
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
2015-02-20 12:30:26 -08:00
mtklein
a82f562725
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
2015-02-20 12:30:19 -08:00
halcanary
792c80f5a7
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
2015-02-20 07:21:05 -08:00
bsalomon
d08ea5fdae
Round stencil buffers dims up to next pow2 when allowed
...
Review URL: https://codereview.chromium.org/937303002
2015-02-20 06:58:14 -08:00
caryclark
04e4d08556
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
2015-02-20 06:33:57 -08:00
halcanary
a1f1ee98a1
PDF : New factory function for SkPDFDevice
...
SkPDFDevice now has factory function that matches what callers need.
Review URL: https://codereview.chromium.org/941023005
2015-02-20 06:17:26 -08:00
halcanary
07d5947b88
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
2015-02-20 05:57:11 -08:00
reed
b92b706dfd
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
2015-02-19 20:00:33 -08:00