@@ -29,6 +29,30 @@ else()
2929 add_executable (fake-media-acceld src/fake/fake-media-acceld.c )
3030 target_link_libraries (fake-media-acceld PRIVATE fma-common )
3131
32+ include (GNUInstallDirs )
33+ find_package (PkgConfig QUIET )
34+ if (PkgConfig_FOUND)
35+ pkg_check_modules (LIBVA QUIET IMPORTED_TARGET libva )
36+ endif ()
37+ if (LIBVA_FOUND)
38+ add_library (fma-va-driver SHARED
39+ src/va/fma_drv_video.c
40+ src/va/h264_annexb.c
41+ )
42+ target_include_directories (fma-va-driver PRIVATE include src/va )
43+ target_link_libraries (fma-va-driver PRIVATE fma-client PkgConfig::LIBVA )
44+ set_target_properties (fma-va-driver PROPERTIES
45+ OUTPUT_NAME fma_drv_video
46+ PREFIX ""
47+ )
48+ install (TARGETS fma-va-driver
49+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} /dri)
50+ add_executable (fma-va-driver-test tests/va-driver-test.c )
51+ target_link_libraries (fma-va-driver-test PRIVATE
52+ fma-va-driver PkgConfig::LIBVA
53+ )
54+ endif ()
55+
3256 include (CTest )
3357 if (BUILD_TESTING)
3458 add_executable (fma-protocol-test tests/protocol-test.c )
@@ -41,5 +65,12 @@ else()
4165 ${CMAKE_BINARY_DIR } /fake-roundtrip.sock
4266 ${CMAKE_SOURCE_DIR } /LICENSE
4367 ${CMAKE_BINARY_DIR } /fake-roundtrip.nv12 )
68+ if (LIBVA_FOUND)
69+ add_test (NAME va-roundtrip
70+ COMMAND sh ${CMAKE_SOURCE_DIR } /tests/va-roundtrip.sh
71+ $<TARGET_FILE :fake -media -acceld >
72+ $<TARGET_FILE :fma -va -driver -test >
73+ ${CMAKE_BINARY_DIR } /va-roundtrip.sock )
74+ endif ()
4475 endif ()
4576endif ()
0 commit comments