From 0a0df77c39cbcf708af0f1467ab6b6f5057758b2 Mon Sep 17 00:00:00 2001 From: akallabeth Date: Wed, 3 Apr 2024 09:29:33 +0200 Subject: [PATCH] [build,ipp] drop support for IPP Intel Performance Primitives do not have a test setup in FreeRDP and most likely no longer compile. --- CMakeLists.txt | 11 - client/X11/CMakeLists.txt | 4 - cmake/ConfigOptions.cmake | 1 - cmake/FindIPP.cmake | 397 ------------------------- include/config/config.h.in | 1 - include/freerdp/primitives.h | 3 +- libfreerdp/CMakeLists.txt | 25 -- libfreerdp/primitives/prim_alphaComp.c | 1 - libfreerdp/primitives/prim_copy.c | 21 -- 9 files changed, 1 insertion(+), 463 deletions(-) delete mode 100644 cmake/FindIPP.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 49c61703a..21345a08e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -503,10 +503,6 @@ set(VAAPI_FEATURE_TYPE "OPTIONAL") set(VAAPI_FEATURE_PURPOSE "multimedia") set(VAAPI_FEATURE_DESCRIPTION "VA-API hardware acceleration for video playback") -set(IPP_FEATURE_TYPE "OPTIONAL") -set(IPP_FEATURE_PURPOSE "performance") -set(IPP_FEATURE_DESCRIPTION "Intel Integrated Performance Primitives library") - set(OPENH264_FEATURE_TYPE "OPTIONAL") set(OPENH264_FEATURE_PURPOSE "codec") set(OPENH264_FEATURE_DESCRIPTION "use OpenH264 library") @@ -635,13 +631,6 @@ if (WITH_OPENH264 AND NOT OPENH264_FOUND) endif() set(WITH_OPENH264 ${OPENH264_FOUND}) -if(TARGET_ARCH MATCHES "x86|x64") - if (NOT APPLE) - # Intel Performance Primitives - find_feature(IPP ${IPP_FEATURE_TYPE} ${IPP_FEATURE_PURPOSE} ${IPP_FEATURE_DESCRIPTION}) - endif() -endif() - if(OPENSSL_FOUND) add_definitions("-DWITH_OPENSSL") message(STATUS "Using OpenSSL Version: ${OPENSSL_VERSION}") diff --git a/client/X11/CMakeLists.txt b/client/X11/CMakeLists.txt index bfc13021a..bf7c84294 100644 --- a/client/X11/CMakeLists.txt +++ b/client/X11/CMakeLists.txt @@ -217,10 +217,6 @@ endif() target_link_libraries(${PROJECT_NAME} PUBLIC ${PUB_LIBS}) target_link_libraries(${PROJECT_NAME} PRIVATE ${PRIV_LIBS}) -if(WITH_IPP) - target_link_libraries(${PROJECT_NAME} PRIVATE ${IPP_LIBRARY_LIST}) -endif() - if(WITH_CLIENT_INTERFACE) install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries) endif() diff --git a/cmake/ConfigOptions.cmake b/cmake/ConfigOptions.cmake index a5ce58ad8..7f3ffb860 100644 --- a/cmake/ConfigOptions.cmake +++ b/cmake/ConfigOptions.cmake @@ -24,7 +24,6 @@ option(WITH_GPROF "Compile with GProf profiler." OFF) option(WITH_SSE2 "Enable SSE2 optimization." OFF) option(WITH_NEON "Enable NEON optimization." OFF) -option(WITH_IPP "Use Intel Performance Primitives." OFF) option(WITH_JPEG "Use JPEG decoding." OFF) diff --git a/cmake/FindIPP.cmake b/cmake/FindIPP.cmake deleted file mode 100644 index 1e06762e5..000000000 --- a/cmake/FindIPP.cmake +++ /dev/null @@ -1,397 +0,0 @@ -# This cmake script is taken from the OpenCV project (BSD license) - -# -# The script to detect Intel(R) Integrated Performance Primitives (IPP) -# installation/package -# -# This will try to find Intel IPP libraries, and include path by automatic -# search through typical install locations and if failed it will -# examine IPPROOT environment variable. -# Note, IPPROOT is not set by IPP installer, it should be set manually. -# -# On return this will define: -# -# IPP_FOUND - True if Intel IPP found -# IPP_ROOT_DIR - root of IPP installation -# IPP_INCLUDE_DIRS - IPP include folder -# IPP_LIBRARY_DIRS - IPP libraries folder -# IPP_LIBRARIES - IPP libraries names that are used by OpenCV -# IPP_LATEST_VERSION_STR - string with the newest detected IPP version -# IPP_LATEST_VERSION_MAJOR - numbers of IPP version (MAJOR.MINOR.BUILD) -# IPP_LATEST_VERSION_MINOR -# IPP_LATEST_VERSION_BUILD -# -# Created: 30 Dec 2010 by Vladimir Dudnik (vladimir.dudnik@intel.com) -# - -set(IPP_FOUND) -set(IPP_VERSION_STR "5.3.0.0") # will not detect earlier versions -set(IPP_VERSION_MAJOR 0) -set(IPP_VERSION_MINOR 0) -set(IPP_VERSION_BUILD 0) -set(IPP_ROOT_DIR) -set(IPP_INCLUDE_DIRS) -set(IPP_LIBRARY_DIRS) -set(IPP_LIBRARIES) -set(IPP_LIB_PREFIX ${CMAKE_STATIC_LIBRARY_PREFIX}) -set(IPP_LIB_SUFFIX ${CMAKE_STATIC_LIBRARY_SUFFIX}) -set(IPP_PREFIX "ipp") -set(IPP_SUFFIX "_l") -set(IPPCORE "core") # core functionality -set(IPPS "s") # signal processing -set(IPPI "i") # image processing -set(IPPCC "cc") # color conversion -set(IPPCV "cv") # computer vision -set(IPPVM "vm") # vector math - - -set(IPP_X64 0) -if (CMAKE_SIZEOF_VOID_P EQUAL 8) - set(IPP_X64 1) -endif() -if (CMAKE_CL_64) - set(IPP_X64 1) -endif() - -# ------------------------------------------------------------------------ -# This function detect IPP version by analyzing ippversion.h file -# Note, ippversion.h file was inroduced since IPP 5.3 -# ------------------------------------------------------------------------ -function(get_ipp_version _ROOT_DIR) - set(_VERSION_STR) - set(_MAJOR) - set(_MINOR) - set(_BUILD) - - # read IPP version info from file - file(STRINGS ${_ROOT_DIR}/include/ippversion.h STR1 REGEX "IPP_VERSION_MAJOR") - file(STRINGS ${_ROOT_DIR}/include/ippversion.h STR2 REGEX "IPP_VERSION_MINOR") - file(STRINGS ${_ROOT_DIR}/include/ippversion.h STR3 REGEX "IPP_VERSION_BUILD") - - if(NOT STR3) - file(STRINGS ${_ROOT_DIR}/include/ippversion.h STR3 REGEX "IPP_VERSION_UPDATE") - endif() - - file(STRINGS ${_ROOT_DIR}/include/ippversion.h STR4 REGEX "IPP_VERSION_STR") - - # extract info and assign to variables - string(REGEX MATCHALL "[0-9]+" _MAJOR ${STR1}) - string(REGEX MATCHALL "[0-9]+" _MINOR ${STR2}) - string(REGEX MATCHALL "[0-9]+" _BUILD ${STR3}) - string(REGEX MATCHALL "[0-9]+[.]+[0-9]+[^\"]+|[0-9]+[.]+[0-9]+" _VERSION_STR ${STR4}) - - # export info to parent scope - set(IPP_VERSION_STR ${_VERSION_STR} PARENT_SCOPE) - set(IPP_VERSION_MAJOR ${_MAJOR} PARENT_SCOPE) - set(IPP_VERSION_MINOR ${_MINOR} PARENT_SCOPE) - set(IPP_VERSION_BUILD ${_BUILD} PARENT_SCOPE) - - message(STATUS "found IPP: ${_MAJOR}.${_MINOR}.${_BUILD} [${_VERSION_STR}]") - message(STATUS "at: ${_ROOT_DIR}") - - return() - -endfunction() - - -# ------------------------------------------------------------------------ -# This is auxiliary function called from set_ipp_variables() -# to set IPP_LIBRARIES variable in IPP 6.x style (IPP 5.3 should also work) -# ------------------------------------------------------------------------ -function(set_ipp_old_libraries) - set(IPP_PREFIX "ipp") - set(IPP_SUFFIX) # old style static core libs suffix - set(IPP_ARCH) # architecture suffix - set(IPP_DISP "emerged") # old style dipatcher and cpu-specific - set(IPP_MRGD "merged") # static libraries - set(IPPCORE "core") # core functionality - set(IPPSP "s") # signal processing - set(IPPIP "i") # image processing - set(IPPCC "cc") # color conversion - set(IPPCV "cv") # computer vision - set(IPPVM "vm") # vector math - - if (IPP_X64) - set(IPP_ARCH "em64t") - endif() - - if(WIN32) - set(IPP_SUFFIX "l") - endif() - - set(IPP_LIBRARIES - ${IPP_LIB_PREFIX}${IPP_PREFIX}${IPPVM}${IPP_MRGD}${IPP_ARCH}${IPP_LIB_SUFFIX} - ${IPP_LIB_PREFIX}${IPP_PREFIX}${IPPVM}${IPP_DISP}${IPP_ARCH}${IPP_LIB_SUFFIX} - ${IPP_LIB_PREFIX}${IPP_PREFIX}${IPPCC}${IPP_MRGD}${IPP_ARCH}${IPP_LIB_SUFFIX} - ${IPP_LIB_PREFIX}${IPP_PREFIX}${IPPCC}${IPP_DISP}${IPP_ARCH}${IPP_LIB_SUFFIX} - ${IPP_LIB_PREFIX}${IPP_PREFIX}${IPPCV}${IPP_MRGD}${IPP_ARCH}${IPP_LIB_SUFFIX} - ${IPP_LIB_PREFIX}${IPP_PREFIX}${IPPCV}${IPP_DISP}${IPP_ARCH}${IPP_LIB_SUFFIX} - ${IPP_LIB_PREFIX}${IPP_PREFIX}${IPPIP}${IPP_MRGD}${IPP_ARCH}${IPP_LIB_SUFFIX} - ${IPP_LIB_PREFIX}${IPP_PREFIX}${IPPIP}${IPP_DISP}${IPP_ARCH}${IPP_LIB_SUFFIX} - ${IPP_LIB_PREFIX}${IPP_PREFIX}${IPPSP}${IPP_MRGD}${IPP_ARCH}${IPP_LIB_SUFFIX} - ${IPP_LIB_PREFIX}${IPP_PREFIX}${IPPSP}${IPP_DISP}${IPP_ARCH}${IPP_LIB_SUFFIX} - ${IPP_LIB_PREFIX}${IPP_PREFIX}${IPPCORE}${IPP_ARCH}${IPP_SUFFIX}${IPP_LIB_SUFFIX} - PARENT_SCOPE) - - return() - -endfunction() - - -# ------------------------------------------------------------------------ -# This is auxiliary function called from set_ipp_variables() -# to set IPP_LIBRARIES variable in IPP 7.x style -# ------------------------------------------------------------------------ -function(set_ipp_new_libraries) - set(IPP_PREFIX "ipp") - set(IPP_SUFFIX "_l") # static not threaded libs suffix - set(IPP_THRD "_t") # static threaded libs suffix - set(IPPCORE "core") # core functionality - set(IPPSP "s") # signal processing - set(IPPIP "i") # image processing - set(IPPCC "cc") # color conversion - set(IPPCV "cv") # computer vision - set(IPPVM "vm") # vector math - - set(IPP_LIBRARIES - ${IPP_LIB_PREFIX}${IPP_PREFIX}${IPPVM}${IPP_SUFFIX}${IPP_LIB_SUFFIX} - ${IPP_LIB_PREFIX}${IPP_PREFIX}${IPPCC}${IPP_SUFFIX}${IPP_LIB_SUFFIX} - ${IPP_LIB_PREFIX}${IPP_PREFIX}${IPPCV}${IPP_SUFFIX}${IPP_LIB_SUFFIX} - ${IPP_LIB_PREFIX}${IPP_PREFIX}${IPPI}${IPP_SUFFIX}${IPP_LIB_SUFFIX} - ${IPP_LIB_PREFIX}${IPP_PREFIX}${IPPS}${IPP_SUFFIX}${IPP_LIB_SUFFIX} - ${IPP_LIB_PREFIX}${IPP_PREFIX}${IPPCORE}${IPP_SUFFIX}${IPP_LIB_SUFFIX} - PARENT_SCOPE) - - return() - -endfunction() - - -# ------------------------------------------------------------------------ -# This function will set -# IPP_INCLUDE_DIRS, IPP_LIBRARY_DIRS and IPP_LIBRARIES variables depending -# on IPP version parameter. -# Since IPP 7.0 version library names and install folder structure -# was changed -# ------------------------------------------------------------------------ -function(set_ipp_variables _LATEST_VERSION) - if(${_LATEST_VERSION} VERSION_LESS "7.0") -# message(STATUS "old") - - # set INCLUDE and LIB folders - set(IPP_INCLUDE_DIRS ${IPP_ROOT_DIR}/include PARENT_SCOPE) - set(IPP_LIBRARY_DIRS ${IPP_ROOT_DIR}/lib PARENT_SCOPE) - - if (IPP_X64) - if(NOT EXISTS ${IPP_ROOT_DIR}/../em64t) - message(SEND_ERROR "IPP EM64T libraries not found") - endif() - else() - if(NOT EXISTS ${IPP_ROOT_DIR}/../ia32) - message(SEND_ERROR "IPP IA32 libraries not found") - endif() - endif() - - # set IPP_LIBRARIES variable (6.x lib names) - set_ipp_old_libraries() - set(IPP_LIBRARIES ${IPP_LIBRARIES} PARENT_SCOPE) - message(STATUS "IPP libs: ${IPP_LIBRARIES}") - - else() -# message(STATUS "new") - - # set INCLUDE and LIB folders - set(IPP_INCLUDE_DIRS ${IPP_ROOT_DIR}/include PARENT_SCOPE) - - if(APPLE) - set(IPP_LIBRARY_DIRS ${IPP_ROOT_DIR}/lib PARENT_SCOPE) - else() - if(IPP_X64) - if(NOT EXISTS ${IPP_ROOT_DIR}/lib/intel64) - message(SEND_ERROR "IPP EM64T libraries not found") - endif() - set(IPP_LIBRARY_DIRS ${IPP_ROOT_DIR}/lib/intel64 PARENT_SCOPE) - else() - if(NOT EXISTS ${IPP_ROOT_DIR}/lib/ia32) - message(SEND_ERROR "IPP IA32 libraries not found") - endif() - set(IPP_LIBRARY_DIRS ${IPP_ROOT_DIR}/lib/ia32 PARENT_SCOPE) - endif() - endif() - - # set IPP_LIBRARIES variable (7.x lib names) - set_ipp_new_libraries() - set(IPP_LIBRARIES ${IPP_LIBRARIES} PARENT_SCOPE) - message(STATUS "IPP libs: ${IPP_LIBRARIES}") - - endif() - - return() - -endfunction() - - -# ------------------------------------------------------------------------ -# This section will look for IPP through IPPROOT env variable -# Note, IPPROOT is not set by IPP installer, you may need to set it manually -# ------------------------------------------------------------------------ -find_path( - IPP_H_PATH - NAMES ippversion.h - PATHS $ENV{IPPROOT} - PATH_SUFFIXES include - DOC "The path to Intel(R) IPP header files" - NO_DEFAULT_PATH - NO_CMAKE_PATH) - -if(IPP_H_PATH) - set(IPP_FOUND 1) - - # traverse up to IPPROOT level - get_filename_component(IPP_ROOT_DIR ${IPP_H_PATH} PATH) - - # extract IPP version info - get_ipp_version(${IPP_ROOT_DIR}) - - # keep info in the same vars for auto search and search by IPPROOT - set(IPP_LATEST_VERSION_STR ${IPP_VERSION_STR}) - set(IPP_LATEST_VERSION_MAJOR ${IPP_VERSION_MAJOR}) - set(IPP_LATEST_VERSION_MINOR ${IPP_VERSION_MINOR}) - set(IPP_LATEST_VERSION_BUILD ${IPP_VERSION_BUILD}) - - # set IPP INCLUDE, LIB dirs and library names - set_ipp_variables(${IPP_LATEST_VERSION_STR}) -endif() - - -if(NOT IPP_FOUND) - # reset var from previous search - set(IPP_H_PATH) - - - # ------------------------------------------------------------------------ - # This section will look for IPP through system program folders - # Note, if several IPP installations found the newest version will be - # selected - # ------------------------------------------------------------------------ - foreach(curdir ${CMAKE_SYSTEM_PREFIX_PATH} /opt) - set(curdir ${curdir}/intel) - file(TO_CMAKE_PATH ${curdir} CURDIR) - - if(EXISTS ${curdir}) - file(GLOB_RECURSE IPP_H_DIR ${curdir}/ippversion.h) - - if(IPP_H_DIR) - set(IPP_FOUND 1) - endif() - - # init IPP_LATEST_VERSION version with oldest detectable version (5.3.0.0) - # IPP prior 5.3 did not have ippversion.h file - set(IPP_LATEST_VERSION_STR ${IPP_VERSION_STR}) - - # look through all dirs where ippversion.h was found - foreach(item ${IPP_H_DIR}) - - # traverse up to IPPROOT level - get_filename_component(_FILE_PATH ${item} PATH) - get_filename_component(_ROOT_DIR ${_FILE_PATH} PATH) - - # extract IPP version info - get_ipp_version(${_ROOT_DIR}) - - # remember the latest version (if many found) - if(${IPP_LATEST_VERSION_STR} VERSION_LESS ${IPP_VERSION_STR}) - set(IPP_LATEST_VERSION_STR ${IPP_VERSION_STR}) - set(IPP_LATEST_VERSION_MAJOR ${IPP_VERSION_MAJOR}) - set(IPP_LATEST_VERSION_MINOR ${IPP_VERSION_MINOR}) - set(IPP_LATEST_VERSION_BUILD ${IPP_VERSION_BUILD}) - set(IPP_ROOT_DIR ${_ROOT_DIR}) - endif() - endforeach() - endif() - endforeach() -endif() - -if(IPP_FOUND) - # set IPP INCLUDE, LIB dirs and library names - set_ipp_variables(${IPP_LATEST_VERSION_STR}) - - # set CACHE variable IPP_H_PATH, - # path to IPP header files for the latest version - find_path( - IPP_H_PATH - NAMES ippversion.h - PATHS ${IPP_ROOT_DIR} - PATH_SUFFIXES include - DOC "The path to Intel(R) IPP header files" - NO_DEFAULT_PATH - NO_CMAKE_PATH) -endif() - -if(WIN32 AND MINGW AND NOT IPP_LATEST_VERSION_MAJOR LESS 7) - # Since IPP built with Microsoft compiler and /GS option - # ====================================================== - # From Windows SDK 7.1 - # (usually in "C:\Program Files\Microsoft Visual Studio 10.0\VC\lib"), - # to avoid undefined reference to __security_cookie and _chkstk: - set(MSV_RUNTMCHK "RunTmChk") - set(IPP_LIBRARIES ${IPP_LIBRARIES} ${MSV_RUNTMCHK}${IPP_LIB_SUFFIX}) - - # To avoid undefined reference to _alldiv and _chkstk - # =================================================== - # NB: it may require a recompilation of w32api (after having modified - # the file ntdll.def) to export the required functions - # See http://code.opencv.org/issues/1906 for additional details - set(MSV_NTDLL "ntdll") - set(IPP_LIBRARIES ${IPP_LIBRARIES} ${MSV_NTDLL}${IPP_LIB_SUFFIX}) -endif() - -# ------------------------------------------------------------------------ -# This section will look for the IPP "compiler" dependent library -# libiomp5. -# ------------------------------------------------------------------------ -foreach(curdir ${CMAKE_SYSTEM_PREFIX_PATH} /opt) - set(curdir ${curdir}/intel) - - if(EXISTS ${curdir}) - file(GLOB_RECURSE liblist FOLLOW_SYMLINKS ${curdir}/libiomp5.*) - foreach(lib ${liblist}) - get_filename_component(libdir ${lib} REALPATH) - get_filename_component(libdir ${libdir} PATH) - - if(${IPP_VERSION_MAJOR} VERSION_LESS "7") - set(IPP_COMPILER_LIBRARY_DIRS ${libdir}) - set(IPP_COMPILER_LIBRARIES iomp5) - else() - if(APPLE) - set(IPP_COMPILER_LIBRARY_DIRS ${libdir}) - set(IPP_COMPILER_LIBRARIES iomp5) - else() - if(IPP_X64) - if(("${libdir}" MATCHES "intel64")) - set(IPP_COMPILER_LIBRARY_DIRS ${libdir}) - set(IPP_COMPILER_LIBRARIES iomp5) - endif() - else() - set(IPP_COMPILER_LIBRARY_DIRS ${libdir}) - set(IPP_COMPILER_LIBRARIES iomp5) - endif() - endif() - endif() - endforeach(lib) - endif() -endforeach(curdir) - -# ------------------------------------------------------------------------ -# Build fullpath library list. -# ------------------------------------------------------------------------ -find_library(LIB_IPPI ippi PATHS ${IPP_LIBRARY_DIRS}) -set(IPP_LIBRARY_LIST ${IPP_LIBRARY_LIST} ${LIB_IPPI}) -find_library(LIB_IPPS ipps PATHS ${IPP_LIBRARY_DIRS}) -set(IPP_LIBRARY_LIST ${IPP_LIBRARY_LIST} ${LIB_IPPS}) -find_library(LIB_IPPCORE ippcore PATHS ${IPP_LIBRARY_DIRS}) -set(IPP_LIBRARY_LIST ${IPP_LIBRARY_LIST} ${LIB_IPPCORE}) -find_library(LIB_IOMP5 iomp5 PATHS ${IPP_COMPILER_LIBRARY_DIRS}) -set(IPP_LIBRARY_LIST ${IPP_LIBRARY_LIST} ${LIB_IOMP5}) - - diff --git a/include/config/config.h.in b/include/config/config.h.in index 0c6ec7b8e..460389b92 100644 --- a/include/config/config.h.in +++ b/include/config/config.h.in @@ -18,7 +18,6 @@ #cmakedefine WITH_GPROF #cmakedefine WITH_SSE2 #cmakedefine WITH_NEON -#cmakedefine WITH_IPP #cmakedefine WITH_CUPS #cmakedefine WITH_JPEG #cmakedefine WITH_WIN8 diff --git a/include/freerdp/primitives.h b/include/freerdp/primitives.h index 20b74d659..29f103aa6 100644 --- a/include/freerdp/primitives.h +++ b/include/freerdp/primitives.h @@ -70,12 +70,11 @@ enum PRIM_FLAGS_HAVE_EXTGPU = (1U << 1), /* primitives are using the GPU */ }; -/* Structures compatible with IPP */ typedef struct { UINT32 width; UINT32 height; -} prim_size_t; /* like IppiSize */ +} prim_size_t; typedef enum { diff --git a/libfreerdp/CMakeLists.txt b/libfreerdp/CMakeLists.txt index b897f2fbf..54c9cd1bf 100644 --- a/libfreerdp/CMakeLists.txt +++ b/libfreerdp/CMakeLists.txt @@ -21,15 +21,6 @@ set(MODULE_PREFIX "FREERDP") # CMake modules includes include(FindCairo) -# Create imported targets for Intel IPP libraries - -if(IPP_FOUND) - foreach(ipp_lib ${IPP_LIBRARIES}) - add_library("${ipp_lib}_imported" STATIC IMPORTED) - set_property(TARGET "${ipp_lib}_imported" PROPERTY IMPORTED_LOCATION "${IPP_LIBRARY_DIRS}/${ipp_lib}") - endforeach() -endif() - set(LIBFREERDP_DIR ${CMAKE_CURRENT_SOURCE_DIR}) set(LIBFREERDP_SRCS "") set(LIBFREERDP_LIBS "") @@ -376,15 +367,6 @@ set(PRIMITIVES_OPT_SRCS ${PRIMITIVES_SSSE3_SRCS} ${PRIMITIVES_OPENCL_SRCS}) -### IPP Variable debugging -if(WITH_IPP) - if(CMAKE_COMPILER_IS_GNUCC OR ${CMAKE_C_COMPILER_ID} STREQUAL "Clang") - foreach(INCLDIR ${IPP_INCLUDE_DIRS}) - set(OPTIMIZATION "${OPTIMIZATION} -I${INCLDIR}") - endforeach(INCLDIR) - endif() -endif() - if(WITH_SSE2) if(CMAKE_COMPILER_IS_GNUCC OR ${CMAKE_C_COMPILER_ID} STREQUAL "Clang") set_source_files_properties(${PRIMITIVES_SSE2_SRCS} @@ -413,13 +395,6 @@ set(PRIMITIVES_SRCS ${PRIMITIVES_SRCS} ${PRIMITIVES_OPT_SRCS}) freerdp_module_add(${PRIMITIVES_SRCS}) -if(IPP_FOUND) - freerdp_include_directory_add(${IPP_INCLUDE_DIRS}) - foreach(ipp_lib ${IPP_LIBRARIES}) - freerdp_library_add("${ipp_lib}_imported") - endforeach() -endif() - if(BUILD_TESTING AND NOT WIN32 AND NOT APPLE) add_subdirectory(primitives/test) endif() diff --git a/libfreerdp/primitives/prim_alphaComp.c b/libfreerdp/primitives/prim_alphaComp.c index fe4f8dc98..ae4917d88 100644 --- a/libfreerdp/primitives/prim_alphaComp.c +++ b/libfreerdp/primitives/prim_alphaComp.c @@ -17,7 +17,6 @@ * newval = alpha1*val1 + (1-alpha1)*val2 * rather than * newval = alpha1*val1 + (1-alpha1)*alpha2*val2 - * The IPP gives other options. */ #include diff --git a/libfreerdp/primitives/prim_copy.c b/libfreerdp/primitives/prim_copy.c index f140c20aa..14b936def 100644 --- a/libfreerdp/primitives/prim_copy.c +++ b/libfreerdp/primitives/prim_copy.c @@ -18,10 +18,6 @@ #include #include #include -#ifdef WITH_IPP -#include -#include -#endif /* WITH_IPP */ #include "prim_internal.h" static primitives_t* generic = NULL; @@ -132,19 +128,6 @@ static pstatus_t general_copy_8u_AC4r(const BYTE* pSrc, INT32 srcStep, BYTE* pDs return PRIMITIVES_SUCCESS; } -#ifdef WITH_IPP -/* ------------------------------------------------------------------------- */ -/* This is just ippiCopy_8u_AC4R without the IppiSize structure parameter. */ -static pstatus_t ippiCopy_8u_AC4r(const BYTE* pSrc, INT32 srcStep, BYTE* pDst, INT32 dstStep, - INT32 width, INT32 height) -{ - IppiSize roi; - roi.width = width; - roi.height = height; - return (pstatus_t)ippiCopy_8u_AC4R(pSrc, srcStep, pDst, dstStep, roi); -} -#endif /* WITH_IPP */ - /* ------------------------------------------------------------------------- */ void primitives_init_copy(primitives_t* prims) { @@ -161,10 +144,6 @@ void primitives_init_copy_opt(primitives_t* prims) generic = primitives_get_generic(); primitives_init_copy(prims); /* Pick tuned versions if possible. */ -#ifdef WITH_IPP - prims->copy_8u = (__copy_8u_t)ippsCopy_8u; - prims->copy_8u_AC4r = (__copy_8u_AC4r_t)ippiCopy_8u_AC4r; -#endif /* Performance with an SSE2 version with no prefetch seemed to be * all over the map vs. memcpy. * Sometimes it was significantly faster, sometimes dreadfully slower,