platform/upstream/libSkiaSharp.git
14 years agoclean up fix to drawBitmapRect
reed@android.com [Fri, 16 Oct 2009 14:48:38 +0000 (14:48 +0000)]
clean up fix to drawBitmapRect

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

14 years agofix drawBitmapRect to not clip the src rect when computing the matrix
reed@android.com [Thu, 15 Oct 2009 18:51:46 +0000 (18:51 +0000)]
fix drawBitmapRect to not clip the src rect when computing the matrix

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

14 years agodon't force bitmapIsOpaque to false if we're instrinsically 16bit
reed@android.com [Wed, 14 Oct 2009 21:06:29 +0000 (21:06 +0000)]
don't force bitmapIsOpaque to false if we're instrinsically 16bit

This allows us to take more optimal paths, even when filtering or dithering

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

14 years agochange projects to just run with curren-os sdk, in prep for snow-lepard
reed@android.com [Wed, 14 Oct 2009 09:59:25 +0000 (09:59 +0000)]
change projects to just run with curren-os sdk, in prep for snow-lepard
fix fprintf warning

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

14 years agofix new warnings from gcc 4.2
reed@android.com [Wed, 14 Oct 2009 09:36:25 +0000 (09:36 +0000)]
fix new warnings from gcc 4.2

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

14 years agorequire expat to use with animator
reed@android.com [Tue, 13 Oct 2009 18:04:58 +0000 (18:04 +0000)]
require expat to use with animator

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

14 years agoadd xcode project
reed@android.com [Tue, 13 Oct 2009 13:50:37 +0000 (13:50 +0000)]
add xcode project

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

14 years agoanimator tests
reed@android.com [Tue, 13 Oct 2009 13:33:53 +0000 (13:33 +0000)]
animator tests

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

14 years agocheck-point for reviving animator
reed@android.com [Tue, 13 Oct 2009 13:33:16 +0000 (13:33 +0000)]
check-point for reviving animator

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

14 years agoadd new cubic test for overflow
reed@android.com [Tue, 13 Oct 2009 13:31:27 +0000 (13:31 +0000)]
add new cubic test for overflow

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

14 years agoadd sample for text rasterizer
reed@android.com [Mon, 12 Oct 2009 17:02:22 +0000 (17:02 +0000)]
add sample for text rasterizer

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

14 years agocapture drawings to png
reed@android.com [Tue, 6 Oct 2009 21:19:18 +0000 (21:19 +0000)]
capture drawings to png

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

14 years agocache expanded rawcolor16
reed@android.com [Fri, 2 Oct 2009 19:11:02 +0000 (19:11 +0000)]
cache expanded rawcolor16
add special blitv for opaque16, as this is called a lot on short segments so
any startup overhead makes a difference

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

14 years agooops, restore previous fix to saveLayer calling through to save()
reed@android.com [Fri, 2 Oct 2009 16:37:46 +0000 (16:37 +0000)]
oops, restore previous fix to saveLayer calling through to save()

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

14 years agomove factory for 565 into its own file
reed@android.com [Fri, 2 Oct 2009 16:34:57 +0000 (16:34 +0000)]
move factory for 565 into its own file

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

14 years agodon't call through to the inherited saveLayer, but just call save during record
reed@android.com [Thu, 1 Oct 2009 19:16:39 +0000 (19:16 +0000)]
don't call through to the inherited saveLayer, but just call save during record

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

14 years agodisable perspective-no-filter until we can fix the out-of-range indices
reed@android.com [Tue, 29 Sep 2009 19:30:05 +0000 (19:30 +0000)]
disable perspective-no-filter until we can fix the out-of-range indices

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

14 years agofix base linux build, adding freetype support
reed@android.com [Mon, 28 Sep 2009 16:12:48 +0000 (16:12 +0000)]
fix base linux build, adding freetype support

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

14 years agoadd FilterRec() so it links again
reed@android.com [Sun, 27 Sep 2009 20:41:46 +0000 (20:41 +0000)]
add FilterRec() so it links again

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

14 years agouse real strtof and snprintf to parse and dump floats
reed@android.com [Thu, 24 Sep 2009 20:06:03 +0000 (20:06 +0000)]
use real strtof and snprintf to parse and dump floats

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

14 years agorecord dither setting so we can replay it when we (re)decode
reed@android.com [Thu, 24 Sep 2009 17:21:05 +0000 (17:21 +0000)]
record dither setting so we can replay it when we (re)decode

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

14 years agoupdate for blitrow_d32 procs
reed@android.com [Wed, 23 Sep 2009 18:48:10 +0000 (18:48 +0000)]
update for blitrow_d32 procs

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

14 years agoadd BlitRow procs for 32->32, to allow for neon and other optimizations.
reed@android.com [Wed, 23 Sep 2009 15:06:10 +0000 (15:06 +0000)]
add BlitRow procs for 32->32, to allow for neon and other optimizations.
call these new procs in (nearly) all the places we had inlined loops before.
In once instance (blitter_argb32::blitAntiH) we get different results by a
  tiny bit. The new code is more accurate, and exactly inline with all of the
  other like-minded blits, so I think the change is good going forward.

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

14 years agodon't put the class name in front of the method
reed@android.com [Wed, 23 Sep 2009 00:43:53 +0000 (00:43 +0000)]
don't put the class name in front of the method

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

14 years agoclear the kHasSpan16 bit for two-point-radial, since we don't implement that
reed@android.com [Tue, 22 Sep 2009 20:24:05 +0000 (20:24 +0000)]
clear the kHasSpan16 bit for two-point-radial, since we don't implement that
fix perspective loop x (dstX)

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

14 years agoupdate sample to use new two-point-radial gradients from senorblanco!!!
reed@android.com [Tue, 22 Sep 2009 20:14:42 +0000 (20:14 +0000)]
update sample to use new two-point-radial gradients from senorblanco!!!

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

14 years agoupdate golden-master images for tilemodes, after the blur code (used for the
reed@android.com [Tue, 22 Sep 2009 19:53:52 +0000 (19:53 +0000)]
update golden-master images for tilemodes, after the blur code (used for the
labels) was updated.

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

14 years agoTwo-point radial gradient implementation.
senorblanco@chromium.org [Tue, 22 Sep 2009 17:25:29 +0000 (17:25 +0000)]
Two-point radial gradient implementation.

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

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

14 years ago#if 0 test code for blur, since it references a private header
reed@android.com [Mon, 21 Sep 2009 16:01:32 +0000 (16:01 +0000)]
#if 0 test code for blur, since it references a private header

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

14 years agoadd tests for blurmask
reed@android.com [Mon, 21 Sep 2009 00:27:39 +0000 (00:27 +0000)]
add tests for blurmask

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

14 years agofix sumbuffer to initialize its top and left colum/row with zeros. Without this fix...
reed@android.com [Mon, 21 Sep 2009 00:27:08 +0000 (00:27 +0000)]
fix sumbuffer to initialize its top and left colum/row with zeros. Without this fix we were
effectively chopping off the top row of pixels when we computed a blur.

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

14 years agoupdate with tests for blur
reed@android.com [Fri, 18 Sep 2009 20:57:05 +0000 (20:57 +0000)]
update with tests for blur

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

14 years agouse rowbytes instead of bounds.width()
reed@android.com [Fri, 18 Sep 2009 13:41:56 +0000 (13:41 +0000)]
use rowbytes instead of bounds.width()

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

14 years agomore float/double precision tweaks
reed@android.com [Fri, 18 Sep 2009 13:38:43 +0000 (13:38 +0000)]
more float/double precision tweaks

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

14 years agouse doubles in matrix.invert() to keep more precision, needed for subtle
reed@android.com [Wed, 16 Sep 2009 17:00:17 +0000 (17:00 +0000)]
use doubles in matrix.invert() to keep more precision, needed for subtle
bugs when drawing stretched bitmaps (like ninepatch) at nasty scale factors
like 1.5 (where the inverse matrix steps 0.333333, 1.0, 1.666667, etc.)

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

14 years agoadd neon opts for matrix procs
reed@android.com [Tue, 15 Sep 2009 14:10:42 +0000 (14:10 +0000)]
add neon opts for matrix procs

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

14 years agodon't magically convert to hairline unless we're < 1.0 in both X and Y. The new routi...
reed@android.com [Thu, 3 Sep 2009 21:45:49 +0000 (21:45 +0000)]
don't magically convert to hairline unless we're < 1.0 in both X and Y. The new routine both checks,
and if legal, returns the new width which will be used to compute a modulated alpha.

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

14 years agoadd decode bench
reed@android.com [Wed, 2 Sep 2009 21:12:42 +0000 (21:12 +0000)]
add decode bench
add dictionary for bench tools to see optional cmdline args

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

14 years agoupdate
reed@android.com [Wed, 2 Sep 2009 21:11:44 +0000 (21:11 +0000)]
update

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

14 years agoadd
reed@android.com [Wed, 2 Sep 2009 02:07:45 +0000 (02:07 +0000)]
add

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

14 years agomore unittests (already found/fixed some bugs)
reed@android.com [Wed, 2 Sep 2009 02:07:32 +0000 (02:07 +0000)]
more unittests (already found/fixed some bugs)

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

14 years agorename std words to be UPPER CASE (ugh)
reed@android.com [Tue, 1 Sep 2009 21:00:44 +0000 (21:00 +0000)]
rename std words to be UPPER CASE (ugh)
add initial unittests for std words (more to do)

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

14 years agoadd tests for extractAlpha
reed@android.com [Mon, 31 Aug 2009 21:04:24 +0000 (21:04 +0000)]
add tests for extractAlpha

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

14 years agoadd missing files
reed@android.com [Mon, 31 Aug 2009 18:04:51 +0000 (18:04 +0000)]
add missing files

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

14 years agoadd boolean tests and IF/ELSE/END
reed@android.com [Sun, 30 Aug 2009 03:24:51 +0000 (03:24 +0000)]
add boolean tests and IF/ELSE/END

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

14 years agoexperimental hack to write a forth engine to drive skia
reed@android.com [Sat, 29 Aug 2009 21:30:25 +0000 (21:30 +0000)]
experimental hack to write a forth engine to drive skia

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

14 years agoreturn noErr in clickhandler, so we can get mousemoved events
reed@android.com [Sat, 29 Aug 2009 20:33:39 +0000 (20:33 +0000)]
return noErr in clickhandler, so we can get mousemoved events

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

14 years agohttp://code.google.com/p/skia/issues/detail?id=32
reed@android.com [Fri, 28 Aug 2009 20:06:54 +0000 (20:06 +0000)]
http://code.google.com/p/skia/issues/detail?id=32

Detect when we no longer have a valid range for chopping due to finite float
precision, and just return a degenerate cubic at the end.

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

14 years agofix gaps in antialiased hairlines (thanks to preda)
reed@android.com [Fri, 28 Aug 2009 15:34:46 +0000 (15:34 +0000)]
fix gaps in antialiased hairlines (thanks to preda)
expand SampleHairline text to check for clip violations

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

14 years agoexpand SkShader's flag kConstInY to 16 and 32 variants, allowing a shader
reed@android.com [Thu, 27 Aug 2009 19:28:37 +0000 (19:28 +0000)]
expand SkShader's flag kConstInY to 16 and 32 variants, allowing a shader
(like gradients) to support predithering. If they do, then they would suppress
kConstInY16, since they no longer are const.

The blitters now check for each flag separately, so we don't have to give up
const-in-Y in the 32bit case, since in that mode we don't care about dithering.

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

14 years agoallow the gamma to be changed at runtime
reed@android.com [Wed, 26 Aug 2009 18:09:58 +0000 (18:09 +0000)]
allow the gamma to be changed at runtime

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

14 years agoshow the hairlines after each test iteration
reed@android.com [Tue, 25 Aug 2009 20:40:04 +0000 (20:40 +0000)]
show the hairlines after each test iteration

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

14 years agospecial case 1x1 bitmaps when drawn as a shader (treat as a solid color)
reed@android.com [Tue, 25 Aug 2009 19:15:31 +0000 (19:15 +0000)]
special case 1x1 bitmaps when drawn as a shader (treat as a solid color)

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

14 years agofix overflow in qsort compare proc
reed@android.com [Tue, 25 Aug 2009 18:14:50 +0000 (18:14 +0000)]
fix overflow in qsort compare proc

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

14 years agoadd detach() method
reed@android.com [Tue, 25 Aug 2009 16:03:59 +0000 (16:03 +0000)]
add detach() method

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

14 years agofix warning in sampler
reed@android.com [Mon, 24 Aug 2009 19:11:00 +0000 (19:11 +0000)]
fix warning in sampler
lock pixels when we extract alpha
disabling hinting when linear-text is set

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

14 years agoupdate gm images with new corrected dithering
reed@android.com [Sat, 22 Aug 2009 03:48:59 +0000 (03:48 +0000)]
update gm images with new corrected dithering

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

14 years agofixes around isOpaque and dithering
reed@android.com [Sat, 22 Aug 2009 03:44:57 +0000 (03:44 +0000)]
fixes around isOpaque and dithering

- copyTo() now preserves isOpaqueness, and BitmapCopyTest tests it
- bitmap shader doesn't claim to have shadespan16 if dithering is on, since its
  sampler doesn't auto-dither (note that gradients do auto-dither in their
  16bit sampler)
- blitter setup just relies on the shader to report if its 16bit sampler can be
  called (allowing gradients to say yes regardless of dither, but bitmaps to say
  no if dithering is on)

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

14 years agoAdd a sanity check to MaskSuperBlitter::blitH(), to avoid a subsequent
senorblanco@chromium.org [Fri, 21 Aug 2009 22:00:12 +0000 (22:00 +0000)]
Add a sanity check to MaskSuperBlitter::blitH(), to avoid a subsequent
crash in *Blitter::blitMask(), and add some more asserts.

http://codereview.appspot.com/110050
http://crbug.com/17569

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

14 years agoFix compliation on gcc-4.3 and ARMv5T
deanm@chromium.org [Fri, 21 Aug 2009 17:17:35 +0000 (17:17 +0000)]
Fix compliation on gcc-4.3 and ARMv5T

 - smulbb is only on ARMv5TE and above (p316, ARM Architecture Reference Manual)
 - an empty clobber list causes a compiler error with my compiler, gcc-4.3.2

Patch by Joel Stanley <joel@jms.id.au>

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

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

14 years agorespect dither setting in index8->565 sprite case
reed@android.com [Thu, 20 Aug 2009 21:29:45 +0000 (21:29 +0000)]
respect dither setting in index8->565 sprite case

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

14 years agoFix flipped text orientation on Windows.
deanm@chromium.org [Fri, 14 Aug 2009 23:09:52 +0000 (23:09 +0000)]
Fix flipped text orientation on Windows.

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

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

14 years agoupdate location of SkNWayCanvas.cpp
reed@android.com [Fri, 14 Aug 2009 19:58:53 +0000 (19:58 +0000)]
update location of SkNWayCanvas.cpp

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

14 years agoclose out previous contour (so we don't miss the last segment)
reed@android.com [Fri, 14 Aug 2009 19:27:37 +0000 (19:27 +0000)]
close out previous contour (so we don't miss the last segment)

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

14 years agoadd 'r' (rotate) 's' (scale) options to SampleApp to test those matrix ops on
reed@android.com [Fri, 14 Aug 2009 16:08:38 +0000 (16:08 +0000)]
add 'r' (rotate) 's' (scale) options to SampleApp to test those matrix ops on
all slides

add beforeChild/afterChild methods for parents to wack the canvas before/after
it draws. These are called after the std child-view translate and clip, unlike
beforeChildren/afterChildren

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

14 years agofix typo in matrix proc index computation, where we were always taking the
reed@android.com [Fri, 14 Aug 2009 15:47:14 +0000 (15:47 +0000)]
fix typo in matrix proc index computation, where we were always taking the
perspective case when affine would have been enough (and lots faster).

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

14 years agoadd method to compute max count for a given buffer size in the bitmap shader.
reed@android.com [Fri, 14 Aug 2009 13:54:37 +0000 (13:54 +0000)]
add method to compute max count for a given buffer size in the bitmap shader.
fix bug in quad loop of fill_sequential where we were going one quad too far.

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

14 years agobzero SkPaint in its constructor, to allow us to cleanly use memcmp in our
reed@android.com [Thu, 13 Aug 2009 20:38:25 +0000 (20:38 +0000)]
bzero SkPaint in its constructor, to allow us to cleanly use memcmp in our
operator==, given that we may be padded and not know how to init those pad bytes

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

14 years agoadd special matrixprocs when the matrix is at most translate. These are faster
reed@android.com [Thu, 13 Aug 2009 19:35:48 +0000 (19:35 +0000)]
add special matrixprocs when the matrix is at most translate. These are faster
(somewhat) than their scale counterparts, but are also numerically exact for
any size bitmaps. The scale versions, because they operate in a scaled 65535
space, are not always exact for large images (due to SK_Fixed1 / width) loss of
bits

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

14 years agotest for non-scaled bitmap tiles
reed@android.com [Thu, 13 Aug 2009 19:33:44 +0000 (19:33 +0000)]
test for non-scaled bitmap tiles

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

15 years agoadd benchmark for repeat-tile bitmaps
reed@android.com [Wed, 12 Aug 2009 20:30:58 +0000 (20:30 +0000)]
add benchmark for repeat-tile bitmaps

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

15 years agoAdd some SkASSERT's, to try to track down a reliability issue in Chrome.
senorblanco@chromium.org [Wed, 12 Aug 2009 20:21:49 +0000 (20:21 +0000)]
Add some SkASSERT's, to try to track down a reliability issue in Chrome.

http://codereview.appspot.com/105075
http://crbug.com/17569

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

15 years agoremove unneeded (empty) virtual destructor
reed@android.com [Wed, 12 Aug 2009 18:51:06 +0000 (18:51 +0000)]
remove unneeded (empty) virtual destructor

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

15 years agofixes wacky build on android. no other explanation received
reed@android.com [Tue, 11 Aug 2009 20:01:33 +0000 (20:01 +0000)]
fixes wacky build on android. no other explanation received

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

15 years agofix validate() to note that an empty path can (by side-effect) have an empty but
reed@android.com [Tue, 11 Aug 2009 19:54:35 +0000 (19:54 +0000)]
fix validate() to note that an empty path can (by side-effect) have an empty but
translated fBounds

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

15 years agoFreeType: fix garbled bitmap glyphs.
agl@chromium.org [Tue, 11 Aug 2009 17:22:38 +0000 (17:22 +0000)]
FreeType: fix garbled bitmap glyphs.

At some point (probably in one of the LCD patches), the fMaskFormat
for bitmap glyphs changed from kA8 to kBW. Formerly, bitmap glyphs
were always transformed into A8 format. With this patch, we check the
fMaskFormat and pick the correct transform at run time.

http://code.google.com/p/chromium/issues/detail?id=18531
http://codereview.appspot.com/104071

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

15 years agoRemove assertion in getAddrLCD.
agl@chromium.org [Tue, 11 Aug 2009 17:21:21 +0000 (17:21 +0000)]
Remove assertion in getAddrLCD.

Because the underlying mask extends a pixel to the left and right (or
top and bottom on vertical LCDs), the requested pixel can actaully be
one pixel outside the bounds, thus this assertion is incorrect.

http://codereview.appspot.com/105077

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

15 years agoremove dead code
reed@android.com [Tue, 11 Aug 2009 15:35:36 +0000 (15:35 +0000)]
remove dead code

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

15 years agoFreeType: don't use bitmap strikes when antialiasing
agl@chromium.org [Fri, 7 Aug 2009 19:19:23 +0000 (19:19 +0000)]
FreeType: don't use bitmap strikes when antialiasing

If the user requested anti-aliasing then we don't use bitmap strikes
in the font. The consensus among our Japanese users is that this
results in the best quality.

http://code.google.com/p/chromium/issues/detail?id=18333

http://codereview.appspot.com/105050

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

15 years agomore neon work:
reed@android.com [Fri, 7 Aug 2009 19:14:34 +0000 (19:14 +0000)]
more neon work:
- remove neon-specific functions that were not faster than the C version
- move the neon filter function to its own header, so it could be use in more places

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

15 years agoupdate make for nwaycanvas
reed@android.com [Tue, 4 Aug 2009 19:21:28 +0000 (19:21 +0000)]
update make for nwaycanvas
remove obsolete opts_neon dir

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

15 years agoadd -forceFilter to bench tool
reed@android.com [Tue, 4 Aug 2009 18:17:15 +0000 (18:17 +0000)]
add -forceFilter to bench tool
move some utils out of effects/

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

15 years agoadd proper includes for arm optimizations
reed@android.com [Tue, 4 Aug 2009 01:52:27 +0000 (01:52 +0000)]
add proper includes for arm optimizations

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

15 years agoadd -config foo to restrict the output to just the specific config
reed@android.com [Tue, 4 Aug 2009 01:51:09 +0000 (01:51 +0000)]
add -config foo to restrict the output to just the specific config
add -match foo to restrict the benchmarks to those whose names match foo

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

15 years agoremove noisy font table tests from TextBench
reed@android.com [Tue, 4 Aug 2009 01:25:44 +0000 (01:25 +0000)]
remove noisy font table tests from TextBench

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

15 years agoarm/neon optimizations for bitmap shader
reed@android.com [Mon, 3 Aug 2009 17:22:46 +0000 (17:22 +0000)]
arm/neon optimizations for bitmap shader
original version by ARM LIMITED 2009

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

15 years agoupdate
reed@android.com [Mon, 3 Aug 2009 15:06:11 +0000 (15:06 +0000)]
update

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

15 years agoadd platformProcs() porting function
reed@android.com [Mon, 3 Aug 2009 15:05:55 +0000 (15:05 +0000)]
add platformProcs() porting function

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

15 years agoclean up SkBitmapProcState in preparation for adding porting-layer functions
reed@android.com [Mon, 3 Aug 2009 14:45:45 +0000 (14:45 +0000)]
clean up SkBitmapProcState in preparation for adding porting-layer functions

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

15 years agoadd GetFileName api to SkFontHost
reed@android.com [Fri, 31 Jul 2009 16:17:01 +0000 (16:17 +0000)]
add GetFileName api to SkFontHost

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

15 years agofix #endif placement so it works when LCD support is not defined
reed@android.com [Fri, 31 Jul 2009 14:52:54 +0000 (14:52 +0000)]
fix #endif placement so it works when LCD support is not defined

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

15 years agoadd opts for neon
reed@android.com [Thu, 30 Jul 2009 20:40:47 +0000 (20:40 +0000)]
add opts for neon

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

15 years agoadd opts files to the make
reed@android.com [Thu, 30 Jul 2009 02:25:54 +0000 (02:25 +0000)]
add opts files to the make

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

15 years agoadd optimization table for blitproc functions
reed@android.com [Thu, 30 Jul 2009 02:22:31 +0000 (02:22 +0000)]
add optimization table for blitproc functions

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

15 years agoremove auto-upscaling from base class (breaks model for allocators) but improve
reed@android.com [Wed, 29 Jul 2009 20:56:52 +0000 (20:56 +0000)]
remove auto-upscaling from base class (breaks model for allocators) but improve
the upscaling inside the png codec.

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

15 years agoAdd runtime detection for missing subpixel support in FreeType.
agl@chromium.org [Tue, 28 Jul 2009 18:38:08 +0000 (18:38 +0000)]
Add runtime detection for missing subpixel support in FreeType.

r291 added support for building on platforms where subpixel support
has been compiled out of FreeType. However, it turns out that there is
a common situation in which we build on platforms with subpixel
support, but have to run without it: people downloading Chromium from
the buildbots.

Because we this, we need a runtime solution. Modifying the conversion
routines for this seems suboptimal because the extra branches will
slow down everyone. So we probe subpixel support at runtime by trying
to install a low-pass filter. If we fail at this, then we map all the
SkScalerContext::Rec structures to remove subpixel mode.

http://codereview.appspot.com/98057

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

15 years agoRevert "Support subpixel text when FreeType is built without such support."
agl@chromium.org [Tue, 28 Jul 2009 18:38:04 +0000 (18:38 +0000)]
Revert "Support subpixel text when FreeType is built without such support."

This reverts commit r291. It will be replaced with another solution in the next
commit.

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

15 years agoSupport subpixel text when FreeType is built without such support.
agl@chromium.org [Tue, 28 Jul 2009 00:02:42 +0000 (00:02 +0000)]
Support subpixel text when FreeType is built without such support.

On Fedora, at least, FreeType is built without subpixel support. It
tries to simulate subpixel mode by replicating the gray-values three
times. However, it fails to simulate the actions of the low-pass
filter and so doesn't add border around the glyphs. This patch adds a
compile-time constant, which is the number of bytes of filter border.
If this value is zero (because FreeType is simulating subpixel
support), then we add a transparent border ourselves when transforming
from FreeType rendered glyphs to masks.

http://codereview.appspot.com/96171

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

15 years agows fixes
reed@android.com [Mon, 27 Jul 2009 16:39:38 +0000 (16:39 +0000)]
ws fixes
use enum in getHinting() function, rather than hard-coded constants

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

15 years agoadd filterrec logic for subpixel and slight-hinting
reed@android.com [Fri, 24 Jul 2009 19:53:20 +0000 (19:53 +0000)]
add filterrec logic for subpixel and slight-hinting

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