summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
authorChuanbo Weng <chuanbo.weng@intel.com>2016-09-07 18:59:05 +0800
committerYang Rong <rong.r.yang@intel.com>2016-09-12 16:48:52 +0800
commita892148ee12cbaa021b680c4d770e53fab511366 (patch)
treec342b5e66f0b3a4761db94cd3dd8b2f022f3c733 /src/CMakeLists.txt
parent7fb38b6df350908276ed214d6650074faff43b7a (diff)
downloadbeignet-a892148ee12cbaa021b680c4d770e53fab511366.tar.gz
Runtime: re-enable cl_khr_gl_sharing with existing egl extension.
In order to query low level layout of GL buffer object/texture/render buffer, previous implementation introduced an egl extension and implemented in Beignet side. This way is broken once mesa change its related internal code. In this patch, we use an new egl extension (EGL_MESA_image_dma_buf_export) to query related layout infomations of gl texture. Since this egl extension is already accepted by Khronos, so it's a stable method. This patch just implement GL texture 2d buffer sharing, and we will implement other target type if necessary. v2: Add CMake build option to enable cl_khr_gl_sharing(default off). Clean up related CMake code. Signed-off-by: Chuanbo Weng <chuanbo.weng@intel.com> Reviewed-by: Yang Rong <rong.r.yang@intel.com>
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index cec7cfcd..009d0576 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -3,8 +3,9 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}
${DRM_INCLUDE_DIRS}/../
${CMAKE_CURRENT_SOURCE_DIR}/../backend/src/backend/
${CMAKE_CURRENT_SOURCE_DIR}/../include
- ${MESA_SOURCE_INCLUDES}
- ${LLVM_INCLUDE_DIR})
+ ${LLVM_INCLUDE_DIR}
+ ${OPENGL_INCLUDE_DIRS}
+ ${EGL_INCLUDE_DIRS})
macro (MakeKernelBinStr KERNEL_PATH KERNEL_FILES)
foreach (KF ${KERNEL_FILES})
@@ -109,14 +110,11 @@ if (CMRT_FOUND)
set(OPENCL_SRC ${OPENCL_SRC} cl_cmrt.cpp)
endif (CMRT_FOUND)
-if (EGL_FOUND AND MESA_SOURCE_FOUND)
- set (OPENCL_SRC ${OPENCL_SRC} cl_mem_gl.c cl_gl_api.c x11/mesa_egl_extension.c x11/mesa_egl_res_share.c intel/intel_dri_resource_sharing.c)
- SET(CMAKE_CXX_FLAGS "-DHAS_EGL ${CMAKE_CXX_FLAGS}")
- SET(CMAKE_C_FLAGS "-DHAS_EGL ${CMAKE_C_FLAGS}")
- SET(OPTIONAL_EGL_LIBRARY "${EGL_LIBRARY}")
-else(EGL_FOUND AND MESA_SOURCE_FOUND)
- SET(OPTIONAL_EGL_LIBRARY "")
-endif (EGL_FOUND AND MESA_SOURCE_FOUND)
+if (OPENGL_FOUND AND EGL_FOUND)
+ set (OPENCL_SRC ${OPENCL_SRC} cl_mem_gl.c cl_gl_api.c )
+ SET(CMAKE_CXX_FLAGS "-DHAS_GL_EGL ${CMAKE_CXX_FLAGS}")
+ SET(CMAKE_C_FLAGS "-DHAS_GL_EGL ${CMAKE_C_FLAGS}")
+endif (OPENGL_FOUND AND EGL_FOUND)
if (OCLIcd_FOUND)
set (OPENCL_SRC ${OPENCL_SRC} cl_khr_icd.c)
@@ -157,7 +155,7 @@ add_custom_target(${GIT_SHA1} ALL
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-Bsymbolic,--allow-shlib-undefined")
-link_directories (${LLVM_LIBRARY_DIR} ${DRM_LIBDIR})
+link_directories (${LLVM_LIBRARY_DIR} ${DRM_LIBDIR} ${OPENGL_LIBDIR} ${EGL_LIBDIR})
add_library(cl SHARED ${OPENCL_SRC})
ADD_DEPENDENCIES(cl ${GIT_SHA1})
target_link_libraries(
@@ -171,5 +169,5 @@ target_link_libraries(
${CMAKE_THREAD_LIBS_INIT}
${CMAKE_DL_LIBS}
${OPENGL_LIBRARIES}
- ${OPTIONAL_EGL_LIBRARY})
+ ${EGL_LIBRARIES})
install (TARGETS cl LIBRARY DESTINATION ${BEIGNET_INSTALL_DIR})