Commit Graph

52 Commits

Author SHA1 Message Date
borenet@google.com
7158e6acca Improve NaCl support
- Add nacl_make script to build Skia targets for NaCl using gyp
- Add nacl_interface for command-line apps
- Add nacl_sample as front-end for SampleApp
- Add freetype to DEPS
- Various gyp tweaks for NaCl

TODO:
- Implement GL interface
- Implement font host
- Fix plumbing so that SampleApp works properly
Review URL: https://codereview.appspot.com/6671044

git-svn-id: http://skia.googlecode.com/svn/trunk@6245 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-01 17:43:44 +00:00
robertphillips@google.com
c7a37c7bb2 Place r5997 (make arcto's convex) behind a compiler flag to delay day of reckoning with Webkit baselines
git-svn-id: http://skia.googlecode.com/svn/trunk@6012 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-19 01:26:18 +00:00
scroggo@google.com
f94dd182e6 Remove an obsolete comment.
This comment is no longer true as of r5869.

Review URL: https://codereview.appspot.com/6701043

git-svn-id: http://skia.googlecode.com/svn/trunk@5957 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-15 18:27:25 +00:00
borenet@google.com
efb1d77ad2 Build Skia as a static library
- Roll GYP so that we get non-thin archives on Linux
- Add merge_static_libs.py
- Add skia_core_lib target which builds core, ports, opts*, and utils
- Replace dependencies on core/ports/opts/utils with skia_core_libs
- Rename exportable libraries with "skia_"
Review URL: https://codereview.appspot.com/6619049

git-svn-id: http://skia.googlecode.com/svn/trunk@5889 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-10 19:45:51 +00:00
bungeman@google.com
43b4ed5b0c xcode_settings OTHER_CPLUSPLUSFLAGS is a list.
https://codereview.appspot.com/6588062/


git-svn-id: http://skia.googlecode.com/svn/trunk@5769 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-02 15:42:21 +00:00
bsalomon@google.com
89dec58122 Disable thumb on IOS. This removes one of XCodes complaints about the generated projects.
R=caryclark@google.com
Review URL: https://codereview.appspot.com/6561072

git-svn-id: http://skia.googlecode.com/svn/trunk@5726 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-28 18:33:11 +00:00
caryclark@google.com
4588ce85cd move the xcode setup for SYMROOT to the outermost level
Review URL: https://codereview.appspot.com/6576050

git-svn-id: http://skia.googlecode.com/svn/trunk@5693 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-26 15:48:43 +00:00
caryclark@google.com
594dd3cd78 iOS support work in progress
include/core/SkTypes.h
- address unsigned warning

include/core/SkInstCnt.h
src/core/SkInstCnt.cpp
gyp/common.gypi
- always define SK_ENABLE_INST_COUNT for debug builds

src/views/mac/SkNSView.mm
- only call glClear if there is a GL context

src/ports/SkImageDecoder_CG.cpp
- fix iOS hack by using proper include

gyp/opts.gyp
- exclude more ARM files from iOS for now (see issue 900)

gyp/common_conditions.gypi
- add release, more ios specific common settings

gyp/bench.gyp
- add iOS condition

gyp/SampleApp.gyp
- remove precompiled header, hardcoded SDK path
- add more frameworks

gyp/debugger.gyp
- fix syntax error
- add iOS/Android condition

gyp/core.gyp
- remove hardcoded SDK path, add more frameworks

gyp/common_variables.gypi
- add ios SDK path
- add ios SDK version

gyp/iOSSampleApp.gyp
- remove obsolete project

gyp/zlib.gyp
- add ios library path
Review URL: https://codereview.appspot.com/6551070

git-svn-id: http://skia.googlecode.com/svn/trunk@5649 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-24 19:33:57 +00:00
senorblanco@chromium.org
bc5cbfe4ed Pull SDKROOT into a gyp variable, so it can be locally overridden. This
allows building on Lion or Mountain Lion using XCode 4.4.

http://codereview.appspot.com/6553044/



git-svn-id: http://skia.googlecode.com/svn/trunk@5607 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-20 16:10:02 +00:00
caryclark@google.com
867cbd8bc2 first cut at making iOS work
Replace __arm__ with SK_CPU_ARM
add support for iOS simulator and device
fix const warning in iOSSampleApp
update gyp files

https://code.google.com/p/skia/issues/detail?id=900
tracks fixing missing arm assembly
Review URL: https://codereview.appspot.com/6552045

git-svn-id: http://skia.googlecode.com/svn/trunk@5606 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-20 15:45:41 +00:00
reed@google.com
1f1543f012 re-apply 5508, but with the new compile-flag disabled for now
git-svn-id: http://skia.googlecode.com/svn/trunk@5516 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-12 21:08:33 +00:00
reed@google.com
bfe1572f24 revert 5508 -- it broke most of the builds
Use http://skia.googlecode.com/svn/buildbot/buildbots.html to see the state of the build.



git-svn-id: http://skia.googlecode.com/svn/trunk@5511 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-12 18:34:49 +00:00
wjmaclean@chromium.org
1f8787a99f Using the device scale factor for glyph positioning
The master bug is http://code.google.com/p/chromium/issues/detail?id=138101 .
The corresponding WebKit changes for this CL are here:
https://bugs.webkit.org/show_bug.cgi?id=96137

BUG=

Review URL: https://codereview.appspot.com/6506099

git-svn-id: http://skia.googlecode.com/svn/trunk@5508 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-12 15:53:20 +00:00
borenet@google.com
c2dd3d4109 Fix noisy Android build
Review URL: https://codereview.appspot.com/6488107

git-svn-id: http://skia.googlecode.com/svn/trunk@5503 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-11 21:37:28 +00:00
borenet@google.com
b7961193a3 Enable 64-bit builds on Windows
Encountered compile errors passing 64-bit size_t to
SkIntToScalar and needed to make adjustments to
gm/gradients.cpp and bench/PicturePlaybackBench.cpp.

Verified on my local Linux, Mac, and Windows machines.

As of this change, the skia_arch_width gyp define
actually forces a 32/64-bit build on Linux, Mac, and
Windows.
Review URL: https://codereview.appspot.com/6460112

git-svn-id: http://skia.googlecode.com/svn/trunk@5195 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 18:58:26 +00:00
chudy@google.com
bbad34de3b Effects Bug Fix
Certain compilers in an effort to optimize code chop off files that are never
used. By adding a flag to common conditions and variables we can force skia to
recompile with global static initializers off. By making a call to
SkGraphics::Init we now register all those functions that had been previously
automatically excluded by the compiler.

Review URL: https://codereview.appspot.com/6443112

git-svn-id: http://skia.googlecode.com/svn/trunk@5057 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-13 14:26:36 +00:00
borenet@google.com
a37a517b54 Enable 32/64-bit gyp switch on Linux
Linux defaults to 64, other platforms 32.  As of this change, only Mac and
Linux are affected by the skia_arch_width flag.  Next step is to make Win
work as well.
Review URL: https://codereview.appspot.com/6460066

git-svn-id: http://skia.googlecode.com/svn/trunk@5041 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-09 20:44:32 +00:00
bsalomon@google.com
cf8fb1f6f0 Create GPU-less build of Skia.
git-svn-id: http://skia.googlecode.com/svn/trunk@4912 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 14:03:32 +00:00
bungeman@google.com
97efada074 Gamma correcting masks.
https://codereview.appspot.com/6244068/


git-svn-id: http://skia.googlecode.com/svn/trunk@4841 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 20:40:50 +00:00
borenet@google.com
de9ac1446c Fix Android build for new toolchain
The new toolchain (r8b) does not automatically include
the necessary directories
(http://code.google.com/p/android/issues/detail?id=35279).
Add them manually until this is fixed.
Review URL: https://codereview.appspot.com/6419076

git-svn-id: http://skia.googlecode.com/svn/trunk@4749 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-25 15:17:03 +00:00
senorblanco@chromium.org
5f47a39916 The correct fix for the lighting filters on Windows: set the GL calling
convention for all targets, not just gpu, since effects now makes GL calls too.

Build fix; unreviewed.



git-svn-id: http://skia.googlecode.com/svn/trunk@4559 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-12 00:34:39 +00:00
djsollen@google.com
e341cb37e6 Separate target architecture type and width into separate variables.
Also add support for building mac in 64 bit mode.
Review URL: https://codereview.appspot.com/6343050

git-svn-id: http://skia.googlecode.com/svn/trunk@4385 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-28 16:08:05 +00:00
caryclark@google.com
b462a42b6d Turn more warnings on, including
- unused functions
- unused locals
- sign mismatch
- missing function prototypes
- missing newline at end of file
- 64 to 32 bit truncation
Review URL: https://codereview.appspot.com/6307043

git-svn-id: http://skia.googlecode.com/svn/trunk@4190 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-06 12:12:28 +00:00
bsalomon@google.com
9aabfc789e Use a single GrDrawState in GrContext for direct and buffered drawing
Review URL: http://codereview.appspot.com/5933043



git-svn-id: http://skia.googlecode.com/svn/trunk@4091 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-31 14:12:46 +00:00
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