robertphillips@google.com
ac2c666e27
Rolling back r4049
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4051 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-25 12:46:55 +00:00
robertphillips@google.com
837576bf89
Altered GrDrawState to always ref textures and render target
...
http://codereview.appspot.com/6251049/
git-svn-id: http://skia.googlecode.com/svn/trunk@4049 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-25 11:45:40 +00:00
reed@google.com
fd4be26c42
Change patheffect to take a (new) StrokeRec object, which encapsulates the fill
...
or stroke parameters for a path.
Today, the patheffect only sees if the caller was going to stroke or fill, and
if stroke, it just sees the width. With this change, the effect can see all of the
related parameters (e.g. cap/join/miter). No other change is intended at this
time.
After this change, I hope to use this additional data to allow SkDashPathEffect
to, at times, apply the stroke as part of its effect, which may be much more
efficient than first dashing, and then reading that and stroking it.
Most of these files changed just because of the new parameter to filterPath. The
key changes are in SkPathEffect.[h,cpp], SkPaint.cpp and SkScalerContext.cpp
Review URL: https://codereview.appspot.com/6250051
git-svn-id: http://skia.googlecode.com/svn/trunk@4048 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-25 01:04:12 +00:00
reed@google.com
d3521f1a8d
revert 4046 -- GM:pathfill failed on one bot, maybe uninitialized memory somewhere?
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4047 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-24 20:32:22 +00:00
reed@google.com
9797272edf
Change patheffect to take a (new) StrokeRec object, which encapsulates the fill
...
or stroke parameters for a path.
Today, the patheffect only sees if the caller was going to stroke or fill, and if
stroke, it just sees the width. With this change, the effect can see all of the
related parameters (e.g. cap/join/miter). No other change is intended at this
time.
After this change, I hope to use this additional data to allow SkDashPathEffect
to, at times, apply the stroke as part of its effect, which may be much more
efficient than first dashing, and then reading that and stroking it.
Most of these files changed just because of the new parameter to filterPath. The
key changes are in SkPathEffect.[h,cpp], SkPaint.cpp and SkScalerContext.cpp
Review URL: https://codereview.appspot.com/6249050
git-svn-id: http://skia.googlecode.com/svn/trunk@4046 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-24 20:13:57 +00:00
robertphillips@google.com
72176b2d38
Removed SoftwarePathRenderer from GrContext's path renderer chain
...
http://codereview.appspot.com/6221065/
git-svn-id: http://skia.googlecode.com/svn/trunk@4036 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-23 13:19:12 +00:00
robertphillips@google.com
49d9fd5fdb
Plumbing to propagate save & restore from SkCanvas down to GrContext & lower
...
http://codereview.appspot.com/6203067/
git-svn-id: http://skia.googlecode.com/svn/trunk@4034 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-23 11:44:08 +00:00
robertphillips@google.com
2c75681e36
Remove GrClipMaskManager's path renderer chain (in favor of GrContext's)
...
http://codereview.appspot.com/6211078/
git-svn-id: http://skia.googlecode.com/svn/trunk@4032 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-22 20:28:23 +00:00
bsalomon@google.com
16fd21ba22
Rename GrProgramStageFactory::stageKey to GrProgramStageFactory::glStageKey since it is GL-specific
...
Review URL: http://codereview.appspot.com/6218060/
git-svn-id: http://skia.googlecode.com/svn/trunk@4020 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-21 21:18:13 +00:00
bsalomon@google.com
289efe014a
Tunnel name requests through factory, forcing custom effect and custom prog stage to use same impl
...
Review URL: http://codereview.appspot.com/6220061/
git-svn-id: http://skia.googlecode.com/svn/trunk@4019 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-21 20:57:59 +00:00
reed@google.com
1f1db4cc5b
update dox for NewFromMalloc() to clarify ownership
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4017 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-21 20:00:39 +00:00
bsalomon@google.com
7c4d06de41
Make static const var that is only used in an assert be defined in the debug build only to suppress an unused var warning.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4012 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-21 15:31:00 +00:00
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