aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony Zlatinski <tzlatinski@nvidia.com>2019-02-12 10:50:28 -0600
committerAlexander Galazin <Alexander.Galazin@arm.com>2019-03-22 14:08:35 -0400
commit32bbcdb3f63a3c2a24144ed364e5cc31d14e5e63 (patch)
tree70495868193ac056b8fde36ff3221c7f0d11267d
parent77f33c049b3d8cb7297ff552ed266b0d77e2677a (diff)
downloaddeqp-32bbcdb3f63a3c2a24144ed364e5cc31d14e5e63.tar.gz
cmake: Add support for PNG_ARM_NEON_OPT NDK-r19
On Android, here is clang compiler change for NDKs after ndk-r17c where the compiler intrinsics for libpng are not part of the compiler for the armeabi-v7a targets. Add the supported png functions for these compiler intrinsics, explicitly for 32-bit ARM builds. Affects: dEQP-VK.* Components: Vulkan, Framework VK-GL-CTS issue: 1638 Change-Id: Ib832f983294f5dd747720ed4a79a21e29a06f776 (cherry picked from commit 99a88af740c425bf250ce9cb2143aa6be3a778f2)
-rw-r--r--external/libpng/CMakeLists.txt14
1 files changed, 13 insertions, 1 deletions
diff --git a/external/libpng/CMakeLists.txt b/external/libpng/CMakeLists.txt
index 7181ba44e..d9de774df 100644
--- a/external/libpng/CMakeLists.txt
+++ b/external/libpng/CMakeLists.txt
@@ -39,7 +39,15 @@ set(PNG_SRCS
${PNG_ABS_PATH}/pngpread.c
)
-if (DE_CPU_IS_ARM_64)
+
+if(DE_CPU_IS_ARM AND NOT DEFINED DE_CPU_IS_ARM_NEON)
+ set(DE_CPU_IS_ARM_NEON 1)
+ message(STATUS "DE_CPU_IS_ARM_NEON is not defined: Assuming ARM NEON is supported.")
+else ()
+ set(DE_CPU_IS_ARM_NEON 0)
+endif()
+
+if (DE_CPU_IS_ARM_64 OR (DE_CPU_IS_ARM AND DE_CPU_IS_ARM_NEON))
# armv8-a has always neon
set(PNG_SRCS
${PNG_SRCS}
@@ -47,8 +55,12 @@ if (DE_CPU_IS_ARM_64)
${PNG_ABS_PATH}/arm/filter_neon_intrinsics.c
${PNG_ABS_PATH}/arm/filter_neon.S
)
+else ()
+ message(STATUS "Disabling ARM NEON optimizations.")
+ add_definitions(-DPNG_ARM_NEON_OPT=0)
endif ()
+
if (DE_DEBUG EQUAL 1)
add_definitions(-DPNG_DEBUG)
endif ()