Commit Graph

1058 Commits

Author SHA1 Message Date
bsalomon@google.com
c967795b8f Make it possible to share a comparison func with both SkTSearch and SkQSort
Review URL: http://codereview.appspot.com/6006043/



git-svn-id: http://skia.googlecode.com/svn/trunk@3648 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-10 21:03:23 +00:00
robertphillips@google.com
99a5ac0b67 Updated blur to use A8/R8 (instead of RGBA8) when available - this provides a performance gain for large blurs
http://codereview.appspot.com/5988071/



git-svn-id: http://skia.googlecode.com/svn/trunk@3647 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-10 19:26:38 +00:00
bsalomon@google.com
0e5104c157 misc fixes
Submitted on behalf of Guanqun.Lu@gmail.com

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



git-svn-id: http://skia.googlecode.com/svn/trunk@3640 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-10 16:20:41 +00:00
bungeman@google.com
363a4c22af Warn when ignoring result of SkMatrix::invert.
http://codereview.appspot.com/5989067/


git-svn-id: http://skia.googlecode.com/svn/trunk@3637 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-09 22:33:11 +00:00
bsalomon@google.com
1195925b05 Add MSAA option to SampleApp
Review URL: http://codereview.appspot.com/5969049


git-svn-id: http://skia.googlecode.com/svn/trunk@3627 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-06 20:13:38 +00:00
robertphillips@google.com
09042b80d2 Fixing Windows compiler complaints
http://codereview.appspot.com/5991056/



git-svn-id: http://skia.googlecode.com/svn/trunk@3626 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-06 20:01:46 +00:00
robertphillips@google.com
6995068c5a Initial version of R8 support
http://codereview.appspot.com/5967067/



git-svn-id: http://skia.googlecode.com/svn/trunk@3622 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-06 18:06:10 +00:00
junov@chromium.org
b0a7ace7cb Renaming SkCanvas::fLayerCount to fSaveLayerCount for readability
REVIEW=http://codereview.appspot.com/5992047/



git-svn-id: http://skia.googlecode.com/svn/trunk@3619 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-05 18:33:23 +00:00
bsalomon@google.com
3286989f97 Remove old D3D9 stuff
Review URL: http://codereview.appspot.com/5966071/


git-svn-id: http://skia.googlecode.com/svn/trunk@3601 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-04 19:05:31 +00:00
junov@chromium.org
2ac4ef5e6e Fixing the drawing of blurred shodows for hairline paths with software rendering
BUG=http://code.google.com/p/chromium/issues/detail?id=121251
REVIEW=http://codereview.appspot.com/5981053/



git-svn-id: http://skia.googlecode.com/svn/trunk@3592 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-04 15:16:51 +00:00
bsalomon@google.com
8108c47b50 Unix SampleApp attach/detach fixup and style fixup
Review URL: http://codereview.appspot.com/5972062/




git-svn-id: http://skia.googlecode.com/svn/trunk@3590 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-03 19:33:08 +00:00
bsalomon@google.com
3c4d032aeb Revert 3857 (which was committed from wrong tree)
git-svn-id: http://skia.googlecode.com/svn/trunk@3588 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-03 18:04:51 +00:00
bsalomon@google.com
5f017a4ab0 Fix GL attach/detach in Mac SampleApp
Review URL: http://codereview.appspot.com/5984043/


git-svn-id: http://skia.googlecode.com/svn/trunk@3587 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-03 18:03:03 +00:00
robertphillips@google.com
b442a6d572 Redelivering r3555 to re-add run-time switching between ANGLE and native opengl
http://codereview.appspot.com/5969044/



git-svn-id: http://skia.googlecode.com/svn/trunk@3578 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-02 19:24:21 +00:00
robertphillips@google.com
d5c8fe6f34 Removed ANGLE namespace requirement
http://codereview.appspot.com/5969065/



git-svn-id: http://skia.googlecode.com/svn/trunk@3571 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-02 15:04:16 +00:00
bsalomon@google.com
06cd732eff Reland 3563
git-svn-id: http://skia.googlecode.com/svn/trunk@3565 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-30 18:45:35 +00:00
bsalomon@google.com
18bbb8be02 Revet 3563 due to mac bot failure
git-svn-id: http://skia.googlecode.com/svn/trunk@3564 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-30 18:29:01 +00:00
bsalomon@google.com
423d6d9070 Improve save layer handling in SkGpuDevice
http://codereview.appspot.com/5966048/



git-svn-id: http://skia.googlecode.com/svn/trunk@3563 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-30 18:22:01 +00:00
bsalomon@google.com
193395c7a3 Unify text flushing with other deferred drawing
Review URL: http://codereview.appspot.com/5936054/



git-svn-id: http://skia.googlecode.com/svn/trunk@3560 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-30 17:35:12 +00:00
bsalomon@google.com
b4725b4ee6 Add assert to catch circular drawing higher up the call stack.
git-svn-id: http://skia.googlecode.com/svn/trunk@3559 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-30 17:24:17 +00:00
robertphillips@google.com
bd8d7adb0a Reverting r3555
git-svn-id: http://skia.googlecode.com/svn/trunk@3556 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-30 15:18:14 +00:00
robertphillips@google.com
53e96a14ca Added run-time switching between OpenGL & ANGLE in SampleApp
http://codereview.appspot.com/5969044/



git-svn-id: http://skia.googlecode.com/svn/trunk@3555 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-30 14:47:53 +00:00
bsalomon@google.com
10e04bf1c5 Reland 3507
git-svn-id: http://skia.googlecode.com/svn/trunk@3554 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-30 14:35:04 +00:00
bsalomon@google.com
b9014f4f2e Remove deprecated names from Gr (WK is no longer using them)
Review URL: http://codereview.appspot.com/5969046/



git-svn-id: http://skia.googlecode.com/svn/trunk@3553 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-30 14:22:41 +00:00
bsalomon@google.com
ba800e2225 Alphabetize gl function pointer typedefs / decls. Wrap pointers to auto-NULL them.
Review URL: http://codereview.appspot.com/5959048/



git-svn-id: http://skia.googlecode.com/svn/trunk@3549 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-29 21:04:52 +00:00
djsollen@google.com
54924243c1 Cleanup code related to SkFlattenable::flatten()
The following changes were made by this CL:

1. Make flatten() a protected method as callers should use
   SkFlattenableWriteBuffer to flatten an object
2. Make flatten a const method (including subclasses)
3. Mark subclass implementation of flatten with SK_OVERRIDE
4. Ensure overridden flatten impls call their parent
5. Remove no-op implementations of flatten from subclasses

Additionally, if necessary the unflattening constructor was
also moved to the protected section of the subclasses
header if it was not already there.

git-svn-id: http://skia.googlecode.com/svn/trunk@3540 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-29 15:18:04 +00:00
bsalomon@google.com
5b819c1f6d Revert 3507
git-svn-id: http://skia.googlecode.com/svn/trunk@3537 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-28 21:34:22 +00:00
djsollen@google.com
5370cd969d Consolidate PixelRef flattables with the standard impl
The flatten method on these functions can no longer be
const as SkFlattenables declaration is not const and 
would result in the const methods only being called when
the reference to the object was const.
Review URL: https://codereview.appspot.com/5941043

git-svn-id: http://skia.googlecode.com/svn/trunk@3533 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-28 20:47:01 +00:00
vandebo@chromium.org
a728e35edc Fix a bunch of Coverity defects - class members not initialized in the constructor.
CID=14533,14036,9275,9271,4156,4153,4151,1666,1665,1618,1617,1616,1615

Review URL: https://codereview.appspot.com/5940049

git-svn-id: http://skia.googlecode.com/svn/trunk@3532 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-28 20:29:38 +00:00
bungeman@google.com
802eee956c Move SkTextBox.h from utils to views.
git-svn-id: http://skia.googlecode.com/svn/trunk@3531 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-28 20:01:06 +00:00
robertphillips@google.com
d3b9fbbc48 Code changes for ANGLE GL interface. .gyp file changes will be delivered later.
http://codereview.appspot.com/5940046/



git-svn-id: http://skia.googlecode.com/svn/trunk@3519 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-28 16:19:11 +00:00
bsalomon@google.com
a5d2203f58 Use a single GrDrawState in GrContext for direct and buffered drawing
Review URL: http://codereview.appspot.com/5933043/


git-svn-id: http://skia.googlecode.com/svn/trunk@3507 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-27 17:40:15 +00:00
djsollen@google.com
ba28d03e94 Create macro for registering classes for deserialization
Review URL: https://codereview.appspot.com/5909063

git-svn-id: http://skia.googlecode.com/svn/trunk@3494 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-26 17:57:35 +00:00
bsalomon@google.com
fdf6eb75ab fix compilation bug in fixed pt
git-svn-id: http://skia.googlecode.com/svn/trunk@3489 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-26 15:33:05 +00:00
bsalomon@google.com
8fe84b53a6 Add SkMatrix::cheapEqualTo, use in Gr code
Review URL: http://codereview.appspot.com/5865057/



git-svn-id: http://skia.googlecode.com/svn/trunk@3488 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-26 15:24:27 +00:00
djsollen@google.com
a2ca41e3af Cleanup Macros arround static initializers for SkFlattenable.
This CL also removes an unused debugging function from the class
Review URL: https://codereview.appspot.com/5890043

git-svn-id: http://skia.googlecode.com/svn/trunk@3483 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-23 19:00:34 +00:00
robertphillips@google.com
ec51cb8634 Improved codec link-forcing system by adding Encoder/Decoder creation entry points
http://codereview.appspot.com/5881055/




git-svn-id: http://skia.googlecode.com/svn/trunk@3481 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-23 18:13:47 +00:00
reed@google.com
8926b169f6 apply imagefilter to all draw calls
Review URL: https://codereview.appspot.com/5856048

git-svn-id: http://skia.googlecode.com/svn/trunk@3476 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-23 15:36:36 +00:00
bungeman@google.com
5e41b37b23 Remove circular dependency of views and animator.
http://codereview.appspot.com/5874056/


git-svn-id: http://skia.googlecode.com/svn/trunk@3473 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-23 14:11:43 +00:00
vandebo@chromium.org
7d6c8f997f [PDF] Move most of the headers to be private.
Compute font stats in SkPDFDocument in order to make more of the headers private.

Previous review: https://codereview.appspot.com/5868049/

Review URL: https://codereview.appspot.com/5875049

git-svn-id: http://skia.googlecode.com/svn/trunk@3470 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-22 20:45:15 +00:00
robertphillips@google.com
7c9594259b Extended debug GL interface to include tracking of render buffers
http://codereview.appspot.com/5875050/



git-svn-id: http://skia.googlecode.com/svn/trunk@3469 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-22 20:43:56 +00:00
bungeman@google.com
f85abda8c9 Remove mutual dependency of gr and skgr.
http://codereview.appspot.com/5879043/


git-svn-id: http://skia.googlecode.com/svn/trunk@3467 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-22 17:56:29 +00:00
vandebo@chromium.org
ec1a7fa304 Move SkBitSet to utils.
Review URL: https://codereview.appspot.com/5875043

git-svn-id: http://skia.googlecode.com/svn/trunk@3460 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 23:11:46 +00:00
bungeman@google.com
cbd76ae138 Utils must not depend on Views.
http://codereview.appspot.com/5867051/


git-svn-id: http://skia.googlecode.com/svn/trunk@3459 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 20:59:49 +00:00
vandebo@chromium.org
76d6de0845 Revert "[PDF] Move most of the headers to be private."
This reverts r3457

TBR=epoger@google.com

Review URL: https://codereview.appspot.com/5866051

git-svn-id: http://skia.googlecode.com/svn/trunk@3458 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 20:31:08 +00:00
vandebo@chromium.org
bd960c7f19 [PDF] Move most of the headers to be private.
Compute font stats in SkPDFDocument in order to make more of the headers private.

Previous review: https://codereview.appspot.com/5865048/

Review URL: https://codereview.appspot.com/5868049

git-svn-id: http://skia.googlecode.com/svn/trunk@3457 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 19:59:04 +00:00
robertphillips@google.com
6970557055 Re-attempting Linux debug GL interface compiler complaint fix.
Fixed two additional compiler complaints.

http://codereview.appspot.com/5845068/



git-svn-id: http://skia.googlecode.com/svn/trunk@3456 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 19:46:50 +00:00
vandebo@chromium.org
008c498b58 Revert "[PDF] Move most of the headers to be private."
This reverts r3453

TBR=epoger@google.com

Review URL: https://codereview.appspot.com/5869048

git-svn-id: http://skia.googlecode.com/svn/trunk@3454 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 17:55:04 +00:00
vandebo@chromium.org
f7f9aa8bd9 [PDF] Move most of the headers to be private.
Compute font stats in SkPDFDocument in order to make more of the headers private.

Review URL: https://codereview.appspot.com/5865048

git-svn-id: http://skia.googlecode.com/svn/trunk@3453 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 17:45:06 +00:00
djsollen@google.com
e63793a2c8 Upstream changes from Android repository.
Review URL: https://codereview.appspot.com/5752055

git-svn-id: http://skia.googlecode.com/svn/trunk@3449 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 15:39:03 +00:00
reed@google.com
56d3a23c3e Cast the result of SK_OFFSETOF to size_t to match offsetof() and avoid narrowing conversion errors
git-svn-id: http://skia.googlecode.com/svn/trunk@3446 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 12:25:48 +00:00
tomhudson@google.com
599445130c Move SkClampRange into src/effects, where it isn't being advertised as
something for end-users.

http://codereview.appspot.com/5864044/



git-svn-id: http://skia.googlecode.com/svn/trunk@3445 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-20 21:18:43 +00:00
djsollen@google.com
166e653f67 Fix scaling issue when drawing text on a path.
If the paint is stroked and the font size is small
we were incorrectly rendering the sample text.
Review URL: https://codereview.appspot.com/5844060

git-svn-id: http://skia.googlecode.com/svn/trunk@3437 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-20 14:24:38 +00:00
reed@google.com
0b53d59a24 add optional updateMatrixClip param to getTopDevice(). Chrome should set this
only when it is needed, and in doing so it can stop using the layeriter just
to get its top device.



git-svn-id: http://skia.googlecode.com/svn/trunk@3432 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-19 18:26:34 +00:00
robertphillips@google.com
0da3719050 Added debug GL Interface. This interface tracks various GL objects in order to find leaks & invalid accesses.
Core Review: http://codereview.appspot.com/5846049/




git-svn-id: http://skia.googlecode.com/svn/trunk@3426 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-19 14:42:13 +00:00
tomhudson@google.com
8dd90a926a (SSE2) acceleration for rectangular opaque erases.
15% speedup for rectangles < 31 px wide, 5% for larger.

http://codereview.appspot.com/5843050/



git-svn-id: http://skia.googlecode.com/svn/trunk@3423 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-19 13:49:50 +00:00
bsalomon@google.com
dddf6f6363 Skip unnecessary copies in GrPaint operator ==
Review URL: http://codereview.appspot.com/5846046/



git-svn-id: http://skia.googlecode.com/svn/trunk@3417 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-16 17:50:37 +00:00
reed@google.com
80e1459c32 add IRect variant of getBounds()
git-svn-id: http://skia.googlecode.com/svn/trunk@3414 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-16 14:58:07 +00:00
reed@google.com
0beaba5b34 decal mode babystep
git-svn-id: http://skia.googlecode.com/svn/trunk@3413 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-16 14:38:06 +00:00
bsalomon@google.com
f4a9c82918 Split GrTextContext into baseclass and subclass
This is a step towards enabling alternate text rendering code paths (GLyphy in particular)

Committed on behalf of baranowski@chromium.org

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



git-svn-id: http://skia.googlecode.com/svn/trunk@3412 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-16 14:02:46 +00:00
reed@google.com
fb2d3c6981 forward declare SkRect
git-svn-id: http://skia.googlecode.com/svn/trunk@3410 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-15 21:18:11 +00:00
reed@google.com
86b2e43a33 add getBounds() helper
git-svn-id: http://skia.googlecode.com/svn/trunk@3409 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-15 21:17:03 +00:00
djsollen@google.com
ff029606bd Add CreateFallbackForScript to SkTypeface for Android.
WebKit uses HarfBuzz directly to do Complex Text Layout, so it needs to get the
proper SkTypeface to pass it to HarfBuzz. However, on Android, fallback scripts
have no name, and we can only get them by file name each time (CreateFromFile).
This actually breaks the semantics of SkTypeface, which states 'The ID should
be unique for the underlying font file/data, not unique per typeface instance.'

And add 2 helper function to convert between FallbackScripts enum and font file
name. These are useful for WebKit's FontCache, which needs string as key.

https://codereview.appspot.com/5797066/

git-svn-id: http://skia.googlecode.com/svn/trunk@3403 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-15 15:49:51 +00:00
tomhudson@google.com
601d312bd4 Expand SkMatrix type mask from uint8 to uint32, aligning the struct
so there's no uninitialized padding and potentially allowing future
expansion.

http://codereview.appspot.com/5824056/
http://code.google.com/p/skia/issues/detail?id=354



git-svn-id: http://skia.googlecode.com/svn/trunk@3395 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-15 13:07:25 +00:00
reed@google.com
49794c0cbd make commonBitmap un-virtual. That was a leftover from previous subclassing
I think.



git-svn-id: http://skia.googlecode.com/svn/trunk@3394 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-15 12:10:47 +00:00
reed@google.com
68bc6f7b45 add kUTF32_TextEncoding
git-svn-id: http://skia.googlecode.com/svn/trunk@3387 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-14 19:41:55 +00:00
vandebo@chromium.org
610f716b00 Fix four memory leaks uncovered by valgrinding gm tests.
All are triggered by PDF code.
 Two are missing unref's on SkData.
 One is a missing unref on a SkAdvancedTypefaceMetrics.
 The last is missing destruction of SkClipStack internal state.

BUG=526

Review URL: https://codereview.appspot.com/5824049

git-svn-id: http://skia.googlecode.com/svn/trunk@3386 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-14 18:34:15 +00:00
reed@google.com
6adf79746f add SkFourByteInterp256 variant, when the caller has already scaled the last
parameter to 0..256



git-svn-id: http://skia.googlecode.com/svn/trunk@3362 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-12 14:25:18 +00:00
vandebo@chromium.org
188838c208 [PDF] Fix memory hungry inefficiency in pdf resource tracking.
When moving the content of a device into a PDF object like SkPDFFormXObject
or SkPDFShader does, we only need the top level resources in the new object's
resource list, not the recursive set of objects.  Otherwise, when you
put a form on a form on form, etc, references to the objects multiply.

This fixed http://crbug.com/117321

Review URL: https://codereview.appspot.com/5796048

git-svn-id: http://skia.googlecode.com/svn/trunk@3360 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-09 22:16:58 +00:00
reed@google.com
4bc0a9db18 use higher precision (64bit) fixed-point for matrix proc
Review URL: https://codereview.appspot.com/5772044

git-svn-id: http://skia.googlecode.com/svn/trunk@3336 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-07 21:47:41 +00:00
senorblanco@chromium.org
3b4dd90282 Refactor Gaussian blur and morphology from SkGpuDevice into GrContext.
Review URL:  http://codereview.appspot.com/5720060/



git-svn-id: http://skia.googlecode.com/svn/trunk@3327 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-05 20:41:22 +00:00
bsalomon@google.com
84405e095c make skpaint2grpaint functions be local to skgpudevice.cpp
Review URL: http://codereview.appspot.com/5726061/



git-svn-id: http://skia.googlecode.com/svn/trunk@3322 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-05 19:57:21 +00:00
tomhudson@google.com
178b8e0b8c Add SK_OVERRIDE where appropriate.
http://codereview.appspot.com/5734044/



git-svn-id: http://skia.googlecode.com/svn/trunk@3318 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-05 18:29:23 +00:00
bsalomon@google.com
9b1517edc7 minor improvement, remove some conditionals in GrAAConvexPathRenderer
Review URL: http://codereview.appspot.com/5728060



git-svn-id: http://skia.googlecode.com/svn/trunk@3316 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-05 17:58:34 +00:00
bsalomon@google.com
c2099d2707 simplify GrPathRenderer interface
Review URL: http://codereview.appspot.com/5706053/



git-svn-id: http://skia.googlecode.com/svn/trunk@3312 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-02 21:26:50 +00:00
senorblanco@chromium.org
05054f1a78 Erode and dilate image filter effects, CPU and GPU implementations.
Review URL:  http://codereview.appspot.com/5656067/



git-svn-id: http://skia.googlecode.com/svn/trunk@3310 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-02 21:05:45 +00:00
bsalomon@google.com
c1dd88852a Better workaround for osx / nv bug
Review URL: http://codereview.appspot.com/5727044/



git-svn-id: http://skia.googlecode.com/svn/trunk@3308 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-02 20:36:18 +00:00
bsalomon@google.com
b4a4ab1e99 Remove offscreen supersampler.
THIS IS EXPECTED TO BREAK MANY GM TESTS. They will be rebaselined.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@3305 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-02 18:57:25 +00:00
reed@google.com
10d2d4d106 move the post cleanup of the rec until after we wack it for maskfilter
git-svn-id: http://skia.googlecode.com/svn/trunk@3297 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-01 22:32:51 +00:00
reed@google.com
48a4cbc668 add experimental files to encapsulate device-level font settings
git-svn-id: http://skia.googlecode.com/svn/trunk@3292 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-01 19:21:11 +00:00
bsalomon@google.com
5ffd5baeef Workaround for chrome on mac buffer object performance issue.
Review URL: http://codereview.appspot.com/5713051/



git-svn-id: http://skia.googlecode.com/svn/trunk@3289 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-01 15:29:07 +00:00
reed@google.com
aefdd06271 move SKPaint's defaults (that might be configurable) into a header
git-svn-id: http://skia.googlecode.com/svn/trunk@3280 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-29 13:03:00 +00:00
junov@chromium.org
5e5a095a94 reverting r3268 because of test failures
git-svn-id: http://skia.googlecode.com/svn/trunk@3270 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-28 15:27:59 +00:00
junov@chromium.org
feba689917 SkDeferredCanvas, performance: small refactor to remove unnecessary conditional branches on all canvas API calls
REVIEW=http://codereview.appspot.com/5700086/



git-svn-id: http://skia.googlecode.com/svn/trunk@3268 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-28 15:02:06 +00:00
djsollen@google.com
92d2a299d2 reapply r3259 (that was reverted) with fix.
The SkASSERT was incorrect and failing on debug runs.
Review URL: https://codereview.appspot.com/5699071

git-svn-id: http://skia.googlecode.com/svn/trunk@3263 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-27 16:17:59 +00:00
junov@chromium.org
a907ac3e3e Modify SkDeferredCanvas so that it uses its inherited SkCanvas to track matrix and clipping state
Removed 'virtual' from a few canvas methods that no longer need it thanks to this change.

BUG=http://code.google.com/p/skia/issues/detail?id=506
TEST=Canvas unit test
REVIEW=http://codereview.appspot.com/5697052/



git-svn-id: http://skia.googlecode.com/svn/trunk@3261 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 21:54:07 +00:00
djsollen@google.com
3cc0d8a6f0 reverting r3259 because of gm/test failure.
git-svn-id: http://skia.googlecode.com/svn/trunk@3260 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 21:21:51 +00:00
djsollen@google.com
42bbef71c7 Enable quickRejectY in SkCanvas to be inlined.
This CL was tested against the picturePlayback bench and
showed an approx 10-13% improvement on Android when playing
back text.
Review URL: https://codereview.appspot.com/5687083

git-svn-id: http://skia.googlecode.com/svn/trunk@3259 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 21:03:42 +00:00
junov@chromium.org
0b5b0ce39c reverting r3257 because of gm failure.
git-svn-id: http://skia.googlecode.com/svn/trunk@3258 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 20:44:56 +00:00
junov@chromium.org
421bcc375a Modify SkDeferredCanvas so that it uses its inherited SkCanvas to track matrix and clipping state
Removed 'virtual' from a few canvas methods that no longer need it thanks to this change.

BUG=http://code.google.com/p/skia/issues/detail?id=506
TEST=Canvas unit test
REVIEW=http://codereview.appspot.com/5697052/



git-svn-id: http://skia.googlecode.com/svn/trunk@3256 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 20:07:08 +00:00
bungeman@google.com
ddd0ed5607 Remove SkFontHost::ValidFontID PART 2: remove definition and skia callers not that Chrome's font host has been updated.
See also https://chromiumcodereview.appspot.com/9347043/
http://codereview.appspot.com/5654055/


git-svn-id: http://skia.googlecode.com/svn/trunk@3255 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 19:56:33 +00:00
reed@google.com
61c22047dc add SkCreateDataProviderFromStream to SkCGUtils
implement SkFontHost create_from_file/stream using SkCGUtils



git-svn-id: http://skia.googlecode.com/svn/trunk@3249 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 15:29:00 +00:00
junov@chromium.org
1cc8f6f3c4 Adding more unit testing for SkCanvas and derived classes.
BUG=http://code.google.com/p/skia/issues/detail?id=481
REVIEW=http://codereview.appspot.com/5674077/
TEST=unit test CanvasTest



git-svn-id: http://skia.googlecode.com/svn/trunk@3228 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-22 21:00:42 +00:00
djsollen@google.com
60abb078e5 Merge changes from the android repo upstream to Skia
Review URL: https://codereview.appspot.com/5545070

git-svn-id: http://skia.googlecode.com/svn/trunk@3199 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-15 18:49:15 +00:00
bsalomon@google.com
278dc6929b Use cheapComputeDirection to determine normal facing in GrAAConvexPathRenderer
Review URL: http://codereview.appspot.com/5649083/



git-svn-id: http://skia.googlecode.com/svn/trunk@3198 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-15 16:52:51 +00:00
bsalomon@google.com
178964b6f6 Misc small fixes to unblock skia roll.
git-svn-id: http://skia.googlecode.com/svn/trunk@3196 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-15 14:10:42 +00:00
tomhudson@google.com
d6770e69e0 SSE2 version of blit_lcd16, courtesy of Jin Yang.
Yields 25-30% speedup on Windows (32b), 4-7% on Linux (64b, less register
pressure), not invoked on Mac (lcd text is 32b instead of 16b).

Followup: GDI system settings on Windows can suppress LCD text for small
fonts, interfering with our benchmarks.
(http://code.google.com/p/skia/issues/detail?id=483)

http://codereview.appspot.com/5617058/



git-svn-id: http://skia.googlecode.com/svn/trunk@3189 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-14 16:01:15 +00:00
tomhudson@google.com
6bf38b59c9 Move GL-specific include files to their own subdirectory, to better
coexist alongside D3D backend.
Requires gyp change.

http://codereview.appspot.com/5665045/



git-svn-id: http://skia.googlecode.com/svn/trunk@3185 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-14 15:11:59 +00:00
junov@chromium.org
8f9ecbd346 Adding API and unit testing for deferred canvas clearing/purging
REVIEW=http://codereview.appspot.com/5646057/
TEST=DeferredCanvas unit test



git-svn-id: http://skia.googlecode.com/svn/trunk@3181 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-13 21:53:45 +00:00
reed@google.com
813d38b7a0 if SK_USE_COLOR_LUMINANCE is defined, then we store 2 bits of each component
to create a per-component-luminance value for the fonthost to use. Only supported
on Mac at the moment (but still disabled by default)



git-svn-id: http://skia.googlecode.com/svn/trunk@3180 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-13 21:37:57 +00:00
bsalomon@google.com
96399948dc Use GrGLContextInfo in shader generator
Review URL: http://codereview.appspot.com/5645083/



git-svn-id: http://skia.googlecode.com/svn/trunk@3170 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-13 14:39:16 +00:00
thakis@chromium.org
2857a784f7 Remove extra SK_API
(It's already on the class, not needed on the method too.)

Review URL: http://codereview.appspot.com/5649057/
Patch from Dominic Mazzoni <dmazzoni@chromium.org>!



git-svn-id: http://skia.googlecode.com/svn/trunk@3169 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-10 22:49:31 +00:00
reed@google.com
ce6dbb6b4c enable color-luminance in font cache (disabled by default)
git-svn-id: http://skia.googlecode.com/svn/trunk@3168 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-10 22:01:45 +00:00
bsalomon@google.com
b447d21577 Fix dumb error of starting loop with 0 instead of 1 that uses shift to increment.
git-svn-id: http://skia.googlecode.com/svn/trunk@3163 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-10 20:25:36 +00:00
bsalomon@google.com
89ec61e33d Add GrGLContextInfo
Review URL: http://codereview.appspot.com/5653060/



git-svn-id: http://skia.googlecode.com/svn/trunk@3162 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-10 20:05:18 +00:00
thakis@chromium.org
368b419200 Mark SkColorFilter and SkCreateCGImageRefWithColorspace as SK_API.
Required for the chromium/mac components build.

BUG=chromium:90078
Review URL: https://codereview.appspot.com/5642073/



git-svn-id: http://skia.googlecode.com/svn/trunk@3160 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-09 22:09:41 +00:00
senorblanco@chromium.org
dfad3832cb Add SK_API to SkPixelRef and TextureCacheEntry.
Review URL:  http://codereview.appspot.com/5649044/



git-svn-id: http://skia.googlecode.com/svn/trunk@3158 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-09 16:07:08 +00:00
bsalomon@google.com
6e85937606 Make SkGLContext's FBO creation more robust (allows test apps to run on Intel GPUs)
Review URL: http://codereview.appspot.com/5647059/



git-svn-id: http://skia.googlecode.com/svn/trunk@3157 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-09 15:25:13 +00:00
senorblanco@chromium.org
297676545d Export the texture pixelref classes via SK_API. This is necessary to reference
them from another DLL in the windows shared build.

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


git-svn-id: http://skia.googlecode.com/svn/trunk@3155 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-08 20:27:16 +00:00
vandebo@chromium.org
f724c4df1c Add SK_API to SkTableColorFilter
Patch from dmazzoni@chromium.org original CL: http://codereview.appspot.com/5645055/

Review URL: https://codereview.appspot.com/5642060

git-svn-id: http://skia.googlecode.com/svn/trunk@3153 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-08 17:01:54 +00:00
reed@google.com
e7a0a16599 store luminance in a new field
Review URL: https://codereview.appspot.com/5644047

git-svn-id: http://skia.googlecode.com/svn/trunk@3149 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-07 21:25:33 +00:00
junov@chromium.org
1f9767c03b Fixing backing store access in SkDeferredCanvas.
Chromium CL required for rolling skia DEPS past this change is posted here: https://chromiumcodereview.appspot.com/9341003/
 
BUG=http://code.google.com/p/skia/issues/detail?id=475
REVIEW=http://codereview.appspot.com/5626047/
TEST=DeferredCanvas unit test



git-svn-id: http://skia.googlecode.com/svn/trunk@3147 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-07 16:27:57 +00:00
bsalomon@google.com
4bcb0c6e03 Reland 3144 with assertion fix.
git-svn-id: http://skia.googlecode.com/svn/trunk@3146 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-07 16:06:47 +00:00
bsalomon@google.com
0439e56996 revert 3144
git-svn-id: http://skia.googlecode.com/svn/trunk@3145 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-07 15:57:36 +00:00
bsalomon@google.com
aa67735579 Allow chrome to limit the number of FBO status checks
Review URL: https://codereview.appspot.com/5635052

git-svn-id: http://skia.googlecode.com/svn/trunk@3144 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-07 15:44:39 +00:00
junov@chromium.org
2c23708e44 Removing some dead code in SkDeferredCanvas
REVIEW=http://codereview.appspot.com/5620062/



git-svn-id: http://skia.googlecode.com/svn/trunk@3140 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-03 18:32:38 +00:00
bungeman@google.com
f8d1aee252 Open type table definitions.
http://codereview.appspot.com/5577064/



git-svn-id: http://skia.googlecode.com/svn/trunk@3131 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-02 19:15:21 +00:00
bsalomon@google.com
75f9f25d8b Add code path for Gr client to resolve an Gr-created MSAA render target.
Review URL: http://codereview.appspot.com/5580049/


git-svn-id: http://skia.googlecode.com/svn/trunk@3112 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-31 13:35:56 +00:00
bsalomon@google.com
78d6cf9f43 Remove GrAALevel enum, use explicit sample count
Review URL: http://codereview.appspot.com/5600045/



git-svn-id: http://skia.googlecode.com/svn/trunk@3106 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-30 18:09:31 +00:00
reed@google.com
9efd9a048a extend fastbounds impls to include maskfilters and drawloopers. This allows
us to perform quick-rejects when drawing objects with shadows (esp. text).
WebKit draws shadows w/ a looper (fg and shadow) and a maskfilter on the
shadow layer.



git-svn-id: http://skia.googlecode.com/svn/trunk@3103 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-30 15:41:43 +00:00
junov@chromium.org
bf6c1e4aff Adding a flush method to SkCanvas
BUG=http://code.google.com/p/skia/issues/detail?id=467
REVIEW=http://codereview.appspot.com/5600044/
TEST=gm uses the new code path on all its test cases



git-svn-id: http://skia.googlecode.com/svn/trunk@3102 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-30 14:53:22 +00:00
bsalomon@google.com
7d72c45a9e code cleanup for single_pass_path() and remove enum GrConvexHint
Review URL: code cleanup for single_pass_path() and remove enum GrConvexHint



git-svn-id: http://skia.googlecode.com/svn/trunk@3099 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-30 14:02:44 +00:00
vandebo@chromium.org
74b4619616 Formatting cleanup: remove extra whitespace
Change by arthurhsu@chromium.org, original CL: http://codereview.appspot.com/5587049/

Review URL: https://codereview.appspot.com/5594043

git-svn-id: http://skia.googlecode.com/svn/trunk@3098 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-28 01:45:11 +00:00
twiz@google.com
05e70247c3 Expose functionality to purge the GPU texture cache while running SampleApp.
Press 'p' to purge the cache.  A summary of the number of bytes of video memory
released is output to the command prompt.
Review URL: https://codereview.appspot.com/5587045

git-svn-id: http://skia.googlecode.com/svn/trunk@3097 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-27 19:12:00 +00:00
bsalomon@google.com
b1caea00d8 Rip out GrPlatformSurface (has been deprecated for some time, use GrPlatformTexture or GrPlatformRenderTarget instead)
Review URL: http://codereview.appspot.com/5576052/



git-svn-id: http://skia.googlecode.com/svn/trunk@3094 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-27 00:47:24 +00:00
digit@google.com
1771cbf43d posix: Avoid static initializers in static/global mutexes
This patch removes static initializers related to static and
global mutexes from the final library's machine code when
building on a pthread-capable system.

We use PTHREAD_MUTEX_INITIALIZER to perform POD-style
initialization. You need a line like the following to declare
a global mutex with it:

    SkBaseMutex gMutex = { PTHREAD_MUTEX_INITIALIZER };

We introduce the SK_DECLARE_STATIC_MUTEX and SK_DECLARE_GLOBAL_MUTEX
macros to be able to declare static/global mutexes in the source tree
uniformly.

SkMutex is now defined as a sub-class of SkBaseMutex, with standard
construction/destruction semantics. This is useful if the mutex
object is a member of another C++ class, or allocated dynamically.

We also modify a few places to refer to SkBaseMutex instead of a
SkMutex, where it makes sense. Generally speaking, client code
should hold and use pointers to SkBaseMutex whenever they can
now.

We defined a new built-time macro named SK_USE_POSIX_THREADS
to indicate that we're using a pthread-based SkThread.h
interface. The macro will also be used in future patches
to implement other helper thread synchronization classes.

Finally, we inline the acquire() and release() functions in the
case of Posix to improve performance a bit.

Running: 'bench -repeat 10 -match mutex' on an Android device or
a 2.4GHz Xeon Linux desktop shows the following improvements:

                      Before     After

        Galaxy Nexus    1.64      1.45
        Nexus S         1.47      1.16
        Xoom            1.86      1.66
        Xeon            0.36      0.31

This removes 5 static mutex initializers from the library
Review URL: https://codereview.appspot.com/5501066

git-svn-id: http://skia.googlecode.com/svn/trunk@3091 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-26 21:26:40 +00:00
reed@google.com
8bb3ba151e need to include SkColorFilter.h since we reference some methods on it
in our inline functions.



git-svn-id: http://skia.googlecode.com/svn/trunk@3089 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-26 04:13:31 +00:00
reed@google.com
6d428d3e6e Make SkRegion::operator== a member function, rather than a privately-declared
friend.  Without this, calling code has access to operator==, but can fail to
link because the implementation is assumed to have static linkage.

http://codereview.appspot.com/5577047/



git-svn-id: http://skia.googlecode.com/svn/trunk@3088 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-25 21:53:53 +00:00
bsalomon@google.com
4f3c253ece Add flag to disable gl error checking when allocating gpu objects
Review URL: http://codereview.appspot.com/5558052/



git-svn-id: http://skia.googlecode.com/svn/trunk@3075 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-19 16:16:52 +00:00
tomhudson@google.com
13e812c69a Interpolate vertical linear gradients for improved quality.
Consolidate interpolation functions, add new faster more accurate dithering
interpolator.



git-svn-id: http://skia.googlecode.com/svn/trunk@3072 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-18 21:28:01 +00:00
bsalomon@google.com
dd1be60702 Pull xfer mode test out of generic draw-as-hairline test. Use coverage rather than alpha to draw hairlines < 1pix wide in GPU.
Review URL: http://codereview.appspot.com/5528112/




git-svn-id: http://skia.googlecode.com/svn/trunk@3070 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-18 20:34:00 +00:00
schenney@chromium.org
f4b07328df Somehow this change was missing from the previous commit.
git-svn-id: http://skia.googlecode.com/svn/trunk@3063 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-18 18:06:10 +00:00
schenney@chromium.org
a6d04d90e2 Fixing the behavior of SkPathMeasure to reflect changes in SkPath::Iter.
This implementation modifies SkPath::Iter extensively to avoid copying
the points when used to measure path length.

BUG=446
TEST=tests/PathMeasureTest.cpp
Review URL: https://codereview.appspot.com/5533074

git-svn-id: http://skia.googlecode.com/svn/trunk@3062 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-18 18:02:10 +00:00
reed@google.com
8351aabbfe add GenA8FromLCD as a hack to force GDI to create the A8 mask from the LCD
results, rather than asking GDI directly for A8 (which it sometimes decides
to interpret as BW)



git-svn-id: http://skia.googlecode.com/svn/trunk@3061 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-18 17:06:35 +00:00
junov@google.com
4370aedf7f Adding class SkDeferredCanvas for deferred rendering.
TEST=added a new pass to gm, so all gm tests are run through SkDeferredCanvas
REVIEW=http://codereview.appspot.com/5430058/



git-svn-id: http://skia.googlecode.com/svn/trunk@3059 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-18 16:21:08 +00:00
reed@google.com
d335d1d784 automatically inject a moveTo if we see a close followed by a line/quad/cubic
git-svn-id: http://skia.googlecode.com/svn/trunk@3027 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-12 18:17:11 +00:00
reed@google.com
dcbd6e358a remove unused bool param to SkMutex constructor
git-svn-id: http://skia.googlecode.com/svn/trunk@3025 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-12 15:21:16 +00:00
bsalomon@google.com
dafde9e2c1 Remove shadersupport caps bit
Review URL: http://codereview.appspot.com/5528076/



git-svn-id: http://skia.googlecode.com/svn/trunk@3015 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-11 18:45:39 +00:00
digit@google.com
f66436cff7 android: optimize atomics routines
This patch provides a slightly optimized implementation of
atomic increment/decrement functions by using static inlined
versions of the gcc intrinsics.
Review URL: http://codereview.appspot.com/5498069

git-svn-id: http://skia.googlecode.com/svn/trunk@3012 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-11 17:44:41 +00:00
senorblanco@chromium.org
c79fd6ea3f Export SkColorMatrixFilter via SK_API.
Review URL:  http://codereview.appspot.com/5534064/



git-svn-id: http://skia.googlecode.com/svn/trunk@3006 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-10 21:56:40 +00:00
reed@google.com
69a9943b67 add SkPath::cheapComputeDirection() plus unittests
git-svn-id: http://skia.googlecode.com/svn/trunk@2996 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-10 18:00:10 +00:00
reed@google.com
63d73749fb add SkPath::reverseAddPath()
git-svn-id: http://skia.googlecode.com/svn/trunk@2995 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-10 15:33:12 +00:00
djsollen@google.com
a44e6c6b53 Add ARM optimizations to the build.
Also had to fix a problem in the ARM memset code that was
causing some tests and bench to fail.
Review URL: http://codereview.appspot.com/5522052

git-svn-id: http://skia.googlecode.com/svn/trunk@2989 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-09 14:38:25 +00:00
reed@google.com
b55deeb1c7 add allowImageFilter() so a device can allow/disallow filters
(esp. for printing)



git-svn-id: http://skia.googlecode.com/svn/trunk@2981 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-06 14:43:09 +00:00
reed@google.com
76dd277b1f add filterImage() entry-point to SkDevice, to allow it to specialize on subclasses
of SkImageFilter. If that returns false, then the filter itself is invoked.



git-svn-id: http://skia.googlecode.com/svn/trunk@2977 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-05 21:15:07 +00:00
reed@google.com
7191840eec add asComponentTable() query (will impl in SkTableColorFilter next)
git-svn-id: http://skia.googlecode.com/svn/trunk@2971 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-05 17:24:35 +00:00
caryclark@google.com
d53f7c28bf make getOrigin() public so callers can adjust layer
git-svn-id: http://skia.googlecode.com/svn/trunk@2970 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-05 17:05:05 +00:00
bsalomon@google.com
280e99f1a6 Add support for GL texture storage
Review URL: http://codereview.appspot.com/5462046/



git-svn-id: http://skia.googlecode.com/svn/trunk@2966 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-05 16:17:38 +00:00
mike@reedtribe.org
f58f9f62d7 remove as these are replaced by SkJSON
git-svn-id: http://skia.googlecode.com/svn/trunk@2965 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-05 03:10:59 +00:00
schenney@chromium.org
6630d8d8ea 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
2012-01-04 21:05:51 +00:00
mike@reedtribe.org
0e3c9caae5 add count(), fix bad llist logic in remove()
git-svn-id: http://skia.googlecode.com/svn/trunk@2958 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-04 11:37:46 +00:00
mike@reedtribe.org
e4058b402f add Object::remove, some dox, leak debugging code
git-svn-id: http://skia.googlecode.com/svn/trunk@2957 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-04 03:37:40 +00:00
senorblanco@chromium.org
50bdad85db 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
2012-01-03 20:51:57 +00:00
reed@google.com
abf00aaaa0 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
2012-01-03 19:43:20 +00:00
tomhudson@google.com
d5d9dadcdd 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
2012-01-03 14:52:37 +00:00
mike@reedtribe.org
0f175a6dab experiment #2 for JSON data
git-svn-id: http://skia.googlecode.com/svn/trunk@2940 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-02 00:34:50 +00:00
mike@reedtribe.org
41f1c46ddc add experimental class for json
git-svn-id: http://skia.googlecode.com/svn/trunk@2939 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-31 01:58:40 +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
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
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
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
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
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
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
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
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
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
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
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
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
junov@chromium.org
b052129a41 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
2011-12-15 20:14:06 +00:00
caryclark@google.com
d26147adbb 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
2011-12-15 14:16:43 +00:00
reed@google.com
7c2029367c 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
2011-12-14 18:48:05 +00:00
bsalomon@google.com
aa814fe4a1 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
2011-12-12 18:45:07 +00:00
bsalomon@google.com
1e266f8ff2 Remove GrDrawState::setSampler, use direct access to sampler
Review URL: http://codereview.appspot.com/5476052/



git-svn-id: http://skia.googlecode.com/svn/trunk@2852 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-12 16:11:33 +00:00
bsalomon@google.com
1fadb20c50 Remove static initiazled gClampNearest in gpu backend
Review URL: http://codereview.appspot.com/5487044/


git-svn-id: http://skia.googlecode.com/svn/trunk@2851 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-12 16:10:08 +00:00
mike@reedtribe.org
e51755fc64 add first cut at arithmetic mode
git-svn-id: http://skia.googlecode.com/svn/trunk@2849 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-10 19:36:56 +00:00
djsollen@google.com
59204b4813 Closing fd for mmap after mapping succeeds.
Review URL: http://codereview.appspot.com/5467058

git-svn-id: http://skia.googlecode.com/svn/trunk@2847 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-09 21:19:38 +00:00
bsalomon@google.com
07dd2bfd74 Add support for GL_ANGLE_texture_usage
Review URL: http://codereview.appspot.com/5478052/



git-svn-id: http://skia.googlecode.com/svn/trunk@2845 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-09 19:40:36 +00:00
junov@chromium.org
b6e161937b Adding isOpaque method to skia shader classes
REVIEW=http://codereview.appspot.com/5451102/
TEST=unit test ShaderOpacity



git-svn-id: http://skia.googlecode.com/svn/trunk@2840 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-09 15:48:03 +00:00
reed@google.com
982cb875f0 add SK_OVERRIDE, move subclass impls of virtuals into .cpp
git-svn-id: http://skia.googlecode.com/svn/trunk@2823 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-07 18:34:08 +00:00
reed@google.com
7716afbb97 add SK_OVERRIDEs
git-svn-id: http://skia.googlecode.com/svn/trunk@2820 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-07 15:17:50 +00:00
reed@google.com
75d939b549 add SK_OVERRIDEs, move impl of virtuals into .cpp
git-svn-id: http://skia.googlecode.com/svn/trunk@2819 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-07 15:07:23 +00:00
reed@google.com
59ccef695c add more SK_OVERRIDEs
update dox for SkEmptyShader



git-svn-id: http://skia.googlecode.com/svn/trunk@2817 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-07 14:59:50 +00:00
reed@google.com
43d748446a don't specify default parameter values when overriding a method
git-svn-id: http://skia.googlecode.com/svn/trunk@2816 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-07 14:46:39 +00:00
reed@google.com
5ae777dcad rename sk_float_isNaN to sk_float_isnan to match related functions
add sk_float_isinf returning non-zero if the argument is +/- infinity



git-svn-id: http://skia.googlecode.com/svn/trunk@2813 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-06 20:18:05 +00:00
reed@google.com
1607863b60 rename hasValidCoordinates to isFinite (on SkRect) and reimplement for speed
git-svn-id: http://skia.googlecode.com/svn/trunk@2811 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-06 18:56:37 +00:00
bsalomon@google.com
9791291347 Prep for GrDrawState as a class Part 2
Review URL: http://codereview.appspot.com/5450105/



git-svn-id: http://skia.googlecode.com/svn/trunk@2810 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-06 16:30:36 +00:00
bsalomon@google.com
39ee0ffa72 Prep #1 for making GrDrawState a class
Review URL: http://codereview.appspot.com/5437138/




git-svn-id: http://skia.googlecode.com/svn/trunk@2808 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-06 15:32:52 +00:00
bsalomon@google.com
5bc34f04fe Remove fConfig/fFormat union in GrTextureDesc
Review URL: http://codereview.appspot.com/5448116/


git-svn-id: http://skia.googlecode.com/svn/trunk@2806 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-06 14:46:34 +00:00
reed@google.com
c2f8e9a500 make _isnan windows specific
git-svn-id: http://skia.googlecode.com/svn/trunk@2804 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-05 21:51:36 +00:00
reed@google.com
61873a59d7 add sk_float_isfinite to mask platform differences
git-svn-id: http://skia.googlecode.com/svn/trunk@2803 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-05 21:47:25 +00:00
senorblanco@chromium.org
ef843cdcd1 When a bitmap is texture-backed, change SkBitmap::copyTo() to do a deep
copy of the texels in VRAM rather than a readback and re-upload.  This
gives a 3-10X speedup on recursive canvas-to-canvas draws.

N.B.:  This introduces a new GM test, which will need new baselines.



git-svn-id: http://skia.googlecode.com/svn/trunk@2790 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-02 19:11:17 +00:00
reed@google.com
a89c77b5ca revert 2783 -- broke debug gm
git-svn-id: http://skia.googlecode.com/svn/trunk@2784 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-01 21:47:26 +00:00
tomhudson@google.com
f974a5d782 New function SkBlitter::blitAntiRect(); specifically accelerated for
supersampled antialiased clips.



git-svn-id: http://skia.googlecode.com/svn/trunk@2783 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-01 21:09:00 +00:00
tomhudson@google.com
05fffdcc91 Doxygen configuration file, documentation and minor cleanup on blitters.
git-svn-id: http://skia.googlecode.com/svn/trunk@2782 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-01 20:41:24 +00:00