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
senorblanco@chromium.org
7288c49cf2
Fix a warning in libtess in Release builds; define NDEBUG in Release on all
...
platforms.
BUG: http://code.google.com/p/skia/issues/detail?id=456
Review URL: http://codereview.appspot.com/5555054/
git-svn-id: http://skia.googlecode.com/svn/trunk@3076 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-19 19:59:22 +00:00
digit@google.com
70ccffe0e7
Android: disable static global initializers
...
Review URL: http://codereview.appspot.com/5503066
git-svn-id: http://skia.googlecode.com/svn/trunk@2992 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-10 10:28:30 +00:00
djsollen@google.com
fa394d491b
Change remaining ANDROID ifdefs to SK_BUILD_FOR_ANDROID
...
Review URL: http://codereview.appspot.com/5528050
git-svn-id: http://skia.googlecode.com/svn/trunk@2990 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-09 20:40:25 +00:00
bsalomon@google.com
cadbcb8e53
Towards enabling -Werror in skia on Linux
...
Review URL: http://codereview.appspot.com/5516044/
git-svn-id: http://skia.googlecode.com/svn/trunk@2983 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-06 19:22:11 +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
44360bcca3
Changes to the android gyp system to build without RTTI and exceptions.
...
Review URL: http://codereview.appspot.com/5437089
git-svn-id: http://skia.googlecode.com/svn/trunk@2794 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-05 13:55:55 +00:00
bsalomon@google.com
31648eb1cf
Fix warnings
...
Review URL: http://codereview.appspot.com/5433054/
git-svn-id: http://skia.googlecode.com/svn/trunk@2741 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-23 15:01:08 +00:00
reed@google.com
0069aa5708
add commented line to try to add additional warnings
...
git-svn-id: http://skia.googlecode.com/svn/trunk@2706 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-17 15:35:47 +00:00
djsollen@google.com
318cf92202
Cleanup for the Android build.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@2630 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-08 19:03:43 +00:00
djsollen@google.com
3839ca146a
Update the Skia gyp files to use the external android sources.
...
Review URL: http://codereview.appspot.com/5336048
git-svn-id: http://skia.googlecode.com/svn/trunk@2598 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-03 17:31:41 +00:00
djsollen@google.com
58629291bc
Adding support to trunk for building Skia using the Android NDK.
...
This CL depends on a subsequent CL to add the appropriate NDK
toolchain and system sources to the skia repo.
Review URL: http://codereview.appspot.com/5306089/
Review URL: http://codereview.appspot.com/5306089
git-svn-id: http://skia.googlecode.com/svn/trunk@2592 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-03 13:08:29 +00:00
bsalomon@google.com
4d5cb45f3e
Set SDK for Mac build to 10.6, ignore gyp/build, fixup gpu files to compile against 10.5 if needed
...
Review URL: http://codereview.appspot.com/5260041/
git-svn-id: http://skia.googlecode.com/svn/trunk@2470 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-12 18:12:11 +00:00
reed@google.com
e05cc8e94e
explicitly set opt level for mac-release
...
delete obsolete FPS bench
git-svn-id: http://skia.googlecode.com/svn/trunk@2442 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-10 14:19:40 +00:00
bungeman@google.com
7deaa3b75c
Update common_conditions to make sure there is a slash in VS2008.
...
http://codereview.appspot.com/5172047/
git-svn-id: http://skia.googlecode.com/svn/trunk@2398 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-03 20:15:13 +00:00
bungeman@google.com
983297e813
Roll gyp and add librarian settings (now supported).
...
http://codereview.appspot.com/5169048/
git-svn-id: http://skia.googlecode.com/svn/trunk@2397 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-03 19:36:51 +00:00
bsalomon@google.com
8b5abeca87
Set window build flags (warn level 4, release optimization options, pdbs in release builds)
...
Review URL: http://codereview.appspot.com/5142050/
git-svn-id: http://skia.googlecode.com/svn/trunk@2346 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-28 14:32:01 +00:00
seanpaul@google.com
8f78fec05c
Change AdditionalOptions to a list from a string. This fixes compilation errors
...
when building bench within chrome.
BUG=363
TEST=Build bench through a chrome checkout on windows
Review URL: http://codereview.appspot.com/5045042
git-svn-id: http://skia.googlecode.com/svn/trunk@2275 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-16 15:47:33 +00:00
seanpaul@google.com
1134f98165
Refactor the bench and common gyp/gypi files to allow for building bench within
...
a chromium checkout (using chromium build configuration).
BUG=362
TEST=Build bench from within the chromium and skia source tree, ensured it built
and ran successfully.
Review URL: http://codereview.appspot.com/5023042
git-svn-id: http://skia.googlecode.com/svn/trunk@2270 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-15 14:24:33 +00:00