diff options
author | bungeman@chromium.org <bungeman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-21 20:47:39 +0000 |
---|---|---|
committer | bungeman@chromium.org <bungeman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-21 20:47:39 +0000 |
commit | e593f8b12a57a5270b6d5024aa90fee435a38c19 (patch) | |
tree | 93d0e95b1e7510bca8fd99231ea9ba610d3ce06a /skia | |
parent | f9e684382c3f1a2ad74e62477c33ffdebf849567 (diff) | |
download | chromium_src-e593f8b12a57a5270b6d5024aa90fee435a38c19.zip chromium_src-e593f8b12a57a5270b6d5024aa90fee435a38c19.tar.gz chromium_src-e593f8b12a57a5270b6d5024aa90fee435a38c19.tar.bz2 |
Improve Skia configuration.
This is the Chromium side of https://codereview.chromium.org/19808007 .
R=djsollen@google.com
Review URL: https://codereview.chromium.org/19477005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229905 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'skia')
-rw-r--r-- | skia/config/SkUserConfig.h | 13 | ||||
-rw-r--r-- | skia/ext/SkThread_chrome.cc | 88 | ||||
-rw-r--r-- | skia/skia.gyp | 1 | ||||
-rw-r--r-- | skia/skia_chrome.gypi | 18 | ||||
-rw-r--r-- | skia/skia_common.gypi | 12 | ||||
-rw-r--r-- | skia/skia_library.gypi | 7 | ||||
-rw-r--r-- | skia/skia_library_opts.gyp | 22 |
7 files changed, 25 insertions, 136 deletions
diff --git a/skia/config/SkUserConfig.h b/skia/config/SkUserConfig.h index ea80e27..302a072 100644 --- a/skia/config/SkUserConfig.h +++ b/skia/config/SkUserConfig.h @@ -183,19 +183,6 @@ SK_API void SkDebugf_FileLine(const char* file, int line, bool fatal, #define SK_BUILD_FOR_WIN -// VC8 doesn't support stdint.h, so we define those types here. -#define SK_IGNORE_STDINT_DOT_H -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef short int16_t; -typedef unsigned short uint16_t; -typedef int int32_t; -typedef unsigned uint32_t; - -// VC doesn't support __restrict__, so make it a NOP. -#undef SK_RESTRICT -#define SK_RESTRICT - // Skia uses this deprecated bzero function to fill zeros into a string. #define bzero(str, len) memset(str, 0, len) diff --git a/skia/ext/SkThread_chrome.cc b/skia/ext/SkThread_chrome.cc deleted file mode 100644 index f379beb..0000000 --- a/skia/ext/SkThread_chrome.cc +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "third_party/skia/include/core/SkThread.h" - -#include <new> - -#include "base/atomicops.h" -#include "base/basictypes.h" -#include "base/logging.h" -#include "base/synchronization/lock.h" - -/** Adds one to the int specified by the address (in a thread-safe manner), and - returns the previous value. - No additional memory barrier is required. - This must act as a compiler barrier. -*/ -int32_t sk_atomic_inc(int32_t* addr) { - // sk_atomic_inc is expected to return the old value, - // Barrier_AtomicIncrement returns the new value. - return base::subtle::NoBarrier_AtomicIncrement(addr, 1) - 1; -} - -/* Subtracts one from the int specified by the address (in a thread-safe - manner), and returns the previous value. - Expected to act as a release (SL/S) memory barrier and a compiler barrier. -*/ -int32_t sk_atomic_dec(int32_t* addr) { - // sk_atomic_dec is expected to return the old value, - // Barrier_AtomicIncrement returns the new value. - return base::subtle::Barrier_AtomicIncrement(addr, -1) + 1; -} -/** If sk_atomic_dec does not act as an aquire (L/SL) barrier, this is expected - to act as an aquire (L/SL) memory barrier and as a compiler barrier. -*/ -void sk_membar_aquire__after_atomic_dec() { } - -/** Adds one to the int specified by the address iff the int specified by the - address is not zero (in a thread-safe manner), and returns the previous - value. - No additional memory barrier is required. - This must act as a compiler barrier. -*/ -int32_t sk_atomic_conditional_inc(int32_t* addr) { - int32_t value = *addr; - - while (true) { - if (value == 0) { - return 0; - } - - int32_t before; - before = base::subtle::Acquire_CompareAndSwap(addr, value, value + 1); - - if (before == value) { - return value; - } else { - value = before; - } - } -} -/** If sk_atomic_conditional_inc does not act as an aquire (L/SL) barrier, this - is expected to act as an aquire (L/SL) memory barrier and as a compiler - barrier. -*/ -void sk_membar_aquire__after_atomic_conditional_inc() { } - -SkMutex::SkMutex() { - COMPILE_ASSERT(sizeof(base::Lock) <= sizeof(fStorage), Lock_is_too_big_for_SkMutex); - base::Lock* lock = reinterpret_cast<base::Lock*>(fStorage); - new(lock) base::Lock(); -} - -SkMutex::~SkMutex() { - base::Lock* lock = reinterpret_cast<base::Lock*>(fStorage); - lock->~Lock(); -} - -void SkMutex::acquire() { - base::Lock* lock = reinterpret_cast<base::Lock*>(fStorage); - lock->Acquire(); -} - -void SkMutex::release() { - base::Lock* lock = reinterpret_cast<base::Lock*>(fStorage); - lock->Release(); -} diff --git a/skia/skia.gyp b/skia/skia.gyp index af1cc53..79d0dfc 100644 --- a/skia/skia.gyp +++ b/skia/skia.gyp @@ -93,7 +93,6 @@ 'include_dirs': [ '..', 'config', - '../third_party/skia/include/config', '../third_party/skia/include/core', ], 'conditions': [ diff --git a/skia/skia_chrome.gypi b/skia/skia_chrome.gypi index a0cd3bb..c24bb73 100644 --- a/skia/skia_chrome.gypi +++ b/skia/skia_chrome.gypi @@ -20,10 +20,6 @@ ], }, - 'include_dirs': [ - '..', - ], - 'sources': [ 'ext/analysis_canvas.cc', 'ext/analysis_canvas.h', @@ -48,7 +44,6 @@ 'ext/lazy_pixel_ref.h', 'ext/lazy_pixel_ref_utils.cc', 'ext/lazy_pixel_ref_utils.h', - 'ext/SkThread_chrome.cc', 'ext/opacity_draw_filter.cc', 'ext/opacity_draw_filter.h', 'ext/paint_simplifier.cc', @@ -83,14 +78,6 @@ 'ext/vector_platform_device_skia.h', ], 'conditions': [ - # For POSIX platforms, prefer the Mutex implementation provided by Skia - # since it does not generate static initializers. - # TODO: should check if SK_USE_POSIX_THREADS is defined instead - [ 'OS == "android" or OS == "linux" or OS == "mac" or OS == "ios"', { - 'sources!': [ - 'ext/SkThread_chrome.cc', - ], - }], [ 'OS == "android" and enable_printing == 0', { 'sources!': [ 'ext/skia_utils_base.cc', @@ -105,11 +92,6 @@ 'skia_chrome_opts', ], }], - [ 'OS == "win"', { - 'sources!': [ - 'ext/SkThread_chrome.cc', - ], - }], # TODO(scottmg): http://crbug.com/177306 ['clang==1', { 'xcode_settings': { diff --git a/skia/skia_common.gypi b/skia/skia_common.gypi index 616ae5b..03eade8 100644 --- a/skia/skia_common.gypi +++ b/skia/skia_common.gypi @@ -5,6 +5,11 @@ # This gypi file handles the removal of platform-specific files from the # Skia build. { + 'include_dirs': [ + '..', + 'config', + ], + 'conditions': [ [ 'OS != "android"', { 'sources/': [ @@ -29,5 +34,12 @@ }], ], + 'direct_dependent_settings': { + 'include_dirs': [ + '..', + 'config', + ], + }, + 'msvs_disabled_warnings': [4244, 4267, 4341, 4345, 4390, 4554, 4748, 4800], } diff --git a/skia/skia_library.gypi b/skia/skia_library.gypi index 2852af0..0eb3017 100644 --- a/skia/skia_library.gypi +++ b/skia/skia_library.gypi @@ -149,9 +149,6 @@ '../third_party/skia/include/utils/SkProxyCanvas.h', ], 'include_dirs': [ - '..', - 'config', - '../third_party/skia/include/config', '../third_party/skia/include/core', '../third_party/skia/include/effects', '../third_party/skia/include/images', @@ -222,7 +219,7 @@ # For POSIX platforms, prefer the Mutex implementation provided by Skia # since it does not generate static initializers. - [ 'OS == "android" or OS == "linux" or OS == "mac" or OS == "ios"', { + [ 'os_posix == 1', { 'defines+': [ 'SK_USE_POSIX_THREADS', ], @@ -444,8 +441,6 @@ #temporary until we can hide SkFontHost '../third_party/skia/src/core', - 'config', - '../third_party/skia/include/config', '../third_party/skia/include/core', '../third_party/skia/include/effects', '../third_party/skia/include/pdf', diff --git a/skia/skia_library_opts.gyp b/skia/skia_library_opts.gyp index 1aaeefc..2008e2c 100644 --- a/skia/skia_library_opts.gyp +++ b/skia/skia_library_opts.gyp @@ -27,9 +27,10 @@ { 'target_name': 'skia_opts', 'type': 'static_library', + 'includes': [ + 'skia_common.gypi', + ], 'include_dirs': [ - 'config', - '../third_party/skia/include/config', '../third_party/skia/include/core', '../third_party/skia/src/core', '../third_party/skia/src/opts', @@ -138,10 +139,10 @@ { 'target_name': 'skia_opts_ssse3', 'type': 'static_library', + 'includes': [ + 'skia_common.gypi', + ], 'include_dirs': [ - '..', - 'config', - '../third_party/skia/include/config', '../third_party/skia/include/core', '../third_party/skia/src/core', ], @@ -176,10 +177,10 @@ { 'target_name': 'skia_opts_none', 'type': 'static_library', + 'includes': [ + 'skia_common.gypi', + ], 'include_dirs': [ - '..', - 'config', - '../third_party/skia/include/config', '../third_party/skia/include/core', '../third_party/skia/src/core', ], @@ -202,9 +203,10 @@ { 'target_name': 'skia_opts_neon', 'type': 'static_library', + 'includes': [ + 'skia_common.gypi', + ], 'include_dirs': [ - '..', - 'config', '../third_party/skia/include/core', '../third_party/skia/src/core', '../third_party/skia/src/opts', |