Commit Graph

128 Commits

Author SHA1 Message Date
caryclark@google.com
e5720e3202 suppress warning on Mac
http://codereview.appspot.com/6245070/

M    gyp/common_conditions.gypi



git-svn-id: http://skia.googlecode.com/svn/trunk@4087 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-31 12:39:18 +00:00
digit@google.com
eec9dbcace arm: First step towards dynamic NEON support.
This patch adds minimal support for dynamic ARM NEON support,
i.e. the ability to probe the CPU at runtime for NEON and
provide alternate code paths when it is available.

- Add include/core/SkUtilsArm.h, which declares a few helper
  macros (e.g. SK_NEON_ARM_IS_DYNAMIC), plus the handy
  function 'sk_cpu_arm_has_neon()' which returns true if
  the target CPU supports the ARM NEON instruction set.

  Note that the header is in include/core/ because it will
  have to be included from NEON-specific code under src/code/

  It would probably be more logical to put it under include/opts/
  instead, but this would require moving all the NEON-specific
  stuff under src/code/ into src/opts/, which is not trivial
  due to the way the code is currently architected.

- Add src/core/SkUtilsArm.cpp which implements
  'sk_cpu_arm_has_neon' for ARM-based Linux systems, only
  when SK_NEON_ARM_IS_DYNAMIC is true.

  (For other cases, 'sk_cpu_arm_has_neon' is an inline function
   that returns a constant 'true' or 'false' value).

  There is no user-level accessible CPUID instruction on ARM,
  so do all CPU feature probing by parsing /proc/cpuinfo.
  This is Linux-specific.

  For Debug build types, the CPU probing result is printed
  to the Android log (or Linux command-line) for easier
  debugging.

- Create a new 'opts_neon' target (static library) which shall
  contain all the NEON-specific code paths for the library.

  This is necessary because -mfpu=neon impacts also non-scalar
  code. Just like with -mssse3 on x86, we can't build the rest
  of the library with this flag.

  Note that for now, we only include memset16_neon and
  memset32_neon in this library.

- Modify opts_check_arm.cpp to implement SK_ARM_NEON_IS_DYNAMIC
  properly.

Compared to a 'xoom' build, the only difference is the use of
NEON-optimized memset16/32 functions. Later patches will move
more NEON-specific code paths to 'opts_neon'.
Review URL: https://codereview.appspot.com/6247058

git-svn-id: http://skia.googlecode.com/svn/trunk@4069 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-30 13:54:41 +00:00
reed@google.com
ff793db2ef move Release build to -O3 (from -O2)
git-svn-id: http://skia.googlecode.com/svn/trunk@3988 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-17 13:58:26 +00:00
epoger@google.com
4f8975ea0f roll out http://code.google.com/p/skia/source/detail?r=3687 because Mac 10.6 bot is failing
git-svn-id: http://skia.googlecode.com/svn/trunk@3688 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-16 15:49:04 +00:00
epoger@google.com
cff7f5bbf5 Make Mac build generate both 32-bit and 64-bit code.
BUG=http://code.google.com/p/skia/issues/detail?id=524
Review URL: https://codereview.appspot.com/6022057

git-svn-id: http://skia.googlecode.com/svn/trunk@3687 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-16 15:14:22 +00:00
robertphillips@google.com
022976554c Fix xcode 4.1 build issue
http://codereview.appspot.com/5992048/



git-svn-id: http://skia.googlecode.com/svn/trunk@3621 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-05 19:29:04 +00:00
reed@google.com
1ac8350821 implement gamma correction for freetype text.
Need to opt-in to have it applied to kA8 text (which chrome can't for a while)
A8 text needs to use Slight hinting to look better, but that is not forced...



git-svn-id: http://skia.googlecode.com/svn/trunk@3277 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-28 17:06:02 +00:00
djsollen@google.com
3a2b35f0af Fix typo in the gyp file.
git-svn-id: http://skia.googlecode.com/svn/trunk@3248 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 14:10:44 +00:00
djsollen@google.com
cf7403040e Enable hardware float for all armv7 and add NDK required linker flags
git-svn-id: http://skia.googlecode.com/svn/trunk@3247 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 14:09:02 +00:00
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