platform/upstream/libSkiaSharp.git
13 years agoFix incorrect use of the SK_RESTRICT macro in SkColorMatrixFilter, and re-enable
senorblanco@chromium.org [Wed, 4 Jan 2012 22:00:34 +0000 (22:00 +0000)]
Fix incorrect use of the SK_RESTRICT macro in SkColorMatrixFilter, and re-enable
the colormatrix GM test.

Review URL:  http://codereview.appspot.com/5509048/

git-svn-id: http://skia.googlecode.com/svn/trunk@2963 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdd the ability to iterate through a path without modification. This change is
schenney@chromium.org [Wed, 4 Jan 2012 21:05:51 +0000 (21:05 +0000)]
Add the ability to iterate through a path without modification. This change is
required by WebKit SVG in order to correctly draw markers and endcaps.

BUG=415
TEST=TestPath in the unit tests
Review URL: http://codereview.appspot.com/5505097

git-svn-id: http://skia.googlecode.com/svn/trunk@2962 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAllow 0 as a valid text size in SkPaint.
djsollen@google.com [Wed, 4 Jan 2012 18:43:43 +0000 (18:43 +0000)]
Allow 0 as a valid text size in SkPaint.
Review URL: http://codereview.appspot.com/5514043

git-svn-id: http://skia.googlecode.com/svn/trunk@2961 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoimplement dithering for vertical grads (was a todo:)
reed@google.com [Wed, 4 Jan 2012 17:26:27 +0000 (17:26 +0000)]
implement dithering for vertical grads (was a todo:)

git-svn-id: http://skia.googlecode.com/svn/trunk@2960 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agodrawPosText with center or right align skips every other character.
bungeman@google.com [Wed, 4 Jan 2012 14:17:00 +0000 (14:17 +0000)]
drawPosText with center or right align skips every other character.
http://codereview.appspot.com/5504118/

git-svn-id: http://skia.googlecode.com/svn/trunk@2959 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd count(), fix bad llist logic in remove()
mike@reedtribe.org [Wed, 4 Jan 2012 11:37:46 +0000 (11:37 +0000)]
add count(), fix bad llist logic in remove()

git-svn-id: http://skia.googlecode.com/svn/trunk@2958 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd Object::remove, some dox, leak debugging code
mike@reedtribe.org [Wed, 4 Jan 2012 03:37:40 +0000 (03:37 +0000)]
add Object::remove, some dox, leak debugging code

git-svn-id: http://skia.googlecode.com/svn/trunk@2957 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoRemoving path drawing gm tests that produce either an entirely
schenney@chromium.org [Wed, 4 Jan 2012 00:18:53 +0000 (00:18 +0000)]
Removing path drawing gm tests that produce either an entirely
filled or entirely empty clip area. Requested but not reviewed by
reed@google.com.

TEST=Covered now by unit testing.

git-svn-id: http://skia.googlecode.com/svn/trunk@2956 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoImprove the quality of color matrix filters by using SkPremultiplyARGBInline.
senorblanco@chromium.org [Tue, 3 Jan 2012 22:42:26 +0000 (22:42 +0000)]
Improve the quality of color matrix filters by using SkPremultiplyARGBInline.
This is closer (but not exactly the same as) WebKit's implementation.

Review URL:  http://codereview.appspot.com/5504117/

git-svn-id: http://skia.googlecode.com/svn/trunk@2955 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFormatting only, multi-line call actually fits on one line.
bungeman@google.com [Tue, 3 Jan 2012 22:36:33 +0000 (22:36 +0000)]
Formatting only, multi-line call actually fits on one line.

git-svn-id: http://skia.googlecode.com/svn/trunk@2954 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoDisable colormatrix GM test, since it's failing on win32 float release.
senorblanco@chromium.org [Tue, 3 Jan 2012 22:14:41 +0000 (22:14 +0000)]
Disable colormatrix GM test, since it's failing on win32 float release.

Build fix; unreviewed.

git-svn-id: http://skia.googlecode.com/svn/trunk@2953 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoBuild fix. Forgot to update gyp.
schenney@chromium.org [Tue, 3 Jan 2012 21:42:10 +0000 (21:42 +0000)]
Build fix. Forgot to update gyp.

git-svn-id: http://skia.googlecode.com/svn/trunk@2952 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoRemoving unnecessary gm tests. Unreviewed but approved by reed@google.com.
schenney@chromium.org [Tue, 3 Jan 2012 21:37:19 +0000 (21:37 +0000)]
Removing unnecessary gm tests. Unreviewed but approved by reed@google.com.

TEST=Test coverage now in unit tests.

git-svn-id: http://skia.googlecode.com/svn/trunk@2951 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoSpeculative fix to please the skia buildbots. I couldn't repro the failure
senorblanco@chromium.org [Tue, 3 Jan 2012 21:20:19 +0000 (21:20 +0000)]
Speculative fix to please the skia buildbots.  I couldn't repro the failure
locally, but I did get valgrind to point out some uninitialized data, which
this fix suppresses.

Build fix; unreviewed.

git-svn-id: http://skia.googlecode.com/svn/trunk@2950 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdd null check to createPlatformTexture
bsalomon@google.com [Tue, 3 Jan 2012 21:08:12 +0000 (21:08 +0000)]
Add null check to createPlatformTexture

Review URL: http://codereview.appspot.com/5498100/

git-svn-id: http://skia.googlecode.com/svn/trunk@2949 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoImplement the color matrix filter in Ganesh. Also, fix and enable the color
senorblanco@chromium.org [Tue, 3 Jan 2012 20:51:57 +0000 (20:51 +0000)]
Implement the color matrix filter in Ganesh.  Also, fix and enable the color
matrix test slide.  This was basically implemented in the same places where
the blending-based color filter was being done.  The shader simply does a mat4
matrix multiply and a vec4 add.

Review URL:  http://codereview.appspot.com/5489107/

git-svn-id: http://skia.googlecode.com/svn/trunk@2948 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFix off-by-one error in assertion; improve coverage_to_exact_alpha()
tomhudson@google.com [Tue, 3 Jan 2012 20:12:42 +0000 (20:12 +0000)]
Fix off-by-one error in assertion; improve coverage_to_exact_alpha()
implementation.

http://codereview.appspot.com/5504116/

git-svn-id: http://skia.googlecode.com/svn/trunk@2947 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoexpose isSubpixel() on the cache, so SkDraw can know if it should expect
reed@google.com [Tue, 3 Jan 2012 19:43:20 +0000 (19:43 +0000)]
expose isSubpixel() on the cache, so SkDraw can know if it should expect
subpixel text (it may be that the paint requested it, but the scaler ignored it)

git-svn-id: http://skia.googlecode.com/svn/trunk@2946 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdd flags to GrStencilSettings
bsalomon@google.com [Tue, 3 Jan 2012 19:39:31 +0000 (19:39 +0000)]
Add flags to GrStencilSettings

Review URL: http://codereview.appspot.com/5489057/

git-svn-id: http://skia.googlecode.com/svn/trunk@2945 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFix ToUnicode generation bug.
vandebo@chromium.org [Tue, 3 Jan 2012 18:35:39 +0000 (18:35 +0000)]
Fix ToUnicode generation bug.

Code from arthurhsu@chromium.org Original CL: http://codereview.appspot.com/5492061/

BUG=Chromium:104062

Review URL: http://codereview.appspot.com/5498064

git-svn-id: http://skia.googlecode.com/svn/trunk@2944 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd helper drawSizeBounds to show the GM's size
reed@google.com [Tue, 3 Jan 2012 17:20:38 +0000 (17:20 +0000)]
add helper drawSizeBounds to show the GM's size

git-svn-id: http://skia.googlecode.com/svn/trunk@2943 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoUpdate header comments to more accurately describe behavior of
tomhudson@google.com [Tue, 3 Jan 2012 14:52:37 +0000 (14:52 +0000)]
Update header comments to more accurately describe behavior of
SkRegion::getBoundaryPath(). Add SkASSERT of SkPath argument for safety.

codereview.appspot.com/5504095/

git-svn-id: http://skia.googlecode.com/svn/trunk@2942 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFix return value from SkImageDecoder::DecodeFile(): false even in case of
tomhudson@google.com [Tue, 3 Jan 2012 14:42:08 +0000 (14:42 +0000)]
Fix return value from SkImageDecoder::DecodeFile(): false even in case of
*partial* failure.

git-svn-id: http://skia.googlecode.com/svn/trunk@2941 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoexperiment #2 for JSON data
mike@reedtribe.org [Mon, 2 Jan 2012 00:34:50 +0000 (00:34 +0000)]
experiment #2 for JSON data

git-svn-id: http://skia.googlecode.com/svn/trunk@2940 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd experimental class for json
mike@reedtribe.org [Sat, 31 Dec 2011 01:58:40 +0000 (01:58 +0000)]
add experimental class for json

git-svn-id: http://skia.googlecode.com/svn/trunk@2939 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd optional --forceBWtext to gm, forcing all text to BW to ease
mike@reedtribe.org [Fri, 30 Dec 2011 16:02:53 +0000 (16:02 +0000)]
add optional --forceBWtext to gm, forcing all text to BW to ease
comparisons between platform variations (e.g. mac 10.5,6,7)

probably only make sense in conjunction with some flag on GM allowing
the slide to opt in-or-out, so we only hack text labels, and not GMs
that are explicitly trying to test text rendering.

git-svn-id: http://skia.googlecode.com/svn/trunk@2938 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdd tool that downloads gm baseline images from the bots.
epoger@google.com [Thu, 29 Dec 2011 21:13:08 +0000 (21:13 +0000)]
Add tool that downloads gm baseline images from the bots.
Review URL: http://codereview.appspot.com/5503082

git-svn-id: http://skia.googlecode.com/svn/trunk@2937 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFix problems with SampleApp Fuzzer due to issues in iterating over degenerate paths.
schenney@chromium.org [Thu, 29 Dec 2011 21:03:28 +0000 (21:03 +0000)]
Fix problems with SampleApp Fuzzer due to issues in iterating over degenerate paths.
The fuzzer gets my vote as best test tool ever.

There are several issues outstanding: crashes in FixedPoint and a crash in the
path filling code that is most likely due to clipping problems (but maybe not).

BUG=425
Review URL: http://codereview.appspot.com/5503080

git-svn-id: http://skia.googlecode.com/svn/trunk@2936 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoTighten up restrictions on blit width: some shaders assert that they
tomhudson@google.com [Thu, 29 Dec 2011 16:09:31 +0000 (16:09 +0000)]
Tighten up restrictions on blit width: some shaders assert that they
are addressing more than 0 pixels.
codereview.appspot.com/5489125/

git-svn-id: http://skia.googlecode.com/svn/trunk@2935 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoCommit base-macmini gm baselines that are similar to those in base-macpro
epoger@google.com [Wed, 28 Dec 2011 21:23:57 +0000 (21:23 +0000)]
Commit base-macmini gm baselines that are similar to those in base-macpro
Review URL: http://codereview.appspot.com/5496076

git-svn-id: http://skia.googlecode.com/svn/trunk@2934 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdd SkTableColorFilter, as a foundation for several SVG filters
mike@reedtribe.org [Wed, 28 Dec 2011 20:31:00 +0000 (20:31 +0000)]
Add SkTableColorFilter, as a foundation for several SVG filters

git-svn-id: http://skia.googlecode.com/svn/trunk@2933 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd SK_OVERRIDE
mike@reedtribe.org [Wed, 28 Dec 2011 20:17:42 +0000 (20:17 +0000)]
add SK_OVERRIDE

git-svn-id: http://skia.googlecode.com/svn/trunk@2932 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoreturn -1 if we failed to find by title
mike@reedtribe.org [Wed, 28 Dec 2011 20:02:10 +0000 (20:02 +0000)]
return -1 if we failed to find by title

git-svn-id: http://skia.googlecode.com/svn/trunk@2931 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFix fixed-point antialiased clipping GM; upload baselines.
tomhudson@google.com [Wed, 28 Dec 2011 19:40:48 +0000 (19:40 +0000)]
Fix fixed-point antialiased clipping GM; upload baselines.

http://codereview.appspot.com/5503077/

git-svn-id: http://skia.googlecode.com/svn/trunk@2930 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdd number-of-missing-baseline-images report to gm
epoger@google.com [Wed, 28 Dec 2011 19:31:01 +0000 (19:31 +0000)]
Add number-of-missing-baseline-images report to gm
Review URL: http://codereview.appspot.com/5489123

git-svn-id: http://skia.googlecode.com/svn/trunk@2929 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoBugfixes to antialiased blitting.
tomhudson@google.com [Wed, 28 Dec 2011 17:58:07 +0000 (17:58 +0000)]
Bugfixes to antialiased blitting.
More details of blitter contracts in function headers.
New precautionary assert in one high-level default blitter.

git-svn-id: http://skia.googlecode.com/svn/trunk@2928 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFix Windows build breakage in http://code.google.com/p/skia/source/detail?r=2925
epoger@google.com [Wed, 28 Dec 2011 15:13:41 +0000 (15:13 +0000)]
Fix Windows build breakage in code.google.com/p/skia/source/detail?r=2925

TBR=reed
Review URL: http://codereview.appspot.com/5500087

git-svn-id: http://skia.googlecode.com/svn/trunk@2927 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdd SkDEBUGFAIL to clean up use of SkASSERT(!"text");
tomhudson@google.com [Wed, 28 Dec 2011 14:59:50 +0000 (14:59 +0000)]
Add SkDEBUGFAIL to clean up use of SkASSERT(!"text");
catch a couple of latent SkASSERT("text") bugs.

http://codereview.appspot.com/5504090/

git-svn-id: http://skia.googlecode.com/svn/trunk@2926 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoRETURN key now records default slide for startup
mike@reedtribe.org [Tue, 27 Dec 2011 22:33:50 +0000 (22:33 +0000)]
RETURN key now records default slide for startup

git-svn-id: http://skia.googlecode.com/svn/trunk@2925 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoNew 'blitAntiRect' entry point for blitters, specialized in supersampling
tomhudson@google.com [Tue, 27 Dec 2011 13:59:20 +0000 (13:59 +0000)]
New 'blitAntiRect' entry point for blitters, specialized in supersampling
code to avoid quarter-scanline-at-a-time building of large rectangular
clips.

Speeds up aa_clip_build_path_AA benchmark 2x, aa_clip_build_rect_AA benchmark
10x or more. This is a sufficient performance gain to let Chromium reenable
WebKit's soft clipping code. Rolling into Chromium will require ~18
rebaselines.

git-svn-id: http://skia.googlecode.com/svn/trunk@2924 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoProtecting changes to the SkPath iteration with an ifdef for Chromium.
schenney@chromium.org [Wed, 21 Dec 2011 20:43:13 +0000 (20:43 +0000)]
Protecting changes to the SkPath iteration with an ifdef for Chromium.
Something is broken, and this will protect us while we sort it out.

Unreviewed.

git-svn-id: http://skia.googlecode.com/svn/trunk@2922 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd move-close-move and move-close-move-close to the "empty" paths to test
reed@google.com [Wed, 21 Dec 2011 20:26:01 +0000 (20:26 +0000)]
add move-close-move and move-close-move-close to the "empty" paths to test

git-svn-id: http://skia.googlecode.com/svn/trunk@2921 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agosupport vertical text and typeface-by-name on Leopard
caryclark@google.com [Wed, 21 Dec 2011 20:06:30 +0000 (20:06 +0000)]
support vertical text and typeface-by-name on Leopard

M    src/ports/SkFontHost_mac_coretext.cpp
M    gyp/gmslides.gypi
A    gm/verttext2.cpp

git-svn-id: http://skia.googlecode.com/svn/trunk@2920 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd unittest for invariants for empty paths, still need to think about
reed@google.com [Wed, 21 Dec 2011 19:36:21 +0000 (19:36 +0000)]
add unittest for invariants for empty paths, still need to think about
hairlines in those cases

git-svn-id: http://skia.googlecode.com/svn/trunk@2919 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoUnreviewed. Adding a define to enable the old bahevior for SkPath::isEmpty.
schenney@chromium.org [Wed, 21 Dec 2011 19:13:51 +0000 (19:13 +0000)]
Unreviewed. Adding a define to enable the old bahevior for SkPath::isEmpty.
Should be undone at some point, when WebKit no longer needs it.

git-svn-id: http://skia.googlecode.com/svn/trunk@2918 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agodeclare IsVariationSelector to be inline, to fix warning
reed@google.com [Wed, 21 Dec 2011 16:31:23 +0000 (16:31 +0000)]
declare IsVariationSelector to be inline, to fix warning

git-svn-id: http://skia.googlecode.com/svn/trunk@2917 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agopreserve inverseness when stroking
reed@google.com [Wed, 21 Dec 2011 15:53:13 +0000 (15:53 +0000)]
preserve inverseness when stroking

git-svn-id: http://skia.googlecode.com/svn/trunk@2916 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd SkUnichar_IsVariationSelector()
reed@google.com [Wed, 21 Dec 2011 15:21:32 +0000 (15:21 +0000)]
add SkUnichar_IsVariationSelector()

git-svn-id: http://skia.googlecode.com/svn/trunk@2915 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoNew gm to test anti-aliased clipping.
tomhudson@google.com [Wed, 21 Dec 2011 14:27:14 +0000 (14:27 +0000)]
New gm to test anti-aliased clipping.

git-svn-id: http://skia.googlecode.com/svn/trunk@2914 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoCoverity: Add a default case in SkPDFShader. CID=101159
vandebo@chromium.org [Wed, 21 Dec 2011 01:49:35 +0000 (01:49 +0000)]
Coverity: Add a default case in SkPDFShader. CID=101159

Code from thestig@chromium.org original CL: http://codereview.appspot.com/5498052/

Review URL: http://codereview.appspot.com/5502052

git-svn-id: http://skia.googlecode.com/svn/trunk@2913 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoUnreviewed. Fixing the Windows build, due to a non definition of M_PI.
schenney@chromium.org [Tue, 20 Dec 2011 22:31:40 +0000 (22:31 +0000)]
Unreviewed. Fixing the Windows build, due to a non definition of M_PI.

git-svn-id: http://skia.googlecode.com/svn/trunk@2912 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoUnreviewed changes to the gm tests for paths. Each test is broken into four
schenney@chromium.org [Tue, 20 Dec 2011 21:48:14 +0000 (21:48 +0000)]
Unreviewed changes to the gm tests for paths. Each test is broken into four
smaller images to avoid problems with XPS on Windows hanging on large images.

git-svn-id: http://skia.googlecode.com/svn/trunk@2911 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoDisable colorfilter GM for now, since it causes Debug Fixed builds to assert.
senorblanco@chromium.org [Tue, 20 Dec 2011 21:12:58 +0000 (21:12 +0000)]
Disable colorfilter GM for now, since it causes Debug Fixed builds to assert.

Unreviewed; build fix.

git-svn-id: http://skia.googlecode.com/svn/trunk@2910 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoImplement SkColorFilter::asColorMatrix() virtual, and override in
senorblanco@chromium.org [Tue, 20 Dec 2011 20:58:18 +0000 (20:58 +0000)]
Implement SkColorFilter::asColorMatrix() virtual, and override in
SkColorMatrixFilter.  Implement missing SkColorMatrixFilter::setMatrix() and
setArray() functions (were in .h, just not implemented).  Add a gm for color
matrix filters.

Review URL:  http://codereview.appspot.com/5500044/

git-svn-id: http://skia.googlecode.com/svn/trunk@2909 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agofix 'no static globals' for chromium
caryclark@google.com [Tue, 20 Dec 2011 20:26:56 +0000 (20:26 +0000)]
fix 'no static globals' for chromium

M    include/core/SkFlattenable.h
M    include/core/SkPixelRef.h
M    src/core/SkGraphics.cpp

git-svn-id: http://skia.googlecode.com/svn/trunk@2908 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd baselines for macpro
reed@google.com [Tue, 20 Dec 2011 20:23:02 +0000 (20:23 +0000)]
add baselines for macpro

git-svn-id: http://skia.googlecode.com/svn/trunk@2907 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agofix vertical text on Lion
caryclark@google.com [Tue, 20 Dec 2011 20:06:37 +0000 (20:06 +0000)]
fix vertical text on Lion

M    src/ports/SkFontHost_mac_coretext.cpp

git-svn-id: http://skia.googlecode.com/svn/trunk@2906 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoA software implementation of the Gaussian blur filter, using 3 box blurs. Also
senorblanco@chromium.org [Tue, 20 Dec 2011 20:02:19 +0000 (20:02 +0000)]
A software implementation of the Gaussian blur filter, using 3 box blurs.  Also
re-enable the imageblur GM test, since the SkPicture path now works.

Review URL:  http://codereview.appspot.com/5413048/

git-svn-id: http://skia.googlecode.com/svn/trunk@2905 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFixing PathTest. It was always broken in the convexity test code due
schenney@chromium.org [Tue, 20 Dec 2011 16:33:30 +0000 (16:33 +0000)]
Fixing PathTest. It  was always broken in the convexity test code due
to a failure to correctly use SkScalar.

git-svn-id: http://skia.googlecode.com/svn/trunk@2904 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoinitial impl of SkImageFilters : virtual signature will change!
reed@google.com [Tue, 20 Dec 2011 16:19:00 +0000 (16:19 +0000)]
initial impl of SkImageFilters : virtual signature will change!
Do not invest too much in other subclasses until this API solidifies.

git-svn-id: http://skia.googlecode.com/svn/trunk@2903 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFixing the build for FIXED tests. PathTest was incorrect using "1" instead of "SK_Sca...
schenney@chromium.org [Tue, 20 Dec 2011 15:33:11 +0000 (15:33 +0000)]
Fixing the build for FIXED tests. PathTest was incorrect using "1" instead of "SK_Scalar1".

git-svn-id: http://skia.googlecode.com/svn/trunk@2902 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoModifying SkPath to store all verbs provided by the user, and to give
schenney@chromium.org [Tue, 20 Dec 2011 15:14:18 +0000 (15:14 +0000)]
Modifying SkPath to store all verbs provided by the user, and to give
correct results for all stroke and fill modes even on the various types
of degenerate paths.

The goals of this patch include:
1. Have Skia store all of the verbs implied by path construction methods, even
if those define degenerate paths. The SVG implementation in WebKit, which is
backed by Skia, needs to know about all elements of the path, even degenerate
ones, for the correct drawing of markers and line caps. For example, in SVG you
should be able to draw a scatter plot by specifying a marker for vertices and
then giving a sequence of moveTo commands. Skia will not store the moveTos,
requiring a different storage mechanism.

2. Assuming 1, maintain the current Skia behavior. That is, make Skia robust to
degenerate paths.

3. Fix an existing bug in Skia where a degenerate moveTo-lineTo pair spits out
warnings from rasterization and produces incorrect results in inverse-fill
renderings.

4. Adds extensive testing for degenerate paths and path rendering in general.

To meet these goals, the patch I am proposing will result in minor additional
storage for degenerate paths (a few bytes per degenerate path, only if the user
defines such paths). There is also some additional overhead in the iteration
code, with the path now cleaned to remove degenerate segments as part of the
iteration process. I suspect this will also fix issues with computing normal
vectors to degenerate segments. Benchmarking suggests that this change may
result in slightly (< 1%) slower path drawing due to the checks for
degeneracy. This overhead could be removed (in fact, a significant speedup
could occur) if the results of iterating to clean up the path were cached.
This would cost memory, of course, and quite a bit of it.

BUG=398
TEST=tests/PathTest.cpp
     gm/cubicpaths.cpp
     gm/degeneratesegments.cpp
     gm/movepaths.cpp
     gm/linepaths.cpp
     gm/quadpaths.cpp
Review URL: http://codereview.appspot.com/5482051

git-svn-id: http://skia.googlecode.com/svn/trunk@2901 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agocan't pass const to setPixels :(
reed@google.com [Tue, 20 Dec 2011 14:35:32 +0000 (14:35 +0000)]
can't pass const to setPixels :(

git-svn-id: http://skia.googlecode.com/svn/trunk@2900 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agowhitespace change to tri
epoger@google.com [Tue, 20 Dec 2011 14:34:31 +0000 (14:34 +0000)]
whitespace change to tri
gger buildbots

git-svn-id: http://skia.googlecode.com/svn/trunk@2899 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agodefer creating offscreen until our first draw (so our constructor runs fast)
reed@google.com [Tue, 20 Dec 2011 13:41:09 +0000 (13:41 +0000)]
defer creating offscreen until our first draw (so our constructor runs fast)

git-svn-id: http://skia.googlecode.com/svn/trunk@2898 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoCommit base-macmini-lion-float gm baselines that are similar to those in base-macpro
epoger@google.com [Mon, 19 Dec 2011 20:26:22 +0000 (20:26 +0000)]
Commit base-macmini-lion-float gm baselines that are similar to those in base-macpro
Review URL: http://codereview.appspot.com/5491076

git-svn-id: http://skia.googlecode.com/svn/trunk@2897 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agopartial fix for vertical text on Lion
caryclark@google.com [Mon, 19 Dec 2011 16:09:26 +0000 (16:09 +0000)]
partial fix for vertical text on Lion

M    src/ports/SkFontHost_mac_coretext.cpp

git-svn-id: http://skia.googlecode.com/svn/trunk@2896 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agosk_float_round isn't a function, so call this instead: sk_float_floor((x) + 0.5f)
reed@google.com [Fri, 16 Dec 2011 20:53:22 +0000 (20:53 +0000)]
sk_float_round isn't a function, so call this instead: sk_float_floor((x) + 0.5f)

git-svn-id: http://skia.googlecode.com/svn/trunk@2895 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd baselines
reed@google.com [Fri, 16 Dec 2011 20:48:49 +0000 (20:48 +0000)]
add baselines

git-svn-id: http://skia.googlecode.com/svn/trunk@2894 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd baselines
reed@google.com [Fri, 16 Dec 2011 20:44:03 +0000 (20:44 +0000)]
add baselines

git-svn-id: http://skia.googlecode.com/svn/trunk@2893 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoDelete temporary files I accidentally committed previously
epoger@google.com [Fri, 16 Dec 2011 20:37:19 +0000 (20:37 +0000)]
Delete temporary files I accidentally committed previously

git-svn-id: http://skia.googlecode.com/svn/trunk@2892 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoremove obsolete printf
reed@google.com [Fri, 16 Dec 2011 20:34:11 +0000 (20:34 +0000)]
remove obsolete printf

git-svn-id: http://skia.googlecode.com/svn/trunk@2891 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoGM baselines that we already had for SnowLeopard, and are identical in Lion.
epoger@google.com [Fri, 16 Dec 2011 20:26:32 +0000 (20:26 +0000)]
GM baselines that we already had for SnowLeopard, and are identical in Lion.
Review URL: http://codereview.appspot.com/5489068

git-svn-id: http://skia.googlecode.com/svn/trunk@2890 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agochange typeface::purgeall to not assume that the array is empty, as it may
reed@google.com [Fri, 16 Dec 2011 17:56:23 +0000 (17:56 +0000)]
change typeface::purgeall to not assume that the array is empty, as it may
contain typefaces that still are referenced.

change SkTypeface::UniqueID to internally hold onto a reference to the default
typeface, so that it will always be available if the font cache tries to resolve
it. Then general rule being: if we have a fontID specified by SkPaint, then its
associated typeface object must be alive.

git-svn-id: http://skia.googlecode.com/svn/trunk@2889 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agocleanup font purging functions
caryclark@google.com [Fri, 16 Dec 2011 17:11:17 +0000 (17:11 +0000)]
cleanup font purging functions

M    include/core/SkGraphics.h
M    src/core/SkGraphics.cpp

git-svn-id: http://skia.googlecode.com/svn/trunk@2887 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agofix debug comment
caryclark@google.com [Fri, 16 Dec 2011 16:54:07 +0000 (16:54 +0000)]
fix debug comment

M    src/core/SkPixelRef.cpp
M    src/core/SkFlattenable.cpp

git-svn-id: http://skia.googlecode.com/svn/trunk@2886 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agowhitespace commit to trigger buildbots
epoger@google.com [Thu, 15 Dec 2011 20:28:00 +0000 (20:28 +0000)]
whitespace commit to trigger buildbots

git-svn-id: http://skia.googlecode.com/svn/trunk@2885 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoExposing the isImmutable/setImmutable API of SkPixelRef in SkBitmap
junov@chromium.org [Thu, 15 Dec 2011 20:14:06 +0000 (20:14 +0000)]
Exposing the isImmutable/setImmutable API of SkPixelRef in SkBitmap

REVIEW=http://codereview.appspot.com/5491055/

git-svn-id: http://skia.googlecode.com/svn/trunk@2883 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoGCC requires reinterpret_cast rather than static_cast to cast to privately inherited...
bsalomon@google.com [Thu, 15 Dec 2011 19:51:05 +0000 (19:51 +0000)]
GCC requires reinterpret_cast rather than static_cast to cast to privately inherited subclass

git-svn-id: http://skia.googlecode.com/svn/trunk@2882 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoMake GrStencilState a class to enable future optimizations
bsalomon@google.com [Thu, 15 Dec 2011 19:47:46 +0000 (19:47 +0000)]
Make GrStencilState a class to enable future optimizations

Review URL: http://codereview.appspot.com/5492047/

git-svn-id: http://skia.googlecode.com/svn/trunk@2881 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agowhitespace commit to trigger android buildbot
epoger@google.com [Thu, 15 Dec 2011 18:43:40 +0000 (18:43 +0000)]
whitespace commit to trigger android buildbot

git-svn-id: http://skia.googlecode.com/svn/trunk@2880 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoCompile time vertex layout masks
bsalomon@google.com [Thu, 15 Dec 2011 16:58:19 +0000 (16:58 +0000)]
Compile time vertex layout masks

Review URL: http://codereview.appspot.com/5493049/

git-svn-id: http://skia.googlecode.com/svn/trunk@2878 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFix android build and cleanup references to SkMMapStream
djsollen@google.com [Thu, 15 Dec 2011 16:16:22 +0000 (16:16 +0000)]
Fix android build and cleanup references to SkMMapStream
Review URL: http://codereview.appspot.com/5489050

git-svn-id: http://skia.googlecode.com/svn/trunk@2877 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd optional manual global initialization
caryclark@google.com [Thu, 15 Dec 2011 14:16:43 +0000 (14:16 +0000)]
add optional manual global initialization

M    include/effects/SkAvoidXfermode.h
M    include/effects/SkDiscretePathEffect.h
M    include/effects/Sk1DPathEffect.h
M    include/effects/Sk2DPathEffect.h
M    include/effects/SkBlurDrawLooper.h
M    include/effects/SkPixelXorXfermode.h
M    include/effects/SkDashPathEffect.h
M    include/effects/SkColorMatrixFilter.h
M    include/effects/SkEmbossMaskFilter.h
M    include/effects/SkLayerDrawLooper.h
M    include/effects/SkGroupShape.h
M    include/effects/SkBlurImageFilter.h
M    include/effects/SkRectShape.h
A    include/effects/SkEffects.h
M    include/effects/SkCornerPathEffect.h
M    include/effects/SkGradientShader.h
M    include/effects/SkBlurMaskFilter.h
M    include/effects/SkLayerRasterizer.h
M    include/core/SkMallocPixelRef.h
M    include/core/SkFlattenable.h
M    include/core/SkShape.h
M    include/core/SkPixelRef.h
M    include/core/SkGraphics.h
M    include/core/SkPathEffect.h
M    include/core/SkPostConfig.h
M    include/core/SkXfermode.h
M    include/core/SkColorFilter.h
M    include/images/SkFlipPixelRef.h
M    include/images/SkImageRef_GlobalPool.h
M    src/effects/SkDashPathEffect.cpp
M    src/effects/SkColorMatrixFilter.cpp
M    src/effects/SkBlurImageFilter.cpp
M    src/effects/SkGroupShape.cpp
M    src/effects/SkCornerPathEffect.cpp
M    src/effects/SkGradientShader.cpp
M    src/effects/SkBlurMaskFilter.cpp
M    src/effects/SkAvoidXfermode.cpp
M    src/effects/Sk2DPathEffect.cpp
M    src/effects/SkBlurDrawLooper.cpp
M    src/effects/SkPixelXorXfermode.cpp
M    src/effects/SkColorFilters.cpp
M    src/effects/SkLayerDrawLooper.cpp
M    src/effects/SkRectShape.cpp
A    src/effects/SkEffects.cpp
M    src/effects/SkLayerRasterizer.cpp
M    src/effects/SkDiscretePathEffect.cpp
M    src/effects/Sk1DPathEffect.cpp
A    src/effects/SkEffects_none.cpp
M    src/core/SkPixelRef.cpp
M    src/core/SkGraphics.cpp
M    src/core/SkFlattenable.cpp
M    src/core/SkBitmapProcShader.h
M    src/core/SkPathEffect.cpp
M    src/core/SkShape.cpp
M    src/core/SkXfermode.cpp
M    src/core/SkMallocPixelRef.cpp
M    src/core/SkBitmapProcShader.cpp
M    src/images/SkFlipPixelRef.cpp
M    src/images/SkImageRef_GlobalPool.cpp
A    src/ports/SkGlobalInitialization_chromium.cpp
M    src/ports/SkImageRef_ashmem.h
M    src/ports/SkImageRef_ashmem.cpp
A    src/ports/SkGlobalInitialization_default.cpp
M    gyp/effects.gyp
M    gyp/tools.gyp
M    gyp/ports.gyp

git-svn-id: http://skia.googlecode.com/svn/trunk@2876 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd canvas::isDrawingToLayer(), as a fast query for chrome; faster than
reed@google.com [Wed, 14 Dec 2011 18:48:05 +0000 (18:48 +0000)]
add canvas::isDrawingToLayer(), as a fast query for chrome; faster than
setting up a drawiter and counting the layers.

git-svn-id: http://skia.googlecode.com/svn/trunk@2875 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agomove ports into its own gyp file
caryclark@google.com [Wed, 14 Dec 2011 17:12:04 +0000 (17:12 +0000)]
move ports into its own gyp file

git-svn-id: http://skia.googlecode.com/svn/trunk@2874 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoRevert r2872
bsalomon@google.com [Wed, 14 Dec 2011 15:58:11 +0000 (15:58 +0000)]
Revert r2872

git-svn-id: http://skia.googlecode.com/svn/trunk@2873 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agotwo loops for setting stage descs
bsalomon@google.com [Wed, 14 Dec 2011 15:34:33 +0000 (15:34 +0000)]
two loops for setting stage descs
Review URL: http://codereview.appspot.com/5486054/

git-svn-id: http://skia.googlecode.com/svn/trunk@2872 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoreset cpu shadow of vertex buffer to our usual vb size
bsalomon@google.com [Wed, 14 Dec 2011 14:44:19 +0000 (14:44 +0000)]
reset cpu shadow of vertex buffer to our usual vb size

Review URL: reset cpu shadow of vertex buffer to our usual vb size

git-svn-id: http://skia.googlecode.com/svn/trunk@2871 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoSkip flush functions for disabled stages
bsalomon@google.com [Tue, 13 Dec 2011 18:40:47 +0000 (18:40 +0000)]
Skip flush functions for disabled stages

Review URL: http://codereview.appspot.com/5483061

git-svn-id: http://skia.googlecode.com/svn/trunk@2870 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoMake null gl a top level config in bench
bsalomon@google.com [Tue, 13 Dec 2011 16:49:49 +0000 (16:49 +0000)]
Make null gl a top level config in bench

Review URL: http://codereview.appspot.com/5484052/

git-svn-id: http://skia.googlecode.com/svn/trunk@2867 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agowhitespace commit to try performance graph upload
epoger@google.com [Tue, 13 Dec 2011 14:55:10 +0000 (14:55 +0000)]
whitespace commit to try performance graph upload

git-svn-id: http://skia.googlecode.com/svn/trunk@2866 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoUse a stack variable for hash computation in GrBinHashKey
bsalomon@google.com [Mon, 12 Dec 2011 22:35:18 +0000 (22:35 +0000)]
Use a stack variable for hash computation in GrBinHashKey

Review URL: http://codereview.appspot.com/5484054/

git-svn-id: http://skia.googlecode.com/svn/trunk@2863 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agofix positioning for scalar=fixed, still need to fix actual mode
reed@google.com [Mon, 12 Dec 2011 22:15:18 +0000 (22:15 +0000)]
fix positioning for scalar=fixed, still need to fix actual mode

git-svn-id: http://skia.googlecode.com/svn/trunk@2862 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agotry to make it draw correctly in fixed point
reed@google.com [Mon, 12 Dec 2011 22:01:06 +0000 (22:01 +0000)]
try to make it draw correctly in fixed point

git-svn-id: http://skia.googlecode.com/svn/trunk@2860 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoskip paint->drawstate sampler copies when there is no texture
bsalomon@google.com [Mon, 12 Dec 2011 21:57:03 +0000 (21:57 +0000)]
skip paint->drawstate sampler copies when there is no texture

Review URL: http://codereview.appspot.com/5484053/

git-svn-id: http://skia.googlecode.com/svn/trunk@2859 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agocheck for empty glyph run and exit early if so.
reed@google.com [Mon, 12 Dec 2011 21:52:18 +0000 (21:52 +0000)]
check for empty glyph run and exit early if so.

git-svn-id: http://skia.googlecode.com/svn/trunk@2858 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agowhitespace commit to try performance graph upload
epoger@google.com [Mon, 12 Dec 2011 21:18:20 +0000 (21:18 +0000)]
whitespace commit to try performance graph upload

git-svn-id: http://skia.googlecode.com/svn/trunk@2857 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoDon't update vertex/index buffer twice!
bsalomon@google.com [Mon, 12 Dec 2011 20:42:26 +0000 (20:42 +0000)]
Don't update vertex/index buffer twice!

Review URL: http://codereview.appspot.com/5483053/

git-svn-id: http://skia.googlecode.com/svn/trunk@2855 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAccess sampler matrices directly, cleanup GrSamplerState::reset()s
bsalomon@google.com [Mon, 12 Dec 2011 18:45:07 +0000 (18:45 +0000)]
Access sampler matrices directly, cleanup GrSamplerState::reset()s

Review URL: http://codereview.appspot.com/5488048/

git-svn-id: http://skia.googlecode.com/svn/trunk@2854 2bbb7eff-a529-9590-31e7-b0007b416f81