blob: 9263139c63f6e20cf8e2d66b906245d06ec1a6e7 [file] [log] [blame] [edit]
# Vulkan video support libraries
if (NOT DEQP_DISABLE_VK_VIDEO_TESTS)
# Video parser and encoder library
add_subdirectory(${CMAKE_SOURCE_DIR}/external/vulkan-video-samples ${CMAKE_BINARY_DIR}/external/vulkan-video-samples EXCLUDE_FROM_ALL)
# YUV Video generator library
add_subdirectory(${CMAKE_SOURCE_DIR}/external/video_generator ${CMAKE_BINARY_DIR}/external/video_generator EXCLUDE_FROM_ALL)
endif()
include_directories(..)
if (NOT DEQP_DISABLE_VK_VIDEO_TESTS)
include_directories(${VULKAN_VIDEO_PARSER_INCLUDE_DIRS})
include_directories(${VULKAN_VIDEO_ENCODER_INCLUDE_DIRS})
include_directories(${VIDEO_GENERATOR_INCLUDE_DIR})
endif()
include_directories(.)
if (NOT DEQP_DISABLE_VK_VIDEO_TESTS)
add_compile_definitions(ENABLE_AV1_DECODER)
add_compile_definitions(DE_BUILD_VIDEO)
message(STATUS "Vulkan Video Tests: ENABLED (external dependencies required)")
else()
message(STATUS "Vulkan Video Tests: DISABLED (tests will report NotSupported)")
endif()
set(DEQP_VK_VIDEO_SRC_TARGET_DEPENDENT
vktDemuxer.hpp
vktDemuxer.cpp
vktBufferedReader.hpp
vktVideoBaseDecodeUtils.hpp
vktVideoBaseDecodeUtils.cpp
vktVideoFrameBuffer.hpp
vktVideoFrameBuffer.cpp
vktBitstreamBufferImpl.hpp
vktBitstreamBufferImpl.cpp
)
# Exclude external dependency files when video tests are disabled
if (DEQP_DISABLE_VK_VIDEO_TESTS)
list(REMOVE_ITEM DEQP_VK_VIDEO_SRC_TARGET_DEPENDENT
vktDemuxer.hpp
vktDemuxer.cpp
vktBufferedReader.hpp
vktVideoBaseDecodeUtils.cpp
vktVideoFrameBuffer.hpp
vktVideoFrameBuffer.cpp
vktBitstreamBufferImpl.hpp
vktBitstreamBufferImpl.cpp
)
endif()
set(DEQP_VK_VIDEO_SRCS_TARGET_INDEPENDENT
vktVideoCapabilitiesTests.cpp
vktVideoCapabilitiesTests.hpp
vktVideoDecodeTests.cpp
vktVideoDecodeTests.hpp
vktVideoEncodeTests.cpp
vktVideoEncodeTests.hpp
vktVideoEncodeTestsAV1.cpp
vktVideoProfilesValidationTests.cpp
vktVideoProfilesValidationTests.hpp
vktVideoTestUtils.cpp
vktVideoTestUtils.hpp
vktVideoTests.cpp
vktVideoTests.hpp
vktVideoClipInfo.cpp
vktVideoClipInfo.hpp
)
set(DEQP_VK_VIDEO_SRCS
${DEQP_VK_VIDEO_SRC_TARGET_DEPENDENT}
${DEQP_VK_VIDEO_SRCS_TARGET_INDEPENDENT}
)
set(DEQP_VK_VIDEO_LIBS
tcutil
vkutil
)
if (NOT DEQP_DISABLE_VK_VIDEO_TESTS)
list(APPEND DEQP_VK_VIDEO_LIBS
${VULKAN_VIDEO_PARSER_LIBRARY}
${VULKAN_VIDEO_ENCODER_LIBRARY}
${VIDEO_GENERATOR_STATIC_LIB}
)
endif()
PCH(DEQP_VK_VIDEO_SRCS ../pch.cpp)
add_library(deqp-vk-video STATIC ${DEQP_VK_VIDEO_SRCS})
target_link_libraries(deqp-vk-video deqp-vk-synchronization deqp-vk-image-util deqp-vk-ycbcr-util ${DEQP_VK_VIDEO_LIBS})
if (DE_OS_IS_UNIX)
# TODO: The NVIDIA samples app has hundreds of these warnings.
target_compile_options(deqp-vk-video PRIVATE "-Wno-conversion" "-Wno-sign-compare")
endif ()