mirror of
https://github.com/opencv/opencv.git
synced 2024-11-24 03:00:14 +08:00
097fc1a271
* Add CUDA support for D3D11 interop. #13888 color_detail.hpp: fixed build error : dynamic initialization is not supported for a __constant__ variable. directx.cpp: Add CUDA support(cl_nv_d3d11_sharing) for D3D11 interop. #13888 Update directx.cpp Format adjustment. Update directx.cpp fix error. Update directx.cpp Format adjustment Update directx.cpp fix trailing whitespace. fix format errors convert indentation to spaces . Trim trailing whitespace. Add information about source of cl_d3d11_ext.h Avoid unrelated changes. Increase compile-time conditional judgment. Increase the judgment of whether the OCL device has the required extensions at compile time. Add compilation option `HAVE_CLNVEXT`.Check CL support in runtime. Check result of `clGetExtensionFunctionAddressForPlatform` for KHR is invalid.It always can get the address(from OpenCL.dll),So I check NV support(from nvopencl64.dll) before KHR when `HAVE_CLNVEXT` is enabled. Delete cl_d3d11_ext.h Modified parameter list fix "cannot open include file: 'CL/cl_d3d11_ext.h'" remove not referenced var fix C2143: syntax error Improve compile-time judgment. dlrectx.cpp Modify the detection order. initializeContextFromD3D11Device: ``` // try with NV(Need to check it first) // try with KHR ``` fix warnig C4100 Revert "fix warnig C4100" This reverts commit 76e5becb67780071d0cbde61cc4f5f807ad7c5ac. fix warning C4100 fix warning C4505 Format alignment Format adjustment and automatically detect header files. Automatically detect header files when users are not configured or configuration errors occur. avoid unrelated changes. Update .cmake Update .cmake * fix build errors * fix warning:defined but not used * Revert "fix warning:defined but not used" This reverts commit7ab3537cd0
. * fix warning:defined but not used * fix build error for mac * fix build error for win * optimizing branch judgment * Revert "optimizing branch judgment" This reverts commit88b72b870e
. * fix warning C4702: unreachable code * remove unused code * Fix problems that may lead to undefined behavior * Add status check * fix error C2664,C2665 : cannot convert argument * Format adjustment VSCODE will automatically format the indentation to 4 spaces in some situation. * fix error C2440 * fix error C2440 * add cl_d3d11_ext.h * Format adjustment * remove unnecessary checks
86 lines
2.5 KiB
CMake
86 lines
2.5 KiB
CMake
set(OPENCL_FOUND ON CACHE BOOL "OpenCL library is found")
|
|
if(APPLE)
|
|
set(OPENCL_LIBRARY "-framework OpenCL" CACHE STRING "OpenCL library")
|
|
set(OPENCL_INCLUDE_DIR "" CACHE PATH "OpenCL include directory")
|
|
else()
|
|
set(OPENCL_LIBRARY "" CACHE STRING "OpenCL library")
|
|
set(OPENCL_INCLUDE_DIR "${OpenCV_SOURCE_DIR}/3rdparty/include/opencl/1.2" CACHE PATH "OpenCL include directory")
|
|
ocv_install_3rdparty_licenses(opencl-headers "${OpenCV_SOURCE_DIR}/3rdparty/include/opencl/LICENSE.txt")
|
|
endif()
|
|
mark_as_advanced(OPENCL_INCLUDE_DIR OPENCL_LIBRARY)
|
|
|
|
if(OPENCL_FOUND)
|
|
|
|
if(WITH_OPENCL_D3D11_NV AND EXISTS "${OPENCL_INCLUDE_DIR}/CL/cl_d3d11_ext.h")
|
|
set(HAVE_OPENCL_D3D11_NV ON)
|
|
endif()
|
|
|
|
if(OPENCL_LIBRARY)
|
|
set(HAVE_OPENCL_STATIC ON)
|
|
set(OPENCL_LIBRARIES "${OPENCL_LIBRARY}")
|
|
else()
|
|
set(HAVE_OPENCL_STATIC OFF)
|
|
endif()
|
|
|
|
if(NOT HAVE_OPENCL_STATIC)
|
|
try_compile(__VALID_OPENCL
|
|
"${OpenCV_BINARY_DIR}"
|
|
"${OpenCV_SOURCE_DIR}/cmake/checks/opencl.cpp"
|
|
CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${OPENCL_INCLUDE_DIR}"
|
|
OUTPUT_VARIABLE TRY_OUT
|
|
)
|
|
if(NOT TRY_OUT MATCHES "OpenCL is valid")
|
|
message(WARNING "Can't use OpenCL")
|
|
return()
|
|
endif()
|
|
endif()
|
|
|
|
set(HAVE_OPENCL 1)
|
|
|
|
if(WITH_OPENCL_SVM)
|
|
set(HAVE_OPENCL_SVM 1)
|
|
endif()
|
|
|
|
set(OPENCL_INCLUDE_DIRS ${OPENCL_INCLUDE_DIR})
|
|
|
|
if(WITH_OPENCLAMDFFT)
|
|
find_path(CLAMDFFT_ROOT_DIR
|
|
NAMES include/clAmdFft.h
|
|
PATHS ENV CLAMDFFT_PATH ENV ProgramFiles
|
|
PATH_SUFFIXES clAmdFft AMD/clAmdFft
|
|
DOC "AMD FFT root directory"
|
|
NO_DEFAULT_PATH)
|
|
|
|
find_path(CLAMDFFT_INCLUDE_DIR
|
|
NAMES clAmdFft.h
|
|
HINTS ${CLAMDFFT_ROOT_DIR}
|
|
PATH_SUFFIXES include
|
|
DOC "clAmdFft include directory")
|
|
|
|
if(CLAMDFFT_INCLUDE_DIR)
|
|
set(HAVE_CLAMDFFT 1)
|
|
list(APPEND OPENCL_INCLUDE_DIRS "${CLAMDFFT_INCLUDE_DIR}")
|
|
endif()
|
|
endif()
|
|
|
|
if(WITH_OPENCLAMDBLAS)
|
|
find_path(CLAMDBLAS_ROOT_DIR
|
|
NAMES include/clAmdBlas.h
|
|
PATHS ENV CLAMDBLAS_PATH ENV ProgramFiles
|
|
PATH_SUFFIXES clAmdBlas AMD/clAmdBlas
|
|
DOC "AMD FFT root directory"
|
|
NO_DEFAULT_PATH)
|
|
|
|
find_path(CLAMDBLAS_INCLUDE_DIR
|
|
NAMES clAmdBlas.h
|
|
HINTS ${CLAMDBLAS_ROOT_DIR}
|
|
PATH_SUFFIXES include
|
|
DOC "clAmdFft include directory")
|
|
|
|
if(CLAMDBLAS_INCLUDE_DIR)
|
|
set(HAVE_CLAMDBLAS 1)
|
|
list(APPEND OPENCL_INCLUDE_DIRS "${CLAMDBLAS_INCLUDE_DIR}")
|
|
endif()
|
|
endif()
|
|
endif()
|