[cmake] Allow disabling AVX2 extensions
This commit is contained in:
parent
3fe99c87a1
commit
0df01bcf8d
@ -23,6 +23,8 @@ option(WITH_PROFILER "Compile profiler." OFF)
|
|||||||
option(WITH_GPROF "Compile with GProf profiler." OFF)
|
option(WITH_GPROF "Compile with GProf profiler." OFF)
|
||||||
|
|
||||||
option(WITH_SSE2 "Enable SSE2 optimization." OFF)
|
option(WITH_SSE2 "Enable SSE2 optimization." OFF)
|
||||||
|
cmake_dependent_option(WITH_AVX2 "Compile AVX2 optimizations" ON "WITH_SSE2" OFF)
|
||||||
|
|
||||||
option(WITH_NEON "Enable NEON optimization." OFF)
|
option(WITH_NEON "Enable NEON optimization." OFF)
|
||||||
|
|
||||||
option(WITH_JPEG "Use JPEG decoding." OFF)
|
option(WITH_JPEG "Use JPEG decoding." OFF)
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
#cmakedefine WITH_PROFILER
|
#cmakedefine WITH_PROFILER
|
||||||
#cmakedefine WITH_GPROF
|
#cmakedefine WITH_GPROF
|
||||||
#cmakedefine WITH_SSE2
|
#cmakedefine WITH_SSE2
|
||||||
|
#cmakedefine WITH_AVX2
|
||||||
#cmakedefine WITH_NEON
|
#cmakedefine WITH_NEON
|
||||||
#cmakedefine WITH_CUPS
|
#cmakedefine WITH_CUPS
|
||||||
#cmakedefine WITH_JPEG
|
#cmakedefine WITH_JPEG
|
||||||
|
@ -87,9 +87,14 @@ set(PRIMITIVES_OPT_SRCS
|
|||||||
${PRIMITIVES_SSSE3_SRCS}
|
${PRIMITIVES_SSSE3_SRCS}
|
||||||
${PRIMITIVES_SSE4_1_SRCS}
|
${PRIMITIVES_SSE4_1_SRCS}
|
||||||
${PRIMITIVES_SSE4_2_SRCS}
|
${PRIMITIVES_SSE4_2_SRCS}
|
||||||
${PRIMITIVES_AVX2_SRCS}
|
|
||||||
${PRIMITIVES_OPENCL_SRCS})
|
${PRIMITIVES_OPENCL_SRCS})
|
||||||
|
|
||||||
|
if (WITH_AVX2)
|
||||||
|
list(APPEND PRIMITIVES_OPT_SRCS
|
||||||
|
${PRIMITIVES_AVX2_SRCS}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(PRIMITIVES_SRCS ${PRIMITIVES_SRCS} ${PRIMITIVES_OPT_SRCS})
|
set(PRIMITIVES_SRCS ${PRIMITIVES_SRCS} ${PRIMITIVES_OPT_SRCS})
|
||||||
|
|
||||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
@ -117,7 +122,7 @@ if(WITH_SSE2)
|
|||||||
if (PRIMITIVES_SSE4_2_SRCS)
|
if (PRIMITIVES_SSE4_2_SRCS)
|
||||||
set_source_files_properties(${PRIMITIVES_SSE4_2_SRCS} PROPERTIES COMPILE_FLAGS "-msse4.2" )
|
set_source_files_properties(${PRIMITIVES_SSE4_2_SRCS} PROPERTIES COMPILE_FLAGS "-msse4.2" )
|
||||||
endif()
|
endif()
|
||||||
if (PRIMITIVES_AVX2_SRCS)
|
if (PRIMITIVES_AVX2_SRCS AND WITH_AVX2)
|
||||||
set_source_files_properties(${PRIMITIVES_AVX2_SRCS} PROPERTIES COMPILE_FLAGS "-mavx2" )
|
set_source_files_properties(${PRIMITIVES_AVX2_SRCS} PROPERTIES COMPILE_FLAGS "-mavx2" )
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
@ -382,5 +382,7 @@ void primitives_init_copy(primitives_t* WINPR_RESTRICT prims)
|
|||||||
void primitives_init_copy_opt(primitives_t* prims)
|
void primitives_init_copy_opt(primitives_t* prims)
|
||||||
{
|
{
|
||||||
primitives_init_copy_sse41(prims);
|
primitives_init_copy_sse41(prims);
|
||||||
|
#if defined(WITH_AVX2)
|
||||||
primitives_init_copy_avx2(prims);
|
primitives_init_copy_avx2(prims);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -39,6 +39,9 @@ pstatus_t generic_image_copy_no_overlap_memcpy(
|
|||||||
UINT32 flags);
|
UINT32 flags);
|
||||||
|
|
||||||
void primitives_init_copy_sse41(primitives_t* prims);
|
void primitives_init_copy_sse41(primitives_t* prims);
|
||||||
|
|
||||||
|
#if defined(WITH_AVX2)
|
||||||
void primitives_init_copy_avx2(primitives_t* prims);
|
void primitives_init_copy_avx2(primitives_t* prims);
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user