summaryrefslogtreecommitdiffstats
path: root/external/skia
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2019-12-02 14:27:59 +0100
committerLuboš Luňák <l.lunak@collabora.com>2019-12-03 10:43:30 +0100
commitbb0f9eb14e89949181a588742aa89185c0548cac (patch)
treec9e596a60dc049bfa1de71c4fe841e75ad602266 /external/skia
parentRemove trailing whitespace (diff)
downloadcore-bb0f9eb14e89949181a588742aa89185c0548cac.tar.gz
core-bb0f9eb14e89949181a588742aa89185c0548cac.zip
split instrinsics CXXFLAGS per each instruction set
The common usage pattern should be having one source file per each instruction set and then one source file compiled with neutral flags that dispatches to the relevant code based on runtime checks. Which means that there can't be any one "correct" flag, otherwise all files would get compiled e.g. with SSE4.2 but then CPUs capable only of SSE2 would crash running that code. Change-Id: I362bf66f672dae4588a48effe3bcd30c34ea75b3 Reviewed-on: https://gerrit.libreoffice.org/84227 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'external/skia')
-rw-r--r--external/skia/Library_skia.mk43
1 files changed, 28 insertions, 15 deletions
diff --git a/external/skia/Library_skia.mk b/external/skia/Library_skia.mk
index 6c988bb79ac0..2fe24876b499 100644
--- a/external/skia/Library_skia.mk
+++ b/external/skia/Library_skia.mk
@@ -22,9 +22,6 @@ $(eval $(call gb_Library_add_defs,skia,\
))
ifeq ($(OS),WNT)
-$(eval $(call gb_Library_add_cxxflags,skia, \
- -arch:SSE2 \
-))
ifneq ($(gb_ENABLE_PCH),)
$(eval $(call gb_Library_add_cxxflags,skia, \
-FIsrc/utils/win/SkDWriteNTDDI_VERSION.h \
@@ -41,11 +38,6 @@ $(eval $(call gb_Library_use_system_win32_libs,skia,\
gdi32 \
))
else
-# TODO SKIA
-$(eval $(call gb_Library_add_cxxflags,skia, \
- -mssse3 \
-))
-
$(eval $(call gb_Library_use_externals,skia,\
freetype \
fontconfig \
@@ -216,7 +208,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkNormalFlatSource \
UnpackedTarball/skia/src/core/SkNormalMapSource \
UnpackedTarball/skia/src/core/SkNormalSource \
- UnpackedTarball/skia/src/core/SkOpts \
UnpackedTarball/skia/src/core/SkOverdrawCanvas \
UnpackedTarball/skia/src/core/SkPaint \
UnpackedTarball/skia/src/core/SkPaintPriv \
@@ -800,18 +791,38 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
))
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
- UnpackedTarball/skia/src/opts/SkOpts_avx \
- UnpackedTarball/skia/src/opts/SkOpts_crc32 \
- UnpackedTarball/skia/src/opts/SkOpts_hsw \
- UnpackedTarball/skia/src/opts/SkOpts_sse41 \
- UnpackedTarball/skia/src/opts/SkOpts_sse42 \
- UnpackedTarball/skia/src/opts/SkOpts_ssse3 \
UnpackedTarball/skia/src/ports/SkGlobalInitialization_default \
UnpackedTarball/skia/src/ports/SkImageGenerator_none \
UnpackedTarball/skia/src/ports/SkOSFile_stdio \
))
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
+ UnpackedTarball/skia/src/opts/SkOpts_avx, $(CXXFLAGS_INTRINSICS_AVX) \
+))
+$(eval $(call gb_Library_add_generated_exception_objects,skia,\
+ UnpackedTarball/skia/src/opts/SkOpts_hsw, \
+ $(CXXFLAGS_INTRINSICS_AVX2) $(CXXFLAGS_INTRINSICS_F16C) $(CXXFLAGS_INTRINSICS_FMA)\
+))
+$(eval $(call gb_Library_add_generated_exception_objects,skia,\
+ UnpackedTarball/skia/src/opts/SkOpts_sse41, $(CXXFLAGS_INTRINSICS_SSE41) \
+))
+$(eval $(call gb_Library_add_generated_exception_objects,skia,\
+ UnpackedTarball/skia/src/opts/SkOpts_sse42, $(CXXFLAGS_INTRINSICS_SSE42) \
+))
+$(eval $(call gb_Library_add_generated_exception_objects,skia,\
+ UnpackedTarball/skia/src/opts/SkOpts_ssse3, $(CXXFLAGS_INTRINSICS_SSSE3) \
+))
+
+# Compile this file with the best intrinsics available.
+$(eval $(call gb_Library_add_generated_exception_objects,skia,\
+ UnpackedTarball/skia/src/core/SkOpts, \
+ $(CXXFLAGS_INTRINSICS_SSSE3) \
+ $(CXXFLAGS_INTRINSICS_SSE41) $(CXXFLAGS_INTRINSICS_SSE42) \
+ $(CXXFLAGS_INTRINSICS_AVX) \
+ $(CXXFLAGS_INTRINSICS_AVX2) $(CXXFLAGS_INTRINSICS_F16C) $(CXXFLAGS_INTRINSICS_FMA) \
+))
+
+$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/tools/gpu/vk/VkTestUtils \
UnpackedTarball/skia/tools/sk_app/GLWindowContext \
UnpackedTarball/skia/tools/sk_app/VulkanWindowContext \
@@ -886,6 +897,8 @@ endif
# UnpackedTarball/skia/src/gpu/gl/iOS/GrGLMakeNativeInterface_iOS \
# UnpackedTarball/skia/src/gpu/gl/mac/GrGLMakeNativeInterface_mac \
+# UnpackedTarball/skia/src/opts/SkOpts_crc32 \
+
# UnpackedTarball/skia/src/ports/SkDebug_android \
# UnpackedTarball/skia/src/ports/SkDiscardableMemory_none \
# UnpackedTarball/skia/src/ports/SkFontConfigInterface \