summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorChuanbo Weng <chuanbo.weng@intel.com>2015-02-02 14:42:30 +0800
committerZhigang Gong <zhigang.gong@intel.com>2015-02-06 14:17:16 +0800
commit85cc6e5c50873722e29b2df2682795afba7b7ca4 (patch)
treea0c7d818e3f664a0438a5c0a7b95e15fe609b73e /CMakeLists.txt
parent79797d8646220e3537186e0bea63423ff9451d21 (diff)
downloadbeignet-85cc6e5c50873722e29b2df2682795afba7b7ca4.tar.gz
Add example to show libva buffer sharing with extension clCreateImageFromLibvaIntel.
This example reads a source nv12 file to a VASurface, and creates a target VASurface. Then creates corresponding cl image objects from them. After using ocl to do mirror effect post-processing on source VASurface, target VASurface is shown on screen by default. Code of loading nv12 file to VASurface are referenced from libva/test/encode/avcenc.c. v2: Delete 1920x1080.nv12 and 640x480.nv12 because of large size, add 256_128.nv12 as default test image. v3: 1. Re-org files: add libva as a submodule then use display related files. 2. Show result on screen by default instead of saving as a file. 3. Fix warnings. v4: Fix whitespace format warnings. v5: 1. Modify upload_nv12_to_surface to read a nv12 file and then upload it to an NV12 VASurface. Also modify store_surface_to_nv12. 2. Change the cl post-processing kernel from gray effect to mirror effect, which make demo cooler. 3. Minor fix of other problems. v6: Remove unnecessary OUTPUT_NV12_DEFAULT related code. Signed-off-by: Chuanbo Weng <chuanbo.weng@intel.com> Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Reviewed-by: "Guo, Yejun" <yejun.guo@intel.com>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt28
1 files changed, 28 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 38343c18..01ec1d81 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -183,6 +183,30 @@ ENDIF(OCLIcd_FOUND)
Find_Package(PythonInterp)
+OPTION(BUILD_EXAMPLES "Build examples" OFF)
+IF(BUILD_EXAMPLES)
+IF(NOT X11_FOUND)
+ MESSAGE(FATAL_ERROR "XLib is necessary for examples - not found")
+ENDIF(NOT X11_FOUND)
+# libva
+pkg_check_modules(LIBVA REQUIRED libva>=0.36.0)
+IF(LIBVA_FOUND)
+ MESSAGE(STATUS "Looking for LIBVA - found at ${LIBVA_PREFIX} ${LIBVA_VERSION}")
+ INCLUDE_DIRECTORIES(${LIBVA_INCLUDE_DIRS})
+ELSE(LIBVA_FOUND)
+ MESSAGE(STATUS "Looking for LIBVA (>= 0.36.0) - not found")
+ENDIF(LIBVA_FOUND)
+
+# libva-x11
+pkg_check_modules(LIBVA-X11 REQUIRED libva-x11>=0.36.0)
+IF(LIBVA-X11_FOUND)
+ MESSAGE(STATUS "Looking for LIBVA-X11 - found at ${LIBVA-X11_PREFIX} ${LIBVA-X11_VERSION}")
+ INCLUDE_DIRECTORIES(${LIBVA-X11_INCLUDE_DIRS})
+ELSE(LIBVA-X11_FOUND)
+ MESSAGE(STATUS "Looking for LIBVA-X11 (>= 0.36.0) - not found")
+ENDIF(LIBVA-X11_FOUND)
+ENDIF(BUILD_EXAMPLES)
+
ADD_SUBDIRECTORY(include)
ADD_SUBDIRECTORY(backend)
ADD_SUBDIRECTORY(src)
@@ -193,6 +217,10 @@ IF (NOT (USE_STANDALONE_GBE_COMPILER STREQUAL "true"))
ADD_SUBDIRECTORY(benchmark)
ENDIF (NOT (USE_STANDALONE_GBE_COMPILER STREQUAL "true"))
+IF(BUILD_EXAMPLES)
+ADD_SUBDIRECTORY(examples)
+ENDIF(BUILD_EXAMPLES)
+
SET(CPACK_PACKAGE_VERSION_MAJOR "${LIBCL_DRIVER_VERSION_MAJOR}")
SET(CPACK_PACKAGE_VERSION_MINOR "${LIBCL_DRIVER_VERSION_MINOR}")
SET(CPACK_PACKAGE_VERSION_PATCH "${LIBCL_DRIVER_VERSION_PATCH}")