Commit Graph

63 Commits

Author SHA1 Message Date
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
bsalomon@google.com
18908aacf3 When we create the GL context and FBO on mac for the GM test also setup the viewport and clear the stencil.
In GrGpuGL::readPixels make sure current rendertarget has been made current in GL before calling glReadPixels



git-svn-id: http://skia.googlecode.com/svn/trunk@761 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-07 14:51:55 +00:00
reed@google.com
c921843d85 fixes for some warnings:
- #if of something that was not defined
- explicit constructor call for baseclass in copy-constructor of subclass

http://code.google.com/p/skia/issues/detail?id=112



git-svn-id: http://skia.googlecode.com/svn/trunk@727 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-25 19:05:12 +00:00
bsalomon@google.com
5782d712ff Rev the GrContext interface. Context has draw* functions that take a new GrPaint object. Removed many of the lower-level GrGpu function call-throughs on context.
Remove unused/unsupported point size (we don't draw non-hairline points using GL points).
Change current* getter functions to get* for consistency.
Fix bounds when drawing inverse-filled paths.


git-svn-id: http://skia.googlecode.com/svn/trunk@718 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-21 21:03:59 +00:00
bsalomon@google.com
2e7b43d33c Remove notion of default rendertarget. This doesn't map well to usage patterns outside sample app. Make binding between SkGpuDevice and a GrRenderTarget more explicit. Create method on GrContext to wrap the current target in the 3D API with a GrRenderTarget.
git-svn-id: http://skia.googlecode.com/svn/trunk@706 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-18 20:57:22 +00:00
bsalomon@google.com
2fbc7fa460 Make SampleApp build on Win32 (still requires glew, this needs to be fixed)
In fbo test funciton set min filter to nearest (for systems that don't support rendering to level of a texture that isn't mip map complete.)
Add a lot more sample slides to the win32 build
Fix texture red/blue color swap on windows.

git-svn-id: http://skia.googlecode.com/svn/trunk@677 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-05 16:34:41 +00:00
reed@google.com
c280d112a8 revert to DeviceRGB colorspace by default, which was changed accidentially
in rev. 637



git-svn-id: http://skia.googlecode.com/svn/trunk@675 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-05 16:07:35 +00:00
reed@google.com
1fcd51e6b2 add template macro to "safely" perform casts w/o breaking strict-aliasing
fix aliasing warnings



git-svn-id: http://skia.googlecode.com/svn/trunk@674 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-05 15:50:27 +00:00
reed@google.com
62f465940d rev. 637 changed the settings for premultiplied on the info parameter. This
change incorrectly assumed that all cases wanted premultipled-last, which was
incorrect.

Reverting to the previous values.



git-svn-id: http://skia.googlecode.com/svn/trunk@673 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-05 15:49:43 +00:00
reed@android.com
38669c12c5 add colorspace option to SkBitmap -> CGImageRef utility (patch from nico)
git-svn-id: http://skia.googlecode.com/svn/trunk@666 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-03 13:48:50 +00:00
reed@google.com
37df17d164 fix build for linux
partial impl for GPU on linux (need getProcAddress and SkEGLContext)



git-svn-id: http://skia.googlecode.com/svn/trunk@661 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 20:20:51 +00:00
reed@google.com
eeeb5a05b9 silence some of our startup spew
tie skia and gr's debug symbols together in the Makefile



git-svn-id: http://skia.googlecode.com/svn/trunk@654 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 15:12:59 +00:00
reed@google.com
873cb1e23b add gpu to the default makefile
move skia-gpu files into skia/src/gpu



git-svn-id: http://skia.googlecode.com/svn/trunk@653 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 15:00:45 +00:00
wjmaclean@chromium.org
5b9cfd4d88 Fixing results of incorrect conflict resolution in r646.
git-svn-id: http://skia.googlecode.com/svn/trunk@652 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 14:23:25 +00:00
wjmaclean@chromium.org
084547081c Fixed tab character.
git-svn-id: http://skia.googlecode.com/svn/trunk@647 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-22 17:43:58 +00:00
wjmaclean@chromium.org
0bde180bf1 Security fixes re getSize().
git-svn-id: http://skia.googlecode.com/svn/trunk@646 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-22 17:43:54 +00:00
reed@android.com
f2b98d67dc merge with changes for GPU backend
git-svn-id: http://skia.googlecode.com/svn/trunk@637 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-20 18:26:13 +00:00
agl@chromium.org
0afaf9b563 Fix precedence error.
Flagged as a compiler warning. It appears that it was intended that the
conjuction not bind so tightly.

git-svn-id: http://skia.googlecode.com/svn/trunk@591 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-07-28 17:10:28 +00:00
reed@android.com
573a42d025 fix paraens to avoid warnings
git-svn-id: http://skia.googlecode.com/svn/trunk@543 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-04-13 13:36:20 +00:00
reed@android.com
8381e007dc add inherit-from-root-transform flag (for fixed-positioning)
git-svn-id: http://skia.googlecode.com/svn/trunk@532 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-03-23 20:10:46 +00:00
reed@android.com
940584d300 don't abort drawing based on layer size
git-svn-id: http://skia.googlecode.com/svn/trunk@514 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-26 22:04:15 +00:00
reed@android.com
745bfbd74d add localToGlobal and parents
git-svn-id: http://skia.googlecode.com/svn/trunk@511 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-24 17:16:35 +00:00
reed@android.com
2bd703b316 add DEBUG_LAYER_BOUNDS option to show layer bounds
git-svn-id: http://skia.googlecode.com/svn/trunk@509 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-24 02:01:23 +00:00
reed@android.com
da6fb3246a more layers extracted from webkit
git-svn-id: http://skia.googlecode.com/svn/trunk@503 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-19 21:41:30 +00:00
reed@android.com
81dc331e65 update layers
git-svn-id: http://skia.googlecode.com/svn/trunk@502 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-18 19:32:03 +00:00
reed@android.com
86d4008e89 add layers
git-svn-id: http://skia.googlecode.com/svn/trunk@501 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-12 17:17:10 +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
cb60844b34 add drawData() to canvas, to record data blobs
git-svn-id: http://skia.googlecode.com/svn/trunk@452 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-12-04 21:32:27 +00:00
reed@android.com
1d15d37ab9 fix rotation around 2nd axis
git-svn-id: http://skia.googlecode.com/svn/trunk@424 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-10 17:58:47 +00:00
reed@android.com
161b00bae2 add SkEvalCubicInterval
git-svn-id: http://skia.googlecode.com/svn/trunk@416 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-03 15:33:14 +00:00
reed@android.com
a563162780 move boundarypatch into utils
git-svn-id: http://skia.googlecode.com/svn/trunk@410 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-10-28 14:27:20 +00:00
reed@android.com
2ee7c64015 update on boundary patches
git-svn-id: http://skia.googlecode.com/svn/trunk@409 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-10-28 14:25:34 +00:00
reed@android.com
879a252d09 remove check for filtering. Now if the src is opaque, the filtered result
always will be too.



git-svn-id: http://skia.googlecode.com/svn/trunk@406 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-10-26 19:15:43 +00:00
reed@android.com
800046eba4 fix new warnings from gcc 4.2
git-svn-id: http://skia.googlecode.com/svn/trunk@384 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-10-14 09:36:25 +00:00
reed@android.com
f2afb67bab fix base linux build, adding freetype support
git-svn-id: http://skia.googlecode.com/svn/trunk@371 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-28 16:12:48 +00:00
reed@android.com
a8cf0aa533 use real strtof and snprintf to parse and dump floats
git-svn-id: http://skia.googlecode.com/svn/trunk@369 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-24 20:06:03 +00:00
reed@android.com
a03a70124d return noErr in clickhandler, so we can get mousemoved events
git-svn-id: http://skia.googlecode.com/svn/trunk@342 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-29 20:33:39 +00:00
reed@android.com
cf45bf8439 update make for nwaycanvas
remove obsolete opts_neon dir



git-svn-id: http://skia.googlecode.com/svn/trunk@308 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-04 19:21:28 +00:00
reed@android.com
29348cb061 add -forceFilter to bench tool
move some utils out of effects/



git-svn-id: http://skia.googlecode.com/svn/trunk@307 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-04 18:17:15 +00:00
reed@android.com
32a4249cbd make a deep copy in CreateCGImageRef if we're 565, but first upscale to 32bit.
this at least draws the right colors, since we're 565 and CG only supports 1555
(unless someone knows how to tell CG we're 565...)

Fix ws in picturerecord

Enable dither in sample gradients, so the 4444 case isn't so ugly



git-svn-id: http://skia.googlecode.com/svn/trunk@264 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-10 03:33:52 +00:00
reed@android.com
40443b2371 fix (aaaargh) white-space
git-svn-id: http://skia.googlecode.com/svn/trunk@260 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-08 15:11:19 +00:00
reed@android.com
b9b9a18ab4 use genericRGB space to ensure that we decode exactly the pixels we encode
add -r option to gm to read and compare against known images



git-svn-id: http://skia.googlecode.com/svn/trunk@256 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-08 02:54:47 +00:00
reed@android.com
a545a5598e fix config check to include SkColorPriv.h so we don't get the warning w/o need
git-svn-id: http://skia.googlecode.com/svn/trunk@245 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-29 17:07:19 +00:00
reed@android.com
8ede49268d merge in change from chrome to detect when the byte order for 8888 requires
additional CGBitmapInfo flags (e.g. for bigendian)



git-svn-id: http://skia.googlecode.com/svn/trunk@233 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-22 20:04:33 +00:00
reed@android.com
bbff1d507a add SkParsePath to go to/from SVG strings (e.g. "M0,0 L10,20")
git-svn-id: http://skia.googlecode.com/svn/trunk@203 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-05 16:21:03 +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
9e0c2fcdaf fix break in setConfig() where we always reset the bitmap
remove use of non-standard ssize_t in SkSfntUtils.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@197 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-02 18:54:28 +00:00
reed@android.com
25fc5b9f0a update SDL port to support OpenGL
need to separate out SK_BUILD_FOR_MAC when we need to know where certain OS
headers are, and SK_BUILD_FOR_SDL when we are choosing an SkOSWindow variant...



git-svn-id: http://skia.googlecode.com/svn/trunk@190 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-29 03:40:05 +00:00
reed@android.com
c3a8c5fb38 create offscreen surface so we can set its RGB ordering to match our internals
git-svn-id: http://skia.googlecode.com/svn/trunk@187 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-26 13:27:48 +00:00
reed@android.com
671cd65678 add SDL support
git-svn-id: http://skia.googlecode.com/svn/trunk@182 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-22 20:44:12 +00:00