summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DEPS4
-rw-r--r--o3d/DEPS9
-rw-r--r--skia/skia.gyp58
3 files changed, 58 insertions, 13 deletions
diff --git a/DEPS b/DEPS
index a44c266..34c7570 100644
--- a/DEPS
+++ b/DEPS
@@ -46,10 +46,10 @@ deps = {
"http://nativeclient.googlecode.com/svn/trunk/src/native_client@952",
"src/third_party/skia/src":
- "http://skia.googlecode.com/svn/trunk/src@424",
+ "http://skia.googlecode.com/svn/trunk/src@428",
"src/third_party/skia/include":
- "http://skia.googlecode.com/svn/trunk/include@424",
+ "http://skia.googlecode.com/svn/trunk/include@428",
"src/third_party/WebKit/LayoutTests":
Var("webkit_trunk") + "/LayoutTests@" + Var("webkit_revision"),
diff --git a/o3d/DEPS b/o3d/DEPS
index f2b1e67..604e972 100644
--- a/o3d/DEPS
+++ b/o3d/DEPS
@@ -3,7 +3,7 @@ vars = {
"nixysa_rev": "61",
"chromium_rev": "28829",
"o3d_code_rev": "166",
- "skia_rev": "376",
+ "skia_rev": "428",
"gyp_rev": "749",
"gtest_rev": "329",
"gflags_rev": "30",
@@ -89,8 +89,11 @@ deps = {
"third_party/zlib":
Var("chromium_trunk") + "/src/third_party/zlib@" + Var("chromium_rev"),
- "third_party/skia":
- "http://skia.googlecode.com/svn/trunk@" + Var("skia_rev"),
+ "third_party/skia/src":
+ "http://skia.googlecode.com/svn/trunk/src@" + Var("skia_rev"),
+
+ "third_party/skia/include":
+ "http://skia.googlecode.com/svn/trunk/include@" + Var("skia_rev"),
"v8":
"http://v8.googlecode.com/svn/trunk@" + Var("v8_rev"),
diff --git a/skia/skia.gyp b/skia/skia.gyp
index 4caa5dc..17237e3 100644
--- a/skia/skia.gyp
+++ b/skia/skia.gyp
@@ -349,8 +349,7 @@
'../third_party/skia/src/images/SkScaledBitmapSampler.cpp',
'../third_party/skia/src/images/SkScaledBitmapSampler.h',
- '../third_party/skia/src/opts/SkBitmapProcState_opts_none.cpp',
- '../third_party/skia/src/opts/SkBlitRow_opts_none.cpp',
+ '../third_party/skia/src/opts/opts_check_SSE2.cpp',
#'../third_party/skia/src/ports/SkFontHost_FONTPATH.cpp',
'../third_party/skia/src/ports/SkFontHost_FreeType.cpp',
@@ -587,12 +586,12 @@
'-mthumb',
],
'sources!': [
- '../third_party/skia/src/opts/SkBitmapProcState_opts_none.cpp',
- '../third_party/skia/src/opts/SkBlitRow_opts_none.cpp',
+ '../third_party/skia/src/opts/opts_check_SSE2.cpp'
],
'sources': [
'../third_party/skia/src/opts/SkBitmapProcState_opts_arm.cpp',
'../third_party/skia/src/opts/SkBlitRow_opts_arm.cpp',
+ '../third_party/skia/src/opts/SkUtils_opts_none.cpp',
],
}],
[ 'OS == "linux" or OS == "freebsd"', {
@@ -642,16 +641,15 @@
'../third_party/skia/src/core/SkMMapStream.cpp',
'../third_party/skia/src/ports/SkThread_pthread.cpp',
'../third_party/skia/src/ports/SkTime_Unix.cc',
- '../third_party/skia/src/opts/SkBlitRow_opts_none.cpp',
- ],
- 'sources': [
- '../third_party/skia/src/opts/SkBlitRow_opts_SSE2.cpp',
],
'include_dirs': [
'config/win',
],
},],
],
+ 'dependencies': [
+ 'skia_sse2'
+ ],
'direct_dependent_settings': {
'include_dirs': [
'config',
@@ -664,6 +662,50 @@
],
},
},
+
+ # Due to an unfortunate intersection of lameness between gcc and gyp,
+ # we have to build the *_SSE2.cpp files in a separate target. The
+ # gcc lameness is that, in order to compile SSE2 intrinsics code, it
+ # must be passed the -msse2 flag. However, with this flag, it may
+ # emit SSE2 instructions even for scalar code, such as the CPUID
+ # test used to test for the presence of SSE2. So that, and all other
+ # code must be compiled *without* -msse2. The gyp lameness is that it
+ # does not allow file-specific CFLAGS, so we must create this extra
+ # target for those files to be compiled with -msse2.
+ #
+ # This is actually only a problem on 32-bit Linux (all Intel Macs have
+ # SSE2, Linux x86_64 has SSE2 by definition, and MSC will happily emit
+ # SSE2 from instrinsics, which generating plain ol' 386 for everything
+ # else). However, to keep the .gyp file simple and avoid platform-specific
+ # build breakage, we do this on all platforms.
+
+ {
+ 'target_name': 'skia_sse2',
+ 'type': '<(library)',
+ 'include_dirs': [
+ '..',
+ 'config',
+ '../third_party/skia/include/core',
+ '../third_party/skia/include/effects',
+ '../third_party/skia/include/images',
+ '../third_party/skia/include/utils',
+ '../third_party/skia/src/core',
+ ],
+ 'conditions': [
+ [ 'OS == "linux" and target_arch != "arm"', {
+ 'cflags': [
+ '-msse2',
+ ],
+ }],
+ [ 'target_arch != "arm"', {
+ 'sources': [
+ '../third_party/skia/src/opts/SkBitmapProcState_opts_none.cpp',
+ '../third_party/skia/src/opts/SkBlitRow_opts_SSE2.cpp',
+ '../third_party/skia/src/opts/SkUtils_opts_SSE2.cpp',
+ ],
+ }],
+ ],
+ },
],
}