bsalomon@google.com
a4d8fc2473
Stop using GrDrawState to track GPU's blend state
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4007 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-21 13:21:46 +00:00
bsalomon@google.com
8e520fc249
fix build?
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4004 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-18 20:06:45 +00:00
bsalomon@google.com
ae4f96a9e0
Some refactoring of GrCustomStage and friends
...
Review URL: http://codereview.appspot.com/6209071/
git-svn-id: http://skia.googlecode.com/svn/trunk@4003 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-18 19:54:48 +00:00
tomhudson@google.com
ffe39bd3b6
Fix type errors and a few warnings for Visual Studio 2010 64-bit build.
...
We're still far from 64b statically safe, mostly around SkReader32.h
and the address-alignment code in GrTypes.h.
Original code provided by jianliang79.
http://code.google.com/p/skia/issues/detail?id=601
git-svn-id: http://skia.googlecode.com/svn/trunk@3994 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-17 15:38:00 +00:00
reed@google.com
ebd24962df
change SkChunkAlloc to grow its allocations geometrically (not linearly)
...
plus add a bench and unittest for it.
git-svn-id: http://skia.googlecode.com/svn/trunk@3989 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-17 14:28:11 +00:00
reed@google.com
803c67dbd7
change SetTLSFontCacheLimit to be void, since it doesn't easily know the prev value
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3987 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-17 13:50:36 +00:00
reed@google.com
6172d67d1c
Allow font-cache to use thread_local_storage for a private cache
...
Review URL: https://codereview.appspot.com/6200051
git-svn-id: http://skia.googlecode.com/svn/trunk@3986 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-17 13:38:03 +00:00
reed@google.com
ff0da4ff48
Mutexes in pixelrefs were done very sloppily initially. The code (a) assumes all
...
pixelref subclasses want a mutex to guard their lock/unlock virtuals, and (b)
most subclasses use the same mutex for *all* of their instances, even when there
is no explicit need to guard modifying one instances with another.
When we try drawing bitmaps from multiple threads, we are seeing a lot of slow-
down from these mutexes. This CL has two changes to try to speed things up.
1. Add setPreLocked(), for pixelrefs who never need the onLockPixels
virtual to be called. This speeds up those subclasses in multithreaded environs
as it avoids the mutex lock all together (e.g. SkMallocPixelRef).
2. Add setMutex() to allow a subclass to change the mutex choice. ashmem wants
this, since its unflattening constructor cannot pass down the null, it needs
to cleanup afterwards.
Review URL: https://codereview.appspot.com/6199075
git-svn-id: http://skia.googlecode.com/svn/trunk@3985 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-17 13:14:52 +00:00
bungeman@google.com
526956644a
Add 'inline' to suppress unused warnings with Android NDK build.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3982 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 20:37:39 +00:00
reed@google.com
73a025811c
computeFastStrokeBounds needs to pass kStroke_Style instead of kFill_Style (ya think?)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3981 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 19:21:12 +00:00
reed@google.com
115d931d2f
pass the region-op to the clipstack for SkCanvas::clipRegion.
...
we were defaulting to intersect all the time (doh).
git-svn-id: http://skia.googlecode.com/svn/trunk@3980 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 18:50:40 +00:00
bungeman@google.com
20a0477009
Fix new atomic declarations for Android.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3979 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 18:37:31 +00:00
bungeman@google.com
a02bc1519c
WeakRefCnt
...
http://codereview.appspot.com/5649046/
git-svn-id: http://skia.googlecode.com/svn/trunk@3978 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 18:21:56 +00:00
reed@google.com
4a3b714d73
Iter::next takes a bool (defaults to true for now) if we want to consume degenerates.
...
path-filling and stroking pass false, as they already are written to handle
small segments (and it makes next() run 2x faster if you pass false).
Review URL: https://codereview.appspot.com/6214049
git-svn-id: http://skia.googlecode.com/svn/trunk@3974 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 17:16:46 +00:00
reed@google.com
d5f20797e1
can't make the compute-bounds methods private yet :(
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3969 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 14:15:02 +00:00
reed@google.com
a584aed5f7
perform quickReject in drawPoints (which is called by drawLine) just like we
...
already did in drawRect and drawPath
git-svn-id: http://skia.googlecode.com/svn/trunk@3968 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 14:06:02 +00:00
reed@google.com
7b463acd46
speedup SkRect::isFinite() (almost 2x)
...
add SkRect:set(p0, p1) for quick bounds of 2 points
git-svn-id: http://skia.googlecode.com/svn/trunk@3967 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 13:35:36 +00:00
reed@google.com
5dd510f1d2
update dox for copy-constructor
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3966 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 13:04:22 +00:00
reed@google.com
e4f10a7080
add computeFastBounds to SkPathEffect, so we can attempt quickReject
...
Review URL: https://codereview.appspot.com/6209070
git-svn-id: http://skia.googlecode.com/svn/trunk@3964 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-15 20:47:50 +00:00
reed@google.com
97ecd1d454
update dox for measureText
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3960 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-15 19:25:17 +00:00
reed@google.com
9e25dbf589
remove null-check in SKPath::Iter::next() -- not needed, and slows us down a little
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3944 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-15 17:05:38 +00:00
robertphillips@google.com
6623fcd1ee
Convert AAClipCache's GrRects to GrIRects
...
http://codereview.appspot.com/6210057/
git-svn-id: http://skia.googlecode.com/svn/trunk@3942 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-15 16:47:23 +00:00
robertphillips@google.com
f105b10926
Made clip mask cache use Scratch Texture system
...
http://codereview.appspot.com/6210044/
git-svn-id: http://skia.googlecode.com/svn/trunk@3920 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-14 12:18:26 +00:00
bsalomon@google.com
341767c9fc
Remove support for vertex attribute matrices
...
Review URL: http://codereview.appspot.com/6200065/
git-svn-id: http://skia.googlecode.com/svn/trunk@3917 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-11 20:47:39 +00:00
reed@google.com
880dc472ab
add dox for Shaders, and how the paint's alpha modulates the shader's colors.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3909 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-11 14:47:03 +00:00
robertphillips@google.com
5d64068a36
Warn if return values from SkRect's Make* methods are ignored
...
http://codereview.appspot.com/6200060/
git-svn-id: http://skia.googlecode.com/svn/trunk@3894 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-10 14:50:44 +00:00
reed@google.com
7e6c4d1601
add SkPath::isLine(), similar to isRect()
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3892 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-10 14:05:43 +00:00
reed@google.com
75a0972dd7
move SkStrokePathEffect into hiding for now, as its functionality is rethought.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3890 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-10 12:56:16 +00:00
robertphillips@google.com
bf5cad4e9c
Added documentation of stage/TU allocation
...
http://codereview.appspot.com/6199058/
git-svn-id: http://skia.googlecode.com/svn/trunk@3888 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-10 12:40:40 +00:00
tomhudson@google.com
d8f856c32b
Move convolution from code in GrGLProgram to new GrConvolutionEffect
...
class. This is the first test of the new Ganesh shader pipeline.
Also includes some cleanup of the gpu.gyp file: added src/gpu, allowing
us to remove ../ from many #include directives.
http://codereview.appspot.com/6199053/
git-svn-id: http://skia.googlecode.com/svn/trunk@3887 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-10 12:13:36 +00:00
reed@google.com
f51018d8f9
allow SkAutoTUnref to be used syntactially as the object is refs
...
Review URL: https://codereview.appspot.com/6189059
git-svn-id: http://skia.googlecode.com/svn/trunk@3870 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-08 18:08:49 +00:00
bsalomon@google.com
cc61b17628
Comment improvements to GrGLInterface
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3865 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 21:45:48 +00:00
bsalomon@google.com
637d5e9297
Move GL function prototype typdefs to a separate header
...
Review URL: http://codereview.appspot.com/6189054/
git-svn-id: http://skia.googlecode.com/svn/trunk@3864 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 21:33:56 +00:00
reed@google.com
0389d93314
remove unused ptr/len parameters from CreateTypeface
...
Review URL: https://codereview.appspot.com/6201056
git-svn-id: http://skia.googlecode.com/svn/trunk@3862 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 21:06:55 +00:00
reed@google.com
82d447d4f1
revert TLS change (until we impl windows backend)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3858 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 19:27:18 +00:00
reed@google.com
09dcf754ff
allow thread-local font cache
...
Review URL: https://codereview.appspot.com/6101053
git-svn-id: http://skia.googlecode.com/svn/trunk@3857 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 19:12:04 +00:00
bsalomon@google.com
2717d56b22
move more stuff that should be private out from GrGLConfig.h
...
Review URL: http://codereview.appspot.com/6202053/
git-svn-id: http://skia.googlecode.com/svn/trunk@3856 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 19:10:52 +00:00
bsalomon@google.com
91bcc94e87
Make GrGLDefines.h be a private header
...
Review URL: http://codereview.appspot.com/6198048/
git-svn-id: http://skia.googlecode.com/svn/trunk@3851 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 17:28:41 +00:00
bsalomon@google.com
9c1f1ac5d3
Move function decls and macros out of public headers that are meant for internal use.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3849 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 17:09:37 +00:00
reed@google.com
c7a67cb57e
Just use std qsort
...
Review URL: https://codereview.appspot.com/6195052
git-svn-id: http://skia.googlecode.com/svn/trunk@3846 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 14:52:12 +00:00
reed@google.com
e3987da2d2
make CanNormalize inline for the float build (big speedup for PathIter)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3845 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 13:51:05 +00:00
reed@google.com
99c114e0ac
We were numerically overflowing our 16bit coordinates that we communicate
...
between these two procs. The fixes was in two parts:
1. Just don't draw bitmaps larger than 64K-1 in width or height, since we
can't represent those coordinates in our transport format (yet).
2. Perform an unsigned shift during the calculation, so we don't get
sign-extension bleed when packing the two values (X,Y) into our 32bit
slot.
Review URL: https://codereview.appspot.com/6173046
git-svn-id: http://skia.googlecode.com/svn/trunk@3836 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-03 20:14:26 +00:00
epoger@google.com
58b8d4a7a8
recreate http://codereview.appspot.com/6131051/ in svn instead of git
...
Review URL: https://codereview.appspot.com/6181044
git-svn-id: http://skia.googlecode.com/svn/trunk@3829 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-03 14:02:17 +00:00
reed@google.com
9c36a76102
store x-interval-count per scanline, so we can skip lines in O(1)
...
Review URL: https://codereview.appspot.com/6147043
git-svn-id: http://skia.googlecode.com/svn/trunk@3825 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-02 18:07:33 +00:00
djsollen@google.com
f0a062bc45
Add device to top level N-way canvas.
...
Review URL: https://codereview.appspot.com/6131062
git-svn-id: http://skia.googlecode.com/svn/trunk@3811 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-01 16:50:25 +00:00
reed@google.com
af7e6943b7
record yspancount and intervalcount in regions
...
Review URL: https://codereview.appspot.com/6132055
git-svn-id: http://skia.googlecode.com/svn/trunk@3808 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-01 14:43:22 +00:00
tomhudson@google.com
b88bbd2a53
Make GrSamplerState::operator==() use GrCustomStage::isEquivalent() rather
...
than just bit-compare all fields.
git-svn-id: http://skia.googlecode.com/svn/trunk@3805 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-01 12:48:07 +00:00
tomhudson@google.com
02b1ea24fd
Add comparison and assignment operators to GrSamplerState.
...
http://codereview.appspot.com/6137058/
git-svn-id: http://skia.googlecode.com/svn/trunk@3803 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-30 20:19:07 +00:00
robertphillips@google.com
443e5a52b7
Re-adding red texture support (by rolling back r3800)
...
http://code.google.com/p/skia/source/detail?r=3622 - for original review
http://crbug.com/125596 ('M20 windows renderer stability maze') - for issue
git-svn-id: http://skia.googlecode.com/svn/trunk@3802 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-30 20:01:21 +00:00
epoger@google.com
0048469578
Roll back http://code.google.com/p/skia/source/detail?r=3622 to deal with http://crbug.com/125596 ('M20 windows renderer stability maze')
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3800 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-30 19:02:08 +00:00