Add support for VA-API and rocDecode tracing (#92)
- VA API tracing using Timemory gotcha wrappers. - rocDecode API tracing integration using callback to ROCPROFILER_CALLBACK_TRACING_ROCDECODE_API - Updated videodecode ctest to validate rocDecode APIs in perfetto trace.
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying file
|
||||
# Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
# ----------------------------------------------------------------------------------------#
|
||||
|
||||
set(LIBVA_HEADERS_INCLUDE_DIR_INTERNAL
|
||||
"${PROJECT_SOURCE_DIR}/source/lib/rocprof-sys/library/tpls"
|
||||
CACHE PATH "Path to internal va headers")
|
||||
|
||||
# ----------------------------------------------------------------------------------------#
|
||||
find_path(
|
||||
LIBVA_HEADERS_INCLUDE_DIR
|
||||
NAMES va/va.h
|
||||
PATHS /opt/amdgpu/include
|
||||
NO_DEFAULT_PATH)
|
||||
|
||||
if(NOT EXISTS "${LIBVA_HEADERS_INCLUDE_DIR}")
|
||||
rocprofiler_systems_message(
|
||||
AUTHOR_WARNING
|
||||
"VA API header does not exist! Setting LIBVA_HEADERS_INCLUDE_DIR to internal directory: ${LIBVA_HEADERS_INCLUDE_DIR}"
|
||||
)
|
||||
set(LIBVA_HEADERS_INCLUDE_DIR
|
||||
"${LIBVA_HEADERS_INCLUDE_DIR_INTERNAL}"
|
||||
CACHE PATH "Path to VA API headers" FORCE)
|
||||
else()
|
||||
rocprofiler_systems_message(STATUS
|
||||
"VA API header found: ${LIBVA_HEADERS_INCLUDE_DIR}")
|
||||
endif()
|
||||
|
||||
mark_as_advanced(LIBVA_HEADERS_INCLUDE_DIR)
|
||||
|
||||
# ----------------------------------------------------------------------------------------#
|
||||
|
||||
find_package_handle_standard_args(Libva-headers DEFAULT_MSG LIBVA_HEADERS_INCLUDE_DIR)
|
||||
|
||||
# ------------------------------------------------------------------------------#
|
||||
|
||||
if(Libva-headers_FOUND)
|
||||
add_library(roc::libva-headers INTERFACE IMPORTED)
|
||||
target_include_directories(roc::libva-headers SYSTEM
|
||||
INTERFACE ${LIBVA_HEADERS_INCLUDE_DIR})
|
||||
endif()
|
||||
|
||||
# ------------------------------------------------------------------------------#
|
||||
@@ -22,6 +22,8 @@ rocprofiler_systems_add_interface_library(
|
||||
"Provides flags for ROCm Communication Collectives Library (RCCL)")
|
||||
rocprofiler_systems_add_interface_library(rocprofiler-systems-mpi
|
||||
"Provides MPI or MPI headers")
|
||||
rocprofiler_systems_add_interface_library(rocprofiler-systems-libva
|
||||
"Provides VA-API headers")
|
||||
rocprofiler_systems_add_interface_library(rocprofiler-systems-bfd
|
||||
"Provides Binary File Descriptor (BFD)")
|
||||
rocprofiler_systems_add_interface_library(rocprofiler-systems-ptl
|
||||
@@ -690,6 +692,10 @@ if(ROCPROFSYS_USE_BFD)
|
||||
INTERFACE ROCPROFSYS_USE_BFD)
|
||||
endif()
|
||||
|
||||
find_package(Libva-headers ${rocprofiler_systems_FIND_QUIETLY} REQUIRED)
|
||||
target_include_directories(rocprofiler-systems-libva
|
||||
INTERFACE ${LIBVA_HEADERS_INCLUDE_DIR})
|
||||
|
||||
# ----------------------------------------------------------------------------------------#
|
||||
#
|
||||
# PTL (Parallel Tasking Library) submodule
|
||||
|
||||
Reference in New Issue
Block a user