Files
compute-runtime/shared/test/common/libult/CMakeLists.txt
Kamil Diedrich b36aa626bc Add support for USM shared in WSL for dGPU
This patch force KMD allocation path for USM shared
Additionally we force 64kb page from lock which is
required to properly program GPU VA

Related-To: NEO-6913
Signed-off-by: Kamil Diedrich kamil.diedrich@intel.com
2022-12-19 11:09:55 +01:00

244 lines
13 KiB
CMake

#
# Copyright (C) 2021-2022 Intel Corporation
#
# SPDX-License-Identifier: MIT
#
macro(macro_for_each_platform)
string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER)
foreach(BRANCH_DIR ${BRANCH_DIR_LIST})
foreach(BRANCH ${BRANCH_DIR_LIST})
set(SRC_FILE ${NEO_SHARED_DIRECTORY}${BRANCH_DIR}${CORE_TYPE_LOWER}${BRANCH}enable_hw_info_config_${PLATFORM_IT_LOWER}.cpp)
if(EXISTS ${SRC_FILE})
list(APPEND neo_libult_common_SRCS_ENABLE_TESTED_HW ${SRC_FILE})
endif()
set(SRC_FILE ${NEO_SHARED_DIRECTORY}${BRANCH_DIR}${CORE_TYPE_LOWER}${BRANCH}enable_compiler_product_helper_${PLATFORM_IT_LOWER}.cpp)
if(EXISTS ${SRC_FILE})
list(APPEND neo_libult_common_SRCS_ENABLE_TESTED_HW ${SRC_FILE})
endif()
set(SRC_FILE ${NEO_SHARED_DIRECTORY}/os_interface/linux/local${BRANCH_DIR_SUFFIX}${PLATFORM_IT_LOWER}/enable_ioctl_helper_${PLATFORM_IT_LOWER}.cpp)
if(EXISTS ${SRC_FILE})
list(APPEND neo_libult_common_SRCS_ENABLE_TESTED_HW_LINUX ${SRC_FILE})
endif()
set(SRC_FILE ${NEO_SHARED_DIRECTORY}/ail${BRANCH_DIR}${CORE_TYPE_LOWER}${BRANCH}${PLATFORM_IT_LOWER}/ail_configuration_${PLATFORM_IT_LOWER}.cpp)
if(EXISTS ${SRC_FILE})
list(APPEND neo_libult_common_SRCS_ENABLE_TESTED_HW ${SRC_FILE})
endif()
set(SRC_FILE ${NEO_SHARED_TEST_DIRECTORY}/common${BRANCH_DIR}${CORE_TYPE_LOWER}${BRANCH}${PLATFORM_IT_LOWER}/mock_hw_info_config_${PLATFORM_IT_LOWER}.cpp)
if(EXISTS ${SRC_FILE})
list(APPEND neo_libult_common_SRCS_ENABLE_TESTED_HW ${SRC_FILE})
endif()
endforeach()
endforeach()
endmacro()
macro(macro_for_each_core_type)
foreach(BRANCH_DIR ${BRANCH_DIR_LIST})
foreach(BRANCH ${BRANCH_DIR_LIST})
set(SRC_FILE ${NEO_SHARED_TEST_DIRECTORY}/common/${BRANCH}${CORE_TYPE_LOWER}/cmd_parse_${CORE_TYPE_LOWER}.cpp)
if(EXISTS ${SRC_FILE})
list(APPEND neo_libult_common_SRCS_ENABLE_TESTED_HW ${SRC_FILE})
endif()
set(SRC_FILE ${NEO_SHARED_TEST_DIRECTORY}/common/libult/${BRANCH}${CORE_TYPE_LOWER}.cpp)
if(EXISTS ${SRC_FILE})
list(APPEND neo_libult_common_SRCS_ENABLE_TESTED_HW ${SRC_FILE})
endif()
set(SRC_FILE ${NEO_SHARED_TEST_DIRECTORY}/common/${BRANCH}${CORE_TYPE_LOWER}/unit_test_helper_${CORE_TYPE_LOWER}.cpp)
if(EXISTS ${SRC_FILE})
list(APPEND neo_libult_common_SRCS_ENABLE_TESTED_HW ${SRC_FILE})
target_include_directories(neo_libult_common PRIVATE ${NEO_SHARED_TEST_DIRECTORY}/common/${BRANCH}${CORE_TYPE_LOWER}/definitions${BRANCH_DIR_SUFFIX})
endif()
foreach(SRC_IT "enable_family_full_core_" "implicit_scaling_")
set(SRC_FILE ${NEO_SHARED_DIRECTORY}${BRANCH}${CORE_TYPE_LOWER}${BRANCH_DIR}${SRC_IT}${CORE_TYPE_LOWER}.cpp)
if(EXISTS ${SRC_FILE})
list(APPEND neo_libult_common_SRCS_ENABLE_TESTED_HW ${SRC_FILE})
endif()
set(SRC_FILE ${NEO_SHARED_DIRECTORY}${BRANCH_DIR}${CORE_TYPE_LOWER}/${SRC_IT}${CORE_TYPE_LOWER}.cpp)
if(EXISTS ${SRC_FILE})
list(APPEND neo_libult_common_SRCS_ENABLE_TESTED_HW ${SRC_FILE})
endif()
endforeach()
endforeach()
endforeach()
apply_macro_for_each_platform("TESTED")
endmacro()
apply_macro_for_each_core_type("TESTED")
append_sources_from_properties(neo_libult_common_SRCS_ENABLE_TESTED_HW NEO_SRCS_ENABLE_CORE)
set(neo_libult_common_SRCS_LIB_ULT
${NEO_SHARED_DIRECTORY}/gmm_helper/resource_info_impl.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/base_ult_config_listener.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/base_ult_config_listener.h
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/aub_command_stream_receiver_fixture.h
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/command_stream_receiver_fixture.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/command_stream_receiver_fixture.h
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/command_stream_receiver_fixture.inl
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/device_fixture.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/device_fixture.h
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/gmm_callbacks_fixture.h
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/memory_allocator_fixture.h
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/memory_allocator_multi_device_fixture.h
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/memory_management_fixture.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/memory_management_fixture.h
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/memory_manager_fixture.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/memory_manager_fixture.h
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/mock_execution_environment_gmm_fixture.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/mock_execution_environment_gmm_fixture.h
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/tbx_command_stream_fixture.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/tbx_command_stream_fixture.h
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/debug_helpers.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/execution_environment_helper.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/execution_environment_helper.h
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/kernel_binary_helper.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/kernel_binary_helper.h
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/kernel_binary_helper_hash_value.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/kernel_filename_helper.h
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/memory_leak_listener.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/memory_leak_listener.h
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/memory_management.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/memory_management.h
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/mock_hw_info_config_hw.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/mock_hw_info_config_hw.h
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/sip_init.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/test_files.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/test_files.h
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/unit_test_helper.h
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/unit_test_helper.inl
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/unit_test_helper_bdw_and_later.inl
${NEO_SHARED_TEST_DIRECTORY}/common/libult/abort.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/libult/create_tbx_sockets.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/libult/debug_settings_reader_creator.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/libult/global_environment.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/libult/global_environment.h
${NEO_SHARED_TEST_DIRECTORY}/common/libult/io_functions.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/libult/options_unit_tests.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/libult/signal_utils.h
${NEO_SHARED_TEST_DIRECTORY}/common/libult/sleep.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/libult/source_level_debugger_library.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/libult/source_level_debugger_library.h
${NEO_SHARED_TEST_DIRECTORY}/common/libult/source_level_debugger_ult.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/libult/ult_aub_command_stream_receiver.h
${NEO_SHARED_TEST_DIRECTORY}/common/libult/ult_command_stream_receiver.h
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/mock_gmm_page_table_mngr.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/mock_memory_manager.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/test_macros/test_excludes.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/test_macros/test_excludes.h
${NEO_SHARED_TEST_DIRECTORY}/common/utilities/cpuintrinsics.cpp
)
if(TESTS_XEHP_AND_LATER)
list(APPEND neo_libult_common_SRCS_LIB_ULT
${NEO_SHARED_TEST_DIRECTORY}/common/helpers/unit_test_helper_xehp_and_later.inl
)
endif()
set_property(GLOBAL PROPERTY neo_libult_common_SRCS_LIB_ULT ${neo_libult_common_SRCS_LIB_ULT})
set_property(GLOBAL PROPERTY neo_libult_common_SRCS_ENABLE_TESTED_HW ${neo_libult_common_SRCS_ENABLE_TESTED_HW})
set_property(GLOBAL PROPERTY neo_libult_common_SRCS_ENABLE_TESTED_HW_LINUX ${neo_libult_common_SRCS_ENABLE_TESTED_HW_LINUX})
target_sources(neo_libult_common PRIVATE
${neo_libult_common_SRCS_LIB_ULT}
${neo_libult_common_SRCS_ENABLE_TESTED_HW}
)
set(neo_libult_common_SRCS_LIB_ULT_WIN
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/windows/memory_allocator_multi_device_fixture_windows.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/ult_dxgi_factory.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/ult_dxgi_factory.h
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/ult_dxcore_factory.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/ult_dxcore_factory.h
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/signal_utils.cpp
)
set_property(GLOBAL PROPERTY neo_libult_common_SRCS_LIB_ULT_WIN ${neo_libult_common_SRCS_LIB_ULT_WIN})
set(neo_libult_common_SRCS_LIB_ULT_LINUX
${NEO_SHARED_TEST_DIRECTORY}/common/fixtures/linux/memory_allocator_multi_device_fixture_linux.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/linux/device_command_stream_fixture.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/linux/device_command_stream_fixture.h
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/linux/drm_buffer_object_fixture.h
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/linux/signal_utils.cpp
)
set_property(GLOBAL PROPERTY neo_libult_common_SRCS_LIB_ULT_LINUX ${neo_libult_common_SRCS_LIB_ULT_LINUX})
if(WIN32)
target_sources(neo_libult_common PRIVATE ${neo_libult_common_SRCS_LIB_ULT_WIN})
elseif(UNIX)
target_sources(neo_libult_common PRIVATE ${neo_libult_common_SRCS_LIB_ULT_LINUX})
target_sources(neo_libult_common PRIVATE ${neo_libult_common_SRCS_ENABLE_TESTED_HW_LINUX})
endif()
set(neo_libult_SRCS_LINUX
${NEO_SHARED_TEST_DIRECTORY}/common/libult/os_interface.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/linux/mock_drm_memory_manager.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/linux/mock_drm_memory_manager.h
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/device_ult.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/mock_direct_submission_controller_enabled.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/linux/create_drm_memory_manager.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/linux/drm_memory_manager_fixture.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/linux/drm_neo_create.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/linux/options.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/setup_external_dependencies_${DRIVER_MODEL}.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/linux/sys_calls_linux_ult.cpp
)
set_property(GLOBAL APPEND PROPERTY neo_libult_SRCS_LINUX ${neo_libult_SRCS_LINUX})
set(neo_libult_SRCS_WINDOWS
${NEO_SHARED_TEST_DIRECTORY}/common/libult/os_interface.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/device_ult.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/mock_direct_submission_controller_enabled.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/create_wddm_memory_manager.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/options.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/setup_external_dependencies_drm_or_wddm.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/sys_calls.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/wddm_calls.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/mock_environment_variables.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/mock_environment_variables.h
)
set_property(GLOBAL APPEND PROPERTY neo_libult_SRCS_WINDOWS ${neo_libult_SRCS_WINDOWS})
if(UNIX)
set(neo_libult_SRCS ${neo_libult_SRCS_LINUX})
else()
set(neo_libult_SRCS ${neo_libult_SRCS_WINDOWS})
endif()
if(WIN32 OR NOT DISABLE_WDDM_LINUX)
list(APPEND neo_libult_SRCS
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/mock_wddm.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/wddm_create.cpp
)
endif()
if(UNIX AND NOT DISABLE_WDDM_LINUX)
list(APPEND neo_libult_SRCS
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/linux/mock_dxcore.h
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/linux/sys_calls_win.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/ult_dxcore_factory.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/ult_dxcore_factory.h
)
endif()
add_library(neo_libult OBJECT EXCLUDE_FROM_ALL ${neo_libult_SRCS})
add_subdirectories()
foreach(target_name "neo_libult_common" "neo_libult")
set_target_properties(${target_name} PROPERTIES POSITION_INDEPENDENT_CODE ON)
set_target_properties(${target_name} PROPERTIES FOLDER ${SHARED_TEST_PROJECTS_FOLDER})
set_property(TARGET ${target_name} APPEND_STRING PROPERTY COMPILE_FLAGS ${ASAN_FLAGS} ${TSAN_FLAGS})
target_include_directories(${target_name} PRIVATE
$<TARGET_PROPERTY:${NEO_SHARED_MOCKABLE_LIB_NAME},INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:gmock-gtest,INTERFACE_INCLUDE_DIRECTORIES>
${SOURCE_LEVEL_DEBUGGER_HEADERS_DIR}
)
target_compile_definitions(${target_name} PRIVATE $<TARGET_PROPERTY:${NEO_SHARED_MOCKABLE_LIB_NAME},INTERFACE_COMPILE_DEFINITIONS>)
# please do not add new sources below this function
create_project_source_tree(${target_name})
endforeach()