Commit Graph

2811 Commits

Author SHA1 Message Date
mike@reedtribe.org
10afbefa5b 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
2011-12-30 16:02:53 +00:00
epoger@google.com
27442af204 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
2011-12-29 21:13:08 +00:00
schenney@chromium.org
72785c4c89 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
2011-12-29 21:03:28 +00:00
tomhudson@google.com
a31ac73b8e 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
2011-12-29 16:09:31 +00:00
epoger@google.com
797d514ab0 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
2011-12-28 21:23:57 +00:00
mike@reedtribe.org
a69b48c29d Add SkTableColorFilter, as a foundation for several SVG filters
git-svn-id: http://skia.googlecode.com/svn/trunk@2933 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-28 20:31:00 +00:00
mike@reedtribe.org
7012162d2f add SK_OVERRIDE
git-svn-id: http://skia.googlecode.com/svn/trunk@2932 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-28 20:17:42 +00:00
mike@reedtribe.org
dd52caaa09 return -1 if we failed to find by title
git-svn-id: http://skia.googlecode.com/svn/trunk@2931 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-28 20:02:10 +00:00
tomhudson@google.com
abfa8d137b 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
2011-12-28 19:40:48 +00:00
epoger@google.com
c7cf2b351f 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
2011-12-28 19:31:01 +00:00
tomhudson@google.com
4714359ec0 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
2011-12-28 17:58:07 +00:00
epoger@google.com
6fc7cc23a9 Fix Windows build breakage in http://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
2011-12-28 15:13:41 +00:00
tomhudson@google.com
0c00f21fee 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
2011-12-28 14:59:50 +00:00
mike@reedtribe.org
6f6e8c39a7 RETURN key now records default slide for startup
git-svn-id: http://skia.googlecode.com/svn/trunk@2925 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-27 22:33:50 +00:00
tomhudson@google.com
49eac192fa 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
2011-12-27 13:59:20 +00:00
schenney@chromium.org
b0af6dad94 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
2011-12-21 20:43:13 +00:00
reed@google.com
21e0bc2045 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
2011-12-21 20:26:01 +00:00
caryclark@google.com
5fbb4dc0a5 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
2011-12-21 20:06:30 +00:00
reed@google.com
ee068aae55 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
2011-12-21 19:36:21 +00:00
schenney@chromium.org
e42b1d54bf 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
2011-12-21 19:13:51 +00:00
reed@google.com
cf4b8181c9 declare IsVariationSelector to be inline, to fix warning
git-svn-id: http://skia.googlecode.com/svn/trunk@2917 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-21 16:31:23 +00:00
reed@google.com
bb47232dce preserve inverseness when stroking
git-svn-id: http://skia.googlecode.com/svn/trunk@2916 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-21 15:53:13 +00:00
reed@google.com
419f43348a add SkUnichar_IsVariationSelector()
git-svn-id: http://skia.googlecode.com/svn/trunk@2915 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-21 15:21:32 +00:00
tomhudson@google.com
ef279d36ca New gm to test anti-aliased clipping.
git-svn-id: http://skia.googlecode.com/svn/trunk@2914 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-21 14:27:14 +00:00
vandebo@chromium.org
020798af67 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
2011-12-21 01:49:35 +00:00
schenney@chromium.org
73f3dedf59 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
2011-12-20 22:31:40 +00:00
schenney@chromium.org
45cbfdd535 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
2011-12-20 21:48:14 +00:00
senorblanco@chromium.org
5b2d8b750b 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
2011-12-20 21:12:58 +00:00
senorblanco@chromium.org
e5ff3cefe0 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
2011-12-20 20:58:18 +00:00
caryclark@google.com
9d0c6ecb84 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
2011-12-20 20:26:56 +00:00
reed@google.com
1eb525e08b add baselines for macpro
git-svn-id: http://skia.googlecode.com/svn/trunk@2907 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 20:23:02 +00:00
caryclark@google.com
5d80f903cf 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
2011-12-20 20:06:37 +00:00
senorblanco@chromium.org
ae814c7476 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
2011-12-20 20:02:19 +00:00
schenney@chromium.org
6c31d9d9b4 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
2011-12-20 16:33:30 +00:00
reed@google.com
32d25b6f5f 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
2011-12-20 16:19:00 +00:00
schenney@chromium.org
3287949868 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
2011-12-20 15:33:11 +00:00
schenney@chromium.org
4da06ab335 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
2011-12-20 15:14:18 +00:00
reed@google.com
263cb3a79c can't pass const to setPixels :(
git-svn-id: http://skia.googlecode.com/svn/trunk@2900 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 14:35:32 +00:00
epoger@google.com
7412282c84 whitespace change to tri
gger buildbots

git-svn-id: http://skia.googlecode.com/svn/trunk@2899 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-20 14:34:31 +00:00
reed@google.com
5213c04216 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
2011-12-20 13:41:09 +00:00
epoger@google.com
20f7b61fd6 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
2011-12-19 20:26:22 +00:00
caryclark@google.com
8f3c44aeeb 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
2011-12-19 16:09:26 +00:00
reed@google.com
24569b5bad 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
2011-12-16 20:53:22 +00:00
reed@google.com
aaa41ed800 add baselines
git-svn-id: http://skia.googlecode.com/svn/trunk@2894 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-16 20:48:49 +00:00
reed@google.com
467ed51fc2 add baselines
git-svn-id: http://skia.googlecode.com/svn/trunk@2893 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-16 20:44:03 +00:00
epoger@google.com
baf204afc6 Delete temporary files I accidentally committed previously
git-svn-id: http://skia.googlecode.com/svn/trunk@2892 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-16 20:37:19 +00:00
reed@google.com
838e866289 remove obsolete printf
git-svn-id: http://skia.googlecode.com/svn/trunk@2891 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-16 20:34:11 +00:00
epoger@google.com
887531d97f 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
2011-12-16 20:26:32 +00:00
reed@google.com
538f784e3d 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
2011-12-16 17:56:23 +00:00
caryclark@google.com
f86ab8472e 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
2011-12-16 17:11:17 +00:00