reed@google.com
84e9c0801f
speed up 2-point-radial gradients by 9x, using float instead of fixed
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1118 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-13 17:44:24 +00:00
wjmaclean@chromium.org
1fbf760a12
Fix SkFixed overflows in SkFixedSquare, SkGradientShader.
...
Return SK_FixedMax when overflow occurs.
git-svn-id: http://skia.googlecode.com/svn/trunk@1117 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-13 13:31:06 +00:00
bsalomon@google.com
dc66c42d7d
Fix Two Pt Radial when circles are concentric.
...
Review URL: http://codereview.appspot.com/4368047/
git-svn-id: http://skia.googlecode.com/svn/trunk@1069 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-06 19:35:37 +00:00
reed@google.com
7c2f27d788
make asABitmap() const
...
change private cache fields in gradient to be mutable
git-svn-id: http://skia.googlecode.com/svn/trunk@898 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-07 19:29:00 +00:00
vandebo@chromium.org
d3ae77965e
Add asAGradient shader extraction API.
...
Store initial gradient parameters.
Add compile asserts in GPU code for BitmapType ordering.
Review URL: http://codereview.appspot.com/4178063
git-svn-id: http://skia.googlecode.com/svn/trunk@845 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-24 00:21:06 +00:00
reed@google.com
82065d667f
remove SkRefCnt safeRef() and safeUnref(), and replace the call-sites with
...
SkSafeRef() and SkSafeUnref().
This is basically a bug waiting to happen. An optimizing compiler can remove
checks for null on "this" if it chooses. However, SkRefCnt::safeRef() relies on
precisely this check...
void SkRefCnt::safeRef() {
if (this) {
this->ref();
}
}
Since a compiler might skip the if-clause, it breaks the intention of this
method, hence its removal.
static inline void SkSafeRef(SkRefCnt* obj) {
if (obj) {
obj->ref();
}
}
This form is not ignored by an optimizing compile, so we use it instead.
git-svn-id: http://skia.googlecode.com/svn/trunk@762 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-07 15:30:46 +00:00
reed@google.com
9c7443db62
add SK_DISABLE_DITHER_32BIT_GRADIENT flag. If defined, disables the newly added
...
dithering for 32bit linear gradients.
git-svn-id: http://skia.googlecode.com/svn/trunk@699 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-17 18:46:37 +00:00
reed@google.com
55b8e8c81a
add dithering to 32bit linear gradients
...
git-svn-id: http://skia.googlecode.com/svn/trunk@691 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-13 16:22:35 +00:00
reed@google.com
dc731fd483
merge in gpu changes to gradientshaders
...
git-svn-id: http://skia.googlecode.com/svn/trunk@655 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 15:19:47 +00:00
reed@android.com
e191b16fda
update windows port
...
git-svn-id: http://skia.googlecode.com/svn/trunk@461 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-12-18 21:33:39 +00:00
reed@android.com
200645d50e
fix repeat/mirror for new larger 16bit cache
...
update gm images
git-svn-id: http://skia.googlecode.com/svn/trunk@459 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-12-14 16:41:57 +00:00
reed@android.com
512a87641f
make the 16bit cache larger, to handle multiple colors in the gradient w/o
...
obvious artifacts. We need a more comprehensive fix for all gradients (32bit
and 16bit) when we have a large number of colors (or they are spaced out very
non-linearly), to avoid banding.
git-svn-id: http://skia.googlecode.com/svn/trunk@458 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-12-14 15:25:36 +00:00
reed@android.com
bcfc73321d
flatten/unflatten custom fields for 2-point gradient
...
git-svn-id: http://skia.googlecode.com/svn/trunk@423 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-10 16:19:39 +00:00
reed@android.com
6c59a17e1b
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
2009-09-22 20:24:05 +00:00
senorblanco@chromium.org
7ef071fc2f
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
2009-09-22 17:25:29 +00:00
reed@android.com
3c9b2a4a0e
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
2009-08-27 19:28:37 +00:00
reed@android.com
3d06a8c38d
add FIXME to comment
...
git-svn-id: http://skia.googlecode.com/svn/trunk@253 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-07 18:19:59 +00:00
reed@android.com
1c12abe350
fix gradients with alpha to convert to premul *after* the intermediate color
...
has been computed, othewise we can't distinguish 0x00000000 from 0x00FF0000
Add fast case for index blit where we read 4 src pixels at a time
git-svn-id: http://skia.googlecode.com/svn/trunk@248 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-02 15:01:02 +00:00
reed@android.com
ab840b81a9
remove (ack) test code in lineargradient when pos array is null
...
git-svn-id: http://skia.googlecode.com/svn/trunk@247 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-01 17:00:03 +00:00
reed@android.com
5119bdb952
add shader flag kConstInY_Flag
...
this signals blitters that the shader will return the same results for a given
x value, independent of y. Useful inside blitRect(), where it can cache the
first call to shadeSpan() and reuse it on all subsequent scans. Works with
(non-rotated) linear-gradients, and Nx1 bitmaps.
git-svn-id: http://skia.googlecode.com/svn/trunk@214 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-12 21:27:03 +00:00
reed@android.com
b2c5f2d260
make the same prerounding fix for the shadeSpan16 case
...
git-svn-id: http://skia.googlecode.com/svn/trunk@213 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-12 20:09:24 +00:00
reed@android.com
c552a43c7f
preround our fx fractional coordiante, so we get rounded integers (0..255) when
...
stepping through the gradient.
git-svn-id: http://skia.googlecode.com/svn/trunk@212 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-12 20:02:50 +00:00
reed@android.com
ec3d6e5a2f
update for cache updates
...
git-svn-id: http://skia.googlecode.com/svn/trunk@202 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-05 14:43:55 +00:00
reed@android.com
9b46e77ec2
fix dumpcanvas to recurse on pictures and shapes
...
add cached bitmap for gradients to avoid thrashing textures in gl
git-svn-id: http://skia.googlecode.com/svn/trunk@201 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-05 12:24:41 +00:00
reed@android.com
4a7fd2bd27
initialize fFlags in gradients
...
fix trailing WS in SkGLDevice
git-svn-id: http://skia.googlecode.com/svn/trunk@198 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-02 19:46:20 +00:00
reed@android.com
41bccf55b5
extend gradients to handle (by clamping) the first and last color position if
...
it is not at 0 or 1.
git-svn-id: http://skia.googlecode.com/svn/trunk@146 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-03 13:33:51 +00:00
reed@android.com
fc25abdabf
fix warnings
...
git-svn-id: http://skia.googlecode.com/svn/trunk@68 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-15 14:38:33 +00:00
reed@android.com
0becfc5b76
add optimization for width==1 bitmaps in shader procs
...
odd warning fixes and cleanup
git-svn-id: http://skia.googlecode.com/svn/trunk@63 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-13 13:26:44 +00:00
reed@android.com
8a1c16ff38
grab from latest android
...
git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-17 15:59:43 +00:00