edisonn@google.com [Wed, 9 Oct 2013 15:13:19 +0000 (15:13 +0000)]
remove tracking code, as it polutes the code readability. Should be added back, in a less eficient way, by registering streams instead, so we don't have to pass arround the streams, and the code will be cleaner.
Review URL: https://codereview.chromium.org/
26700002
git-svn-id: http://skia.googlecode.com/svn/trunk@11671
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Wed, 9 Oct 2013 15:09:42 +0000 (15:09 +0000)]
flush after every print in windows
R=djsollen@google.com, reed@google.com, epoger@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/
26680004
git-svn-id: http://skia.googlecode.com/svn/trunk@11670
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Wed, 9 Oct 2013 14:39:46 +0000 (14:39 +0000)]
ARM Skia NEON patches - 28 - Xfermode: SIMD modeprocs
Xfermode: allow for SIMD modeprocs
This patch introduces the ability to have SIMD Xfermode modeprocs.
In the NEON implementation, SIMD modeprocs will process 8 pixels
at a time.
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
BUG=
Committed: http://code.google.com/p/skia/source/detail?r=11654
R=djsollen@google.com, mtklein@google.com, reed@google.com
Author: kevin.petit.arm@gmail.com
Review URL: https://codereview.chromium.org/
23644006
git-svn-id: http://skia.googlecode.com/svn/trunk@11669
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Wed, 9 Oct 2013 14:11:33 +0000 (14:11 +0000)]
Implement filling a path with nv_path_rendering cover
Implement filling a path with nv_path_rendering cover functionality.
The nv_path_rendering cover can be used if the fill is non-inverted
and the draw operation does not require use of vertex shaders.
Moves code for the inverted fill from GrStencilAndCoverPathRenderer
down to GrGpuGL.
R=bsalomon@google.com, markkilgard@gmail.com, cdalton@nvidia.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/
22686002
git-svn-id: http://skia.googlecode.com/svn/trunk@11667
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Wed, 9 Oct 2013 14:10:27 +0000 (14:10 +0000)]
Remove --pdf option as it can now be controlled by --config
R=borenet@google.com, bsalomon@google.com
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/
25859006
git-svn-id: http://skia.googlecode.com/svn/trunk@11666
2bbb7eff-a529-9590-31e7-
b0007b416f81
robertphillips@google.com [Wed, 9 Oct 2013 12:51:09 +0000 (12:51 +0000)]
Fix valgrind uninitialized memory complaint
https://codereview.chromium.org/
26469003/
git-svn-id: http://skia.googlecode.com/svn/trunk@11664
2bbb7eff-a529-9590-31e7-
b0007b416f81
reed@google.com [Wed, 9 Oct 2013 12:45:51 +0000 (12:45 +0000)]
try uping the cache-count-limit to see if it speeds up bench-pictures
BUG=
Review URL: https://codereview.chromium.org/
25118003
git-svn-id: http://skia.googlecode.com/svn/trunk@11663
2bbb7eff-a529-9590-31e7-
b0007b416f81
bungeman@google.com [Tue, 8 Oct 2013 21:32:15 +0000 (21:32 +0000)]
Improve SkScalerContext_GDI::generateCharToGlyph for non-BMP code points.
Sometimes, when ScriptShape is presented with a surrogate pair which does
not map to a glyph, it returns two space glyphs instead of .notdef (0).
Detect this class of issues and handle appropriately.
git-svn-id: http://skia.googlecode.com/svn/trunk@11660
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Tue, 8 Oct 2013 19:40:18 +0000 (19:40 +0000)]
Allow sampling GIF images during decode.
SkScaledBitmapSampler:
Add a mode for sampling rows out of order, used by GIF decoder for
interlaced images.
Add a getter for the X sampling rate.
SkImageDecoder_libgif:
Respect the sampleSize set on SkImageDecoder.
skimage_main:
Provide an option to set a sample size.
BUG=https://b.corp.google.com/issue?id=8999690
R=reed@google.com, djsollen@google.com, halcanary@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/
25354004
git-svn-id: http://skia.googlecode.com/svn/trunk@11659
2bbb7eff-a529-9590-31e7-
b0007b416f81
robertphillips@google.com [Tue, 8 Oct 2013 19:15:58 +0000 (19:15 +0000)]
Fix uninitialized memory access
https://codereview.chromium.org/
26529002/
git-svn-id: http://skia.googlecode.com/svn/trunk@11658
2bbb7eff-a529-9590-31e7-
b0007b416f81
djsollen@google.com [Tue, 8 Oct 2013 16:59:53 +0000 (16:59 +0000)]
Revert "ARM Skia NEON patches - 28 - Xfermode: SIMD modeprocs"
This reverts http://code.google.com/p/skia/source/detail?r=11654
Review URL: https://codereview.chromium.org/
26340010
git-svn-id: http://skia.googlecode.com/svn/trunk@11655
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Tue, 8 Oct 2013 16:47:22 +0000 (16:47 +0000)]
ARM Skia NEON patches - 28 - Xfermode: SIMD modeprocs
Xfermode: allow for SIMD modeprocs
This patch introduces the ability to have SIMD Xfermode modeprocs.
In the NEON implementation, SIMD modeprocs will process 8 pixels
at a time.
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
BUG=
R=djsollen@google.com, mtklein@google.com, reed@google.com
Author: kevin.petit.arm@gmail.com
Review URL: https://codereview.chromium.org/
23644006
git-svn-id: http://skia.googlecode.com/svn/trunk@11654
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Tue, 8 Oct 2013 16:24:07 +0000 (16:24 +0000)]
Update #if to #ifdef for consistency
R=mtklein@google.com
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/
26495002
git-svn-id: http://skia.googlecode.com/svn/trunk@11653
2bbb7eff-a529-9590-31e7-
b0007b416f81
robertphillips@google.com [Tue, 8 Oct 2013 15:40:49 +0000 (15:40 +0000)]
Fix memory leak in SkPDFRasterizer
https://codereview.chromium.org/
26373005/
git-svn-id: http://skia.googlecode.com/svn/trunk@11652
2bbb7eff-a529-9590-31e7-
b0007b416f81
robertphillips@google.com [Tue, 8 Oct 2013 15:37:19 +0000 (15:37 +0000)]
Update valgrind suppressions
https://codereview.chromium.org/
26465007/
git-svn-id: http://skia.googlecode.com/svn/trunk@11650
2bbb7eff-a529-9590-31e7-
b0007b416f81
mtklein@google.com [Tue, 8 Oct 2013 15:16:36 +0000 (15:16 +0000)]
skia/trunk changes for generic sanitizer gyp flag.
BUG=
R=borenet@google.com
Review URL: https://codereview.chromium.org/
25564003
git-svn-id: http://skia.googlecode.com/svn/trunk@11648
2bbb7eff-a529-9590-31e7-
b0007b416f81
skia.committer@gmail.com [Tue, 8 Oct 2013 07:01:42 +0000 (07:01 +0000)]
Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11645
2bbb7eff-a529-9590-31e7-
b0007b416f81
bungeman@google.com [Mon, 7 Oct 2013 20:32:18 +0000 (20:32 +0000)]
Document how to get a specific revision when rebaselining.
This is helpful when using the trybots.
R=epoger@google.com
Review URL: https://codereview.chromium.org/
25653008
git-svn-id: http://skia.googlecode.com/svn/trunk@11643
2bbb7eff-a529-9590-31e7-
b0007b416f81
bungeman@google.com [Mon, 7 Oct 2013 19:57:35 +0000 (19:57 +0000)]
Make svndiff.py work on Windows and with svn 1.7.
R=epoger@google.com
Review URL: https://codereview.chromium.org/
25447003
git-svn-id: http://skia.googlecode.com/svn/trunk@11642
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Mon, 7 Oct 2013 19:49:13 +0000 (19:49 +0000)]
Fix ambiguity in API if no matching system language is found
R=reed@google.com, wangxianzhu@chromium.org
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/
26325003
git-svn-id: http://skia.googlecode.com/svn/trunk@11641
2bbb7eff-a529-9590-31e7-
b0007b416f81
epoger@google.com [Mon, 7 Oct 2013 19:06:40 +0000 (19:06 +0000)]
Ignore any pdf-poppler GM failures
BUG=skia:1657
R=edisonn@google.com
Review URL: https://codereview.chromium.org/
26318002
git-svn-id: http://skia.googlecode.com/svn/trunk@11640
2bbb7eff-a529-9590-31e7-
b0007b416f81
epoger@google.com [Mon, 7 Oct 2013 18:55:09 +0000 (18:55 +0000)]
GM: Allow ignored-tests.txt to list configs as well as tests (and combinations too)
BUG=skia:1657
This will allow us to ignore poppler failures until bug 1657 is resolved
(but this CL doesn't actually make that change to ignored-tests.txt yet)
R=scroggo@google.com
Review URL: https://codereview.chromium.org/
26294004
git-svn-id: http://skia.googlecode.com/svn/trunk@11639
2bbb7eff-a529-9590-31e7-
b0007b416f81
scroggo@google.com [Mon, 7 Oct 2013 18:29:38 +0000 (18:29 +0000)]
Ignore failure for images known to not work.
BUG=skia:1282
Review URL: https://codereview.chromium.org/
26315002
git-svn-id: http://skia.googlecode.com/svn/trunk@11638
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Mon, 7 Oct 2013 18:20:27 +0000 (18:20 +0000)]
Fix for blinking/corrupted text in Canvas 2D.
Ensure that we update the drawToken for a glyph's plot every time it is
used, not just when the glyph is first added.
BUG=303803
R=junov@chromium.org, bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/
26253003
git-svn-id: http://skia.googlecode.com/svn/trunk@11637
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Mon, 7 Oct 2013 18:00:17 +0000 (18:00 +0000)]
Luminance-to-alpha color filter (SkLumaColorFilter).
Adding a color filter luma implementation. The plan is to convert
existing clients and then deprecate SkLumaXfermode.
R=bsalomon@google.com, reed@google.com, robertphillips@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/
25453004
git-svn-id: http://skia.googlecode.com/svn/trunk@11636
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Mon, 7 Oct 2013 17:59:04 +0000 (17:59 +0000)]
style nit for myself retroactively: throwOnFailure -> throw_on_failure
BUG=
R=reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/
26298002
git-svn-id: http://skia.googlecode.com/svn/trunk@11635
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Mon, 7 Oct 2013 17:18:21 +0000 (17:18 +0000)]
Make all gradient benchs use the same repeat count.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/
25306003
git-svn-id: http://skia.googlecode.com/svn/trunk@11634
2bbb7eff-a529-9590-31e7-
b0007b416f81
scroggo@google.com [Mon, 7 Oct 2013 16:56:01 +0000 (16:56 +0000)]
In skimage, copy to 8888 if encoding fails.
When writing the bitmap for visual comparison, rather than special
casing A8, depend on the fact that the encoder will fail, and try
copying to 8888 and encoding that if so.
R=reed@google.com
Review URL: https://codereview.chromium.org/
25964003
git-svn-id: http://skia.googlecode.com/svn/trunk@11633
2bbb7eff-a529-9590-31e7-
b0007b416f81
djsollen@google.com [Mon, 7 Oct 2013 16:48:08 +0000 (16:48 +0000)]
Rebaseline test due to improvements in r11577
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/
26114003
git-svn-id: http://skia.googlecode.com/svn/trunk@11632
2bbb7eff-a529-9590-31e7-
b0007b416f81
scroggo@google.com [Mon, 7 Oct 2013 16:43:16 +0000 (16:43 +0000)]
Fix unparsable expectations files.
Should fix build.
Unreviewed.
git-svn-id: http://skia.googlecode.com/svn/trunk@11631
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Mon, 7 Oct 2013 15:52:15 +0000 (15:52 +0000)]
Make skia almost compile again with clang.
clang is reporting many unused functions and variables.
R=bsalomon@google.com, robertphillips@google.com, reed@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/
26167002
git-svn-id: http://skia.googlecode.com/svn/trunk@11630
2bbb7eff-a529-9590-31e7-
b0007b416f81
edisonn@google.com [Mon, 7 Oct 2013 15:40:21 +0000 (15:40 +0000)]
pdf report files
Review URL: https://codereview.chromium.org/
26271002
git-svn-id: http://skia.googlecode.com/svn/trunk@11629
2bbb7eff-a529-9590-31e7-
b0007b416f81
djsollen@google.com [Mon, 7 Oct 2013 14:02:58 +0000 (14:02 +0000)]
revert unintentional checkin of svndiff.py
Review URL: https://codereview.chromium.org/
26162004
git-svn-id: http://skia.googlecode.com/svn/trunk@11628
2bbb7eff-a529-9590-31e7-
b0007b416f81
djsollen@google.com [Mon, 7 Oct 2013 13:50:45 +0000 (13:50 +0000)]
Rebaseline Android Xoom and Nexus10
Review URL: https://codereview.chromium.org/
26257002
git-svn-id: http://skia.googlecode.com/svn/trunk@11627
2bbb7eff-a529-9590-31e7-
b0007b416f81
edisonn@google.com [Mon, 7 Oct 2013 13:22:21 +0000 (13:22 +0000)]
pdf: drawPath should pass the computed matrix, instead of default matrix stored in draw.
moved cl https://codereview.chromium.org/
24265006/ in git repository so I can run the trybots
R=vandebo@chromium.org
Review URL: https://codereview.chromium.org/
25675011
git-svn-id: http://skia.googlecode.com/svn/trunk@11626
2bbb7eff-a529-9590-31e7-
b0007b416f81
skia.committer@gmail.com [Sat, 5 Oct 2013 07:01:34 +0000 (07:01 +0000)]
Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11625
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Sat, 5 Oct 2013 01:16:30 +0000 (01:16 +0000)]
Add perspective support to SkMatrix44 initializers.
I noticed SkMatrix <-> SkMatrix44 conversions were dropping the
perspective values on the floor. As we use SkMatrix44 heavily in
Chromium, I'm concerned this missing code will cause a bug eventually.
It should be correct to simply use the bottom row of the 4x4 matrix
excluding the third column.
Previously committed and reverted, second attempt with fix for
incorrect use of SkMScalar/SkScalar.
BUG=
R=reed@google.com, caryclark@google.com
Author: aelias@chromium.org
Review URL: https://codereview.chromium.org/
25484006
git-svn-id: http://skia.googlecode.com/svn/trunk@11624
2bbb7eff-a529-9590-31e7-
b0007b416f81
aelias@chromium.org [Fri, 4 Oct 2013 22:26:28 +0000 (22:26 +0000)]
Revert "Add perspective support to SkMatrix44 initializers."
This reverts commit
93db1bcae0863feed8d00a61ae2cf72a90a0083c.
git-svn-id: http://skia.googlecode.com/svn/trunk@11623
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Fri, 4 Oct 2013 20:38:08 +0000 (20:38 +0000)]
Add perspective support to SkMatrix44 initializers.
I noticed SkMatrix <-> SkMatrix44 conversions were dropping the
perspective values on the floor. As we use SkMatrix44 heavily in
Chromium, I'm concerned this missing code will cause a bug eventually.
It should be correct to simply use the bottom row of the 4x4 matrix
excluding the third column.
BUG=
R=reed@google.com
Author: aelias@chromium.org
Review URL: https://codereview.chromium.org/
25484006
git-svn-id: http://skia.googlecode.com/svn/trunk@11622
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Fri, 4 Oct 2013 20:02:53 +0000 (20:02 +0000)]
Use vertexless shaders when NVpr is available
Adds support for vertexless shaders and enables them when
NV_path_rendering is available. This takes a
GrGLFragmentOnlyShaderBuilder class, a GrGLTexGenEffectArray class,
support for setting TexGen and the projection matrix in GrGpuGL, and
code for setting the GL fixed function state where necessary.
R=bsalomon@google.com, kkinnunen@nvidia.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/
25846002
git-svn-id: http://skia.googlecode.com/svn/trunk@11620
2bbb7eff-a529-9590-31e7-
b0007b416f81
bsalomon@google.com [Fri, 4 Oct 2013 19:22:03 +0000 (19:22 +0000)]
rebaseline angle gradient changes
Review URL: https://codereview.chromium.org/
25666017
git-svn-id: http://skia.googlecode.com/svn/trunk@11618
2bbb7eff-a529-9590-31e7-
b0007b416f81
bungeman@google.com [Fri, 4 Oct 2013 17:00:35 +0000 (17:00 +0000)]
Mutex protect SkFontMgr_DirectWrite cache.
SkFontMgr_DirectWrite is constant, except for its typeface cache.
Protect this cache in the face of multiple threads.
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/
26023002
git-svn-id: http://skia.googlecode.com/svn/trunk@11615
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Fri, 4 Oct 2013 16:52:55 +0000 (16:52 +0000)]
commit to xfermode objects being immutable
BUG=
R=djsollen@google.com, mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/
25968004
git-svn-id: http://skia.googlecode.com/svn/trunk@11614
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Fri, 4 Oct 2013 16:23:58 +0000 (16:23 +0000)]
When cache is full delay flush until GrContext draw is finished
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/
25673004
git-svn-id: http://skia.googlecode.com/svn/trunk@11613
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Fri, 4 Oct 2013 15:42:56 +0000 (15:42 +0000)]
Move VertexBuilder to a GrGLFullShaderBuilder subclass
Removes the VertexBuilder nested class from GrGLShaderBuilder in favor
of a new GrGLFullShaderBuilder subclass, and adds an optional emitCode
overload to GrGLEffect that takes a GrGLFullShaderBuilder. Makes
setData virtual in GrGLEffectArray and adds a GrGLVertexEffectArray
subclass that gets built using a GrGLFullShaderBuilder. Also adds a
new GrGLVertexEffect subclass that makes the GrGLFullShaderBuilder
overload required for emitCode, and updates GrGLEffects to inherit
from GrGLVertexEffect where needed.
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/
25474006
git-svn-id: http://skia.googlecode.com/svn/trunk@11612
2bbb7eff-a529-9590-31e7-
b0007b416f81
borenet@google.com [Fri, 4 Oct 2013 15:32:45 +0000 (15:32 +0000)]
Whitespace change to trigger build after several buildbot-side changes
https://codereview.chromium.org/
25437010/ (Skip WritePixels test on Xoom)
https://codereview.chromium.org/
25820003/ (Use --resetGpuContext flag when running GM on Xoom)
https://codereview.chromium.org/
25666016/ (Remove --nopdf flag from GM on Android)
https://codereview.chromium.org/
26005002/ (Increase Compile timeout)
Review URL: https://codereview.chromium.org/
25421004
git-svn-id: http://skia.googlecode.com/svn/trunk@11611
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Fri, 4 Oct 2013 15:28:18 +0000 (15:28 +0000)]
Don't access RT when disabling scissor.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/
25446004
git-svn-id: http://skia.googlecode.com/svn/trunk@11608
2bbb7eff-a529-9590-31e7-
b0007b416f81
djsollen@google.com [Fri, 4 Oct 2013 14:57:00 +0000 (14:57 +0000)]
Add GM option to allow the GPU context to be reset prior to each GM being run
BUG=skia:1434
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/
26010002
git-svn-id: http://skia.googlecode.com/svn/trunk@11605
2bbb7eff-a529-9590-31e7-
b0007b416f81
halcanary@google.com [Fri, 4 Oct 2013 14:35:38 +0000 (14:35 +0000)]
Fix SkScalar conversion warning error.
This was causing probems on the Win build.
R=caryclark@google.com
Review URL: https://codereview.chromium.org/
26011002
git-svn-id: http://skia.googlecode.com/svn/trunk@11604
2bbb7eff-a529-9590-31e7-
b0007b416f81
bsalomon@google.com [Fri, 4 Oct 2013 14:26:58 +0000 (14:26 +0000)]
Remove rebaselined tests from ignored-tests.txt
Review URL: https://codereview.chromium.org/
26014002
git-svn-id: http://skia.googlecode.com/svn/trunk@11603
2bbb7eff-a529-9590-31e7-
b0007b416f81
bsalomon@google.com [Fri, 4 Oct 2013 14:24:28 +0000 (14:24 +0000)]
Mark images with busted concial gradients as ignore failure on N10, N4, and RHB
Review URL: https://codereview.chromium.org/
25968005
git-svn-id: http://skia.googlecode.com/svn/trunk@11602
2bbb7eff-a529-9590-31e7-
b0007b416f81
bsalomon@google.com [Fri, 4 Oct 2013 14:06:44 +0000 (14:06 +0000)]
Rebaseline gradient gpu tests
Review URL: https://codereview.chromium.org/
25757010
git-svn-id: http://skia.googlecode.com/svn/trunk@11601
2bbb7eff-a529-9590-31e7-
b0007b416f81
halcanary@google.com [Fri, 4 Oct 2013 13:37:24 +0000 (13:37 +0000)]
Fix iOS build of test_image_decoder
Use tool_main() function.
Review URL: https://codereview.chromium.org/
26008002
git-svn-id: http://skia.googlecode.com/svn/trunk@11600
2bbb7eff-a529-9590-31e7-
b0007b416f81
halcanary@google.com [Fri, 4 Oct 2013 13:24:59 +0000 (13:24 +0000)]
Fix narrowing warning error
I was breaking build, by having a char instead of unsigned char.
Review URL: https://codereview.chromium.org/
25683012
git-svn-id: http://skia.googlecode.com/svn/trunk@11599
2bbb7eff-a529-9590-31e7-
b0007b416f81
halcanary@google.com [Fri, 4 Oct 2013 12:46:45 +0000 (12:46 +0000)]
Make image decoding more fault resistant, less verbose.
This change address what happens when a jpeg is partially downloaded
before failing. Many browsers will render it anyway: we want Skia to
do the same. The JpegTest takes a perfectly cromulent jpeg file and
only passes into the ImageDecoder the first half of the image. We
then verify that the image decoder returns a valid bitmap of the
correct dimensions.
We also fixed some png library errors, including issue 1691.
Also, suppressed the majority of warnings from using libpng and
libjpeg. By default, most warnings are *not* suppressed in debug mode.
If you have a debug binary and wish to suppress warnings, set the
following environment variables to true
skia_images_png_suppressDecoderWarnings
skia_images_jpeg_suppressDecoderWarnings
or from within a program that links to Skia:
#if defined(SK_DEBUG)
#include "SkRTConf.h"
SK_CONF_SET("images.jpeg.suppressDecoderWarnings", true);
SK_CONF_SET("images.png.suppressDecoderWarnings", true);
#endif
I tested this, before (control) and after these changes (test), on
364,295 skps from the cluster telemetry.
- number of errors+warnings in control = 2804
- number of errors+warnings fixed = 2283
- number of PNG verbosity fixed = 2152
- number of PNG error fixed = 4
- number of PNG segfault fixed = 3
- number of PNG errors changed to warnings = 62
- number of JPG verbosity fixed = 26
- number of JPG error fixed = 91
Not all errors and warning have been fixed.
These numbers were generated using the find_bad_images_in_skps.py
program. This program may be useful going forward for testing
image-decoding libraries on skp files from the cluster telemetry.
find_bad_images_in_skps.py depends on the test_image_decoder program,
which simply executes the SkImageDecoder::DecodeFile function and uses
its exit status to report success or failure.
BUG=skia:1649
BUG=skia:1691
BUG=skia:1680
R=scroggo@google.com
Review URL: https://codereview.chromium.org/
24449003
git-svn-id: http://skia.googlecode.com/svn/trunk@11597
2bbb7eff-a529-9590-31e7-
b0007b416f81
skia.committer@gmail.com [Fri, 4 Oct 2013 07:01:38 +0000 (07:01 +0000)]
Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11596
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Fri, 4 Oct 2013 01:20:09 +0000 (01:20 +0000)]
Allow gradient optimization with perspective
Before, gradients would only interpolate the linear portion of the
quadratic equation if there was no perspective. This updates them to
do so even in the case that there is perspective. The rearrangement
of math causes noise differences in the following gm tests:
gradients_no_texture_gpu
gradients_view_perspective_gpu
gradients_local_perspective_gpu
gradients_gpu
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/
25645006
git-svn-id: http://skia.googlecode.com/svn/trunk@11595
2bbb7eff-a529-9590-31e7-
b0007b416f81
bungeman@google.com [Fri, 4 Oct 2013 00:03:39 +0000 (00:03 +0000)]
Rebaseline for 11592.
git-svn-id: http://skia.googlecode.com/svn/trunk@11594
2bbb7eff-a529-9590-31e7-
b0007b416f81
scroggo@google.com [Thu, 3 Oct 2013 20:23:53 +0000 (20:23 +0000)]
Ignore the failure of this flaky PDF test.
The Mac 10.6 seems to have a race condition that changes the output.
Disable the test to avoid seeing this failure.
R=edisonn@google.com
Review URL: https://codereview.chromium.org/
25887005
git-svn-id: http://skia.googlecode.com/svn/trunk@11593
2bbb7eff-a529-9590-31e7-
b0007b416f81
bungeman@google.com [Thu, 3 Oct 2013 20:17:51 +0000 (20:17 +0000)]
Snap GDI matrix when snapping height.
When using GDI to render, ensure that the GDI matrix does not attempt to
add subpixel height. This ensures that rotated text is always the same
height as axis aligned text and prevents subpixel drift metrics when they
are unwanted.
R=reed@google.com
Review URL: https://codereview.chromium.org/
25739002
git-svn-id: http://skia.googlecode.com/svn/trunk@11592
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Thu, 3 Oct 2013 19:29:21 +0000 (19:29 +0000)]
Use SkPicture::ExtractBitmap callback in pdf too, there is no need for a specialized function pointer for pdf only only to pass a rectangle, when we can use subseted bitmaps.
R=scroggo@google.com, reed@google.com, vandebo@chromium.org, bsalomon@google.com
Author: edisonn@google.com
Review URL: https://codereview.chromium.org/
25054002
git-svn-id: http://skia.googlecode.com/svn/trunk@11591
2bbb7eff-a529-9590-31e7-
b0007b416f81
djsollen@google.com [Thu, 3 Oct 2013 17:38:50 +0000 (17:38 +0000)]
update GM to use #ifdef instead of just #if
Review URL: https://codereview.chromium.org/
25749003
git-svn-id: http://skia.googlecode.com/svn/trunk@11590
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Thu, 3 Oct 2013 17:13:38 +0000 (17:13 +0000)]
Fixes for decoding to A8.
src/images/SkImageDecoder_libpng.cpp:
A8 images are not opaque, so do not set the opaque flag.
This fixes a bug where copyTo does not work as expected (when
copying an A8 decoded image to ARGB_8888), leading to
a bitmap hash that does not represent the image correctly
(in skimage).
tools/skimage_main.cpp:
In write_bitmap, which is creating the image for visual comparison,
copy A8 to 8888, since A8 cannot be encoded.
In the section that tests reencoding, do not test reencoding A8,
which is known to not work.
R=mtklein@google.com, djsollen@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/
25726004
git-svn-id: http://skia.googlecode.com/svn/trunk@11589
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Thu, 3 Oct 2013 15:17:58 +0000 (15:17 +0000)]
Repurpose GrGLCoordTransform as GrGLProgramEffects
Creates a GrGLProgramEffects class that the GrGLProgram uses to manage
an array of effects. This gives us enough abstraction for the program
to cleanly handle different types of coord transforms.
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/
25605008
git-svn-id: http://skia.googlecode.com/svn/trunk@11588
2bbb7eff-a529-9590-31e7-
b0007b416f81
bsalomon@google.com [Thu, 3 Oct 2013 15:05:16 +0000 (15:05 +0000)]
Mark shifty hairmodes on N10 as ignore-failure
BUG=skia:1655
Review URL: https://codereview.chromium.org/
25524003
git-svn-id: http://skia.googlecode.com/svn/trunk@11587
2bbb7eff-a529-9590-31e7-
b0007b416f81
djsollen@google.com [Thu, 3 Oct 2013 14:42:24 +0000 (14:42 +0000)]
Update PDF backend to support fallback fonts on Android.
R=edisonn@google.com, reed@google.com, vandebo@chromium.org
Review URL: https://codereview.chromium.org/
24364008
git-svn-id: http://skia.googlecode.com/svn/trunk@11586
2bbb7eff-a529-9590-31e7-
b0007b416f81
skia.committer@gmail.com [Thu, 3 Oct 2013 07:01:37 +0000 (07:01 +0000)]
Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11585
2bbb7eff-a529-9590-31e7-
b0007b416f81
jvanverth@google.com [Wed, 2 Oct 2013 19:49:26 +0000 (19:49 +0000)]
Fix font GMs
Disables font cache dump for now
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/
25605007
git-svn-id: http://skia.googlecode.com/svn/trunk@11584
2bbb7eff-a529-9590-31e7-
b0007b416f81
epoger@google.com [Wed, 2 Oct 2013 19:27:35 +0000 (19:27 +0000)]
HTTP GM baseline viewer: server should serve files from gm/rebaseline_server dir
(SkipBuildbotRuns)
R=jcgregorio@google.com
Review URL: https://codereview.chromium.org/
25774002
git-svn-id: http://skia.googlecode.com/svn/trunk@11583
2bbb7eff-a529-9590-31e7-
b0007b416f81
epoger@google.com [Wed, 2 Oct 2013 18:57:48 +0000 (18:57 +0000)]
More improvements to HTTP baseline viewer (for GM results)
(SkipBuildbotRuns)
R=borenet@google.com, bsalomon@google.com
Review URL: https://codereview.chromium.org/
25555003
git-svn-id: http://skia.googlecode.com/svn/trunk@11581
2bbb7eff-a529-9590-31e7-
b0007b416f81
sugoi@google.com [Wed, 2 Oct 2013 18:27:43 +0000 (18:27 +0000)]
Added missing SK_API
BUG=
R=senorblanco@chromium.org
Review URL: https://codereview.chromium.org/
25770002
git-svn-id: http://skia.googlecode.com/svn/trunk@11580
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Wed, 2 Oct 2013 18:19:17 +0000 (18:19 +0000)]
Add support to dump font cache texture for debug purposes
R=robertphillips@google.com, bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/
25736002
git-svn-id: http://skia.googlecode.com/svn/trunk@11579
2bbb7eff-a529-9590-31e7-
b0007b416f81
robertphillips@google.com [Wed, 2 Oct 2013 17:49:50 +0000 (17:49 +0000)]
Move makeSpace and resetToSize from SkPathRef.cpp to .h
https://codereview.chromium.org/
25754002/
git-svn-id: http://skia.googlecode.com/svn/trunk@11578
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Wed, 2 Oct 2013 17:37:59 +0000 (17:37 +0000)]
Add new skyline Rectanizer
The skyline Rectanizer tracks the leading silhouette of the
currently packed rects and tries to fit the next rectangle
on top of that. This gives slightly better packing behavior
than the current log2 scheme.
Also shrank the size of the plots, which increases their
number from 18 to 32 and gives better cache behavior (fewer
purges and uploads).
R=bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/
25584002
git-svn-id: http://skia.googlecode.com/svn/trunk@11577
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Wed, 2 Oct 2013 16:42:58 +0000 (16:42 +0000)]
Threads can race to be the first one to calculate the empty path ref's bounds.
To dodge the problem, call computeBounds when creating the global empty path
ref.
There's still another race here, which is that we can race to create the empty
path ref in the first place. As written we can conceivably allocate an
arbitrary number of empty path refs, one of which ends up pointed to by the
global variable at the end.
I've punted on fixing this for now because 1) tsan has not complained yet; 2) I
think it can be fixed by the same approach as we can fix the memsets in
25415003, so I want to wait to see how that review goes
first.
BUG=
R=reed@google.com, robertphillips@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/
25745003
git-svn-id: http://skia.googlecode.com/svn/trunk@11576
2bbb7eff-a529-9590-31e7-
b0007b416f81
robertphillips@google.com [Wed, 2 Oct 2013 16:42:21 +0000 (16:42 +0000)]
Make it explicit that some validate methods are debug only
https://codereview.chromium.org/
25716003/
git-svn-id: http://skia.googlecode.com/svn/trunk@11575
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Wed, 2 Oct 2013 16:15:44 +0000 (16:15 +0000)]
Sadly TSAN still reports this as a race, even when we're obviously writing the
same values. Initializing with the declaration should quiet it down.
BUG=
R=caryclark@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/
25713004
git-svn-id: http://skia.googlecode.com/svn/trunk@11574
2bbb7eff-a529-9590-31e7-
b0007b416f81
scroggo@google.com [Wed, 2 Oct 2013 15:50:19 +0000 (15:50 +0000)]
Do not convert non gray PNG to A8.
If the user requested A8, but the source is not gray, switch to
ARGB8888.
BUG=https://b.corp.google.com/issue?id=9189955
R=reed@google.com
Review URL: https://codereview.chromium.org/
24882002
git-svn-id: http://skia.googlecode.com/svn/trunk@11573
2bbb7eff-a529-9590-31e7-
b0007b416f81
caryclark@google.com [Wed, 2 Oct 2013 15:07:52 +0000 (15:07 +0000)]
fix 10.6
git-svn-id: http://skia.googlecode.com/svn/trunk@11572
2bbb7eff-a529-9590-31e7-
b0007b416f81
bsalomon@google.com [Wed, 2 Oct 2013 15:02:55 +0000 (15:02 +0000)]
Fix gpu.gypi missing file issue
git-svn-id: http://skia.googlecode.com/svn/trunk@11571
2bbb7eff-a529-9590-31e7-
b0007b416f81
caryclark@google.com [Wed, 2 Oct 2013 14:49:34 +0000 (14:49 +0000)]
path ops work in progress
make more skps work
remove edit files
BUG=
Review URL: https://codereview.chromium.org/
23542056
git-svn-id: http://skia.googlecode.com/svn/trunk@11570
2bbb7eff-a529-9590-31e7-
b0007b416f81
bsalomon@google.com [Wed, 2 Oct 2013 13:04:56 +0000 (13:04 +0000)]
Make GPU coord transforms automatic
Adds a GrCoordTransform class and updates the framework to handle
coord transforms similar to how it handles textures with
GrTextureAccess. Renames GrGLEffectMatrix to GrGLCoordTransform and
slightly repurposes it to be used by the framework instead of effects.
R=bsalomon@google.com, robertphillips@google.com
Review URL: https://codereview.chromium.org/
24853002
git-svn-id: http://skia.googlecode.com/svn/trunk@11569
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Wed, 2 Oct 2013 12:16:25 +0000 (12:16 +0000)]
Whitespace change to test CQ emails.
BUG=
NOTRY=True
R=borenet@google.com
TBR=borenet@google.com
Author: rmistry@google.com
Review URL: https://codereview.chromium.org/
25712003
git-svn-id: http://skia.googlecode.com/svn/trunk@11567
2bbb7eff-a529-9590-31e7-
b0007b416f81
scroggo@google.com [Tue, 1 Oct 2013 19:54:42 +0000 (19:54 +0000)]
Empty implementations for SkImageDecoder.
Add constructor and destructor, so SkScaledBitmapSampler's
DummyDecoder has no unresolved symbols in Chrome.
Fixes our Chrome canary.
Unreviewed.
Review URL: https://codereview.chromium.org/
25536004
git-svn-id: http://skia.googlecode.com/svn/trunk@11566
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Tue, 1 Oct 2013 18:44:18 +0000 (18:44 +0000)]
Fix race between ~SkThreadPool and SkThreadPool::Loop on fDone.
We're writing fDone without holding the mutex. Bad form, says tsan.
In practice this is fairly innocuous, as fDone only ever goes from false to
true and only once. Though, I wouldn't be surprised if there were some way
this could leak a thread that never got the signal to die.
BUG=
R=scroggo@google.com, reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/
25371003
git-svn-id: http://skia.googlecode.com/svn/trunk@11563
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Tue, 1 Oct 2013 18:44:04 +0000 (18:44 +0000)]
Writing to testName and reading its size isn't thread safe, TSAN reminds us.
Guarding it into a no-op makes it safe. Looks like this is only used for debugging, presumably singlethreaded?
BUG=
R=caryclark@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/
25366002
git-svn-id: http://skia.googlecode.com/svn/trunk@11562
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Tue, 1 Oct 2013 18:43:50 +0000 (18:43 +0000)]
In skia_test.cc, atomics -> mutex.
These guys are not heavily contended nor speed critical. No need for atomics,
plus this makes tsan stop complaining (correctly) about reading fNextIndex
unsafely in onEnd.
I took a look at failCount/fFailCount, which I think is safely atomic and quite
conveniently so: It's never read until all the threads which could possibly
increment it have terminated (except for the one where it was created,
obviously). We could guard it with a mutex too, but maybe we can let this one
slide.
BUG=
R=bungeman@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/
25357002
git-svn-id: http://skia.googlecode.com/svn/trunk@11561
2bbb7eff-a529-9590-31e7-
b0007b416f81
commit-bot@chromium.org [Tue, 1 Oct 2013 18:43:29 +0000 (18:43 +0000)]
Use explicitly-sized enums in GrGLProgramDesc::KeyHeader
Uses enums explicitly sized to 8 bits in GrGLProgramDesc::KeyHeader,
instead of storing them as uint8_t values. This avoids the need to
static_cast them.
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/
23875048
git-svn-id: http://skia.googlecode.com/svn/trunk@11560
2bbb7eff-a529-9590-31e7-
b0007b416f81
scroggo@google.com [Tue, 1 Oct 2013 17:46:35 +0000 (17:46 +0000)]
Fix build.
Predeclare a function.
Unreviewed.
git-svn-id: http://skia.googlecode.com/svn/trunk@11559
2bbb7eff-a529-9590-31e7-
b0007b416f81
scroggo@google.com [Tue, 1 Oct 2013 17:27:15 +0000 (17:27 +0000)]
Add an option on SkImageDecoder to skip writing 0s.
Only implemented for PNG.
Add a getter and setter, and sets the default to false in the
constructor. Also copies the setting in copyFieldsToOther.
Fix an indpendent bug where fDitherImage was not being copied in
copyFieldsToOther.
In SkScaledBitmapSampler::begin, consolidate the settings passed in
by passing a const reference to the decoder. The decoder can be
referenced for its settings of dither, unpremultiplied, and now
skipping writing zeroes. Update callers to use the new API. In png
decoder, rather than passing around a pointer to an initial
read of getDitherImage, and potentially changing it, look at the
field on the decoder itself, and modify it directly. This is a
change in behavior - now if that same decoder is used to decode
a different image, the dither setting has changed. I think this is
okay because A) the typical use case is to use a new decoder for
each decode, B) we do not make any promises that a decode does not
change the decoder and C) it makes the code in SkScaledBitmapSampler
much cleaner.
In SkScaledBitmapScampler, add new row procs for skipping zeroes. Now
that choosing the row proc has five dimensions (src config, dst config,
dither, skip writing zeroes, unpremultiplied), use a new method: each
src/dst combination has a function for choosing the right proc depending
on the decoder.
SkScaledBitmapScampler::RowProc is now public for convenience.
Remove Sample_Gray_D8888_Unpremul, which is effectively no different
from Sample_Gray_D8888.
In cases where unpremultiplied was trivial, such as 565 and when
sampling from gray, decoding may now succeed.
Add a benchmark (currently disabled) for comparing the speed of skipping
writing zeroes versus not skipping. For this particular image, which is
mostly transparent pixels, normal decoding took about 3.6 milliseconds,
while skipping zeroes in the decode took only about 2.5 milliseconds
(this is on a Nexus 4). Presumably it would be slower on an image
with a small amount of transparency, but there will be no slowdown
for an image which reports that it has no transparency.
In SkImageRef_ashmem, always skip writing zeroes, since ashmem
memory is guaranteed to be initialized to 0.
Add a flag to skip writing zeroes in skimage.
Add a regression test for choosing the rowproc to ensure I did not
change any behavior accidentally.
BUG=skia:1661
R=reed@google.com
Review URL: https://codereview.chromium.org/
24269006
git-svn-id: http://skia.googlecode.com/svn/trunk@11558
2bbb7eff-a529-9590-31e7-
b0007b416f81
djsollen@google.com [Tue, 1 Oct 2013 15:31:54 +0000 (15:31 +0000)]
Fix ninja build on Android
R=mtklein@google.com
Review URL: https://codereview.chromium.org/
25535002
git-svn-id: http://skia.googlecode.com/svn/trunk@11555
2bbb7eff-a529-9590-31e7-
b0007b416f81
scroggo@google.com [Tue, 1 Oct 2013 15:30:46 +0000 (15:30 +0000)]
Allow creating a picture from skp to fail.
Replace the current constructor for creating an
SkPicturePlayback to a factory. In the factory,
check for incorrect data that would result in an invalid
playback. If the playback is invalid, return NULL, and
return NULL from SkPicture's factory as well.
Update SkTimedPicture(Playback) as well.
BUG=skia:1672
R=caryclark@google.com
Review URL: https://codereview.chromium.org/
24826002
git-svn-id: http://skia.googlecode.com/svn/trunk@11554
2bbb7eff-a529-9590-31e7-
b0007b416f81
bungeman@google.com [Tue, 1 Oct 2013 15:03:18 +0000 (15:03 +0000)]
Minor changes to XPS device.
git-svn-id: http://skia.googlecode.com/svn/trunk@11552
2bbb7eff-a529-9590-31e7-
b0007b416f81
borenet@google.com [Tue, 1 Oct 2013 13:54:16 +0000 (13:54 +0000)]
Reverted r11547; filing bugs for 64-bit warnings
Review URL: https://codereview.chromium.org/
25530002
git-svn-id: http://skia.googlecode.com/svn/trunk@11551
2bbb7eff-a529-9590-31e7-
b0007b416f81
borenet@google.com [Tue, 1 Oct 2013 13:22:07 +0000 (13:22 +0000)]
Whitespace change to trigger builds after r11547: Always use WERR for skia_lib
Review URL: https://codereview.chromium.org/
25521002
git-svn-id: http://skia.googlecode.com/svn/trunk@11548
2bbb7eff-a529-9590-31e7-
b0007b416f81
skia.committer@gmail.com [Tue, 1 Oct 2013 07:01:46 +0000 (07:01 +0000)]
Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11544
2bbb7eff-a529-9590-31e7-
b0007b416f81
mtklein@google.com [Mon, 30 Sep 2013 20:58:48 +0000 (20:58 +0000)]
fix the android build. now both android_ninja _and_ android_make work.
BUG=
Review URL: https://codereview.chromium.org/
25319003
git-svn-id: http://skia.googlecode.com/svn/trunk@11542
2bbb7eff-a529-9590-31e7-
b0007b416f81
mtklein@google.com [Mon, 30 Sep 2013 20:53:36 +0000 (20:53 +0000)]
VERBOSE -> SKIA_ANDROID_VERBOSE_SETUP
BUG=
R=borenet@google.com
Review URL: https://codereview.chromium.org/
25269008
git-svn-id: http://skia.googlecode.com/svn/trunk@11541
2bbb7eff-a529-9590-31e7-
b0007b416f81
mtklein@google.com [Mon, 30 Sep 2013 20:42:10 +0000 (20:42 +0000)]
make vanilla android_ninja work, and add quiet options
BUG=
R=djsollen@google.com
Review URL: https://codereview.chromium.org/
25275006
git-svn-id: http://skia.googlecode.com/svn/trunk@11540
2bbb7eff-a529-9590-31e7-
b0007b416f81
djsollen@google.com [Mon, 30 Sep 2013 20:33:21 +0000 (20:33 +0000)]
Remove uneeded copy of gdbserver from apk
R=mtklein@google.com
Review URL: https://codereview.chromium.org/
25336002
git-svn-id: http://skia.googlecode.com/svn/trunk@11539
2bbb7eff-a529-9590-31e7-
b0007b416f81