Cmake refactor part 21

Add macro to simplify iteration for gens, platforms and test configs
Common usage:
1. Write macro "macro_for_each_platform", you can use variables:
   GEN_TYPE, GEN_TYPE_LOWER, PLATFORM_IT, PLATFORM_IT_LOWER
2. Write macro "macro_for_each_gen", you can use variables:
   GEN_TYPE, GEN_TYPE_LOWER
3. In macro "macro_for_each_gen" call "apply_macro_for_each_platform"
4. Call "apply_macro_for_each_gen" with gen type (SUPPORTED/TESTED)

When needed iterate over test configurations:
1. Write macro "macro_for_each_test_config", you can use variables from
   parent macro and SLICES, SUBSLICES and EU_PER_SS
2. In macro "macro_for_each_platform" call "apply_macro_for_each_test_config"
   with specified type (AUB_TESTS/MT_TESTS/UNIT_TESTS)

Change-Id: Icd537f409a224a1ffade1874065f8fee66189350
This commit is contained in:
Mateusz Jablonski 2018-03-22 11:35:24 +01:00 committed by sys_ocldev
parent cbf2118275
commit e3b1ba2112
14 changed files with 262 additions and 282 deletions

View File

@ -63,3 +63,33 @@ macro(create_project_source_tree_with_exports target exports_filename)
endif()
endif()
endmacro()
macro(apply_macro_for_each_gen type)
set(given_type ${type})
foreach(GEN_TYPE ${ALL_GEN_TYPES})
string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER)
GEN_CONTAINS_PLATFORMS(${given_type} ${GEN_TYPE} GENX_HAS_PLATFORMS)
if(${GENX_HAS_PLATFORMS})
macro_for_each_gen()
endif()
endforeach()
endmacro()
macro(apply_macro_for_each_platform)
GET_PLATFORMS_FOR_GEN(${given_type} ${GEN_TYPE} TESTED_GENX_PLATFORMS)
foreach(PLATFORM_IT ${TESTED_GENX_PLATFORMS})
string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER)
macro_for_each_platform()
endforeach()
endmacro()
macro(apply_macro_for_each_test_config type)
GET_TEST_CONFIGURATIONS_FOR_PLATFORM(${type} ${GEN_TYPE} ${PLATFORM_IT} PLATFORM_CONFIGURATIONS)
foreach(PLATFORM_CONFIGURATION ${PLATFORM_CONFIGURATIONS})
string(REPLACE "/" ";" CONFIGURATION_PARAMS ${PLATFORM_CONFIGURATION})
list(GET CONFIGURATION_PARAMS 1 SLICES)
list(GET CONFIGURATION_PARAMS 2 SUBSLICES)
list(GET CONFIGURATION_PARAMS 3 EU_PER_SS)
macro_for_each_test_config()
endforeach()
endmacro()

View File

@ -54,27 +54,24 @@ set(OPTIONAL_RUNTIME_GENX_FILES
hw_info.cpp
)
foreach(GEN_TYPE ${ALL_GEN_TYPES})
string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER)
GEN_CONTAINS_PLATFORMS("SUPPORTED" ${GEN_TYPE} GENX_HAS_PLATFORMS)
if(${GENX_HAS_PLATFORMS})
foreach(SRC_IT ${OPTIONAL_RUNTIME_GENX_FILES})
set(SRC_FILE ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/${SRC_IT})
if(EXISTS ${SRC_FILE})
list(APPEND CLOC_SRCS_LIB ${SRC_FILE})
endif()
endforeach()
macro(macro_for_each_platform)
list(APPEND CLOC_SRCS_LIB
${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/hw_info_${PLATFORM_IT_LOWER}.cpp
${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/enable_${PLATFORM_IT_LOWER}.cpp
)
endmacro()
GET_PLATFORMS_FOR_GEN("SUPPORTED" ${GEN_TYPE} SUPPORTED_GENX_PLATFORMS)
foreach(PLATFORM_IT ${SUPPORTED_GENX_PLATFORMS})
string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER)
list(APPEND CLOC_SRCS_LIB
${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/hw_info_${PLATFORM_IT_LOWER}.cpp
${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/enable_${PLATFORM_IT_LOWER}.cpp
)
endforeach()
endif()
endforeach()
macro(macro_for_each_gen)
foreach(SRC_IT ${OPTIONAL_RUNTIME_GENX_FILES})
set(SRC_FILE ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/${SRC_IT})
if(EXISTS ${SRC_FILE})
list(APPEND CLOC_SRCS_LIB ${SRC_FILE})
endif()
endforeach()
apply_macro_for_each_platform()
endmacro()
apply_macro_for_each_gen("SUPPORTED")
set(CLOC_SRCS
${CLOC_SRCS_LIB}

View File

@ -130,13 +130,10 @@ endif(WIN32)
if(${GENERATE_EXECUTABLE})
if(GTPIN_HEADERS_DIR)
foreach(GEN_TYPE ${ALL_GEN_TYPES})
string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER)
GEN_CONTAINS_PLATFORMS("SUPPORTED" ${GEN_TYPE} GENX_HAS_PLATFORMS)
if(${GENX_HAS_PLATFORMS})
target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/${GEN_TYPE_LOWER}/gtpin_setup_${GEN_TYPE_LOWER}.cpp)
endif(${GENX_HAS_PLATFORMS})
endforeach()
macro(macro_for_each_gen)
target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/${GEN_TYPE_LOWER}/gtpin_setup_${GEN_TYPE_LOWER}.cpp)
endmacro()
apply_macro_for_each_gen("SUPPORTED")
endif()
list(APPEND NEO_DYNAMIC_LIB__TARGET_OBJECTS

View File

@ -42,28 +42,23 @@ if(COMPILE_BUILT_INS)
add_subdirectory(kernels)
endif()
foreach(GEN_TYPE ${ALL_GEN_TYPES})
string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER)
GEN_CONTAINS_PLATFORMS("SUPPORTED" ${GEN_TYPE} GENX_HAS_PLATFORMS)
if(${GENX_HAS_PLATFORMS})
# Get all supported platforms for this GEN
GET_PLATFORMS_FOR_GEN("SUPPORTED" ${GEN_TYPE} SUPPORTED_GENX_PLATFORMS)
macro(macro_for_each_platform)
foreach(GENERATED_BUILTIN ${GENERATED_BUILTINS})
list(APPEND GENERATED_BUILTINS_CPPS ${BUILTINS_INCLUDE_DIR}/${RUNTIME_GENERATED_${GENERATED_BUILTIN}_${GEN_TYPE_LOWER}_${PLATFORM_IT}})
endforeach()
endmacro()
# Add platform-specific files
foreach(PLATFORM_IT ${SUPPORTED_GENX_PLATFORMS})
foreach(GENERATED_BUILTIN ${GENERATED_BUILTINS})
list(APPEND GENERATED_BUILTINS_CPPS ${BUILTINS_INCLUDE_DIR}/${RUNTIME_GENERATED_${GENERATED_BUILTIN}_${GEN_TYPE_LOWER}_${PLATFORM_IT}})
endforeach(GENERATED_BUILTIN)
endforeach(PLATFORM_IT)
macro(macro_for_each_gen)
apply_macro_for_each_platform()
source_group("generated files\\${GEN_TYPE_LOWER}" FILES ${GENERATED_BUILTINS_CPPS})
endmacro()
source_group("generated files\\${GEN_TYPE_LOWER}" FILES ${GENERATED_BUILTINS_CPPS})
endif(${GENX_HAS_PLATFORMS})
endforeach(GEN_TYPE)
apply_macro_for_each_gen("SUPPORTED")
if(COMPILE_BUILT_INS)
target_sources(${BUILTINS_BINARIES_LIB_NAME} PUBLIC ${GENERATED_BUILTINS_CPPS})
set_source_files_properties(${GENERATED_BUILTINS_CPPS} PROPERTIES GENERATED TRUE)
endif(COMPILE_BUILT_INS)
endif()
set_target_properties(${BUILTINS_BINARIES_LIB_NAME} PROPERTIES LINKER_LANGUAGE CXX)
set_target_properties(${BUILTINS_BINARIES_LIB_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)

View File

@ -87,7 +87,7 @@ macro(compile_builtins GEN_TYPE PLATFORM_IT)
compile_builtin(${PLATFORM_LOWER} ${GENERATED_BUILTIN}.igdrcl_built_in)
list(APPEND BUILTINS_COMMANDS ${TargetDir}/${BUILTIN_CPP})
set (RUNTIME_GENERATED_${GENERATED_BUILTIN}${GEN} ${BUILTIN_CPP} PARENT_SCOPE)
endforeach(GENERATED_BUILTIN)
endforeach()
set(target_name builtins_${PLATFORM_LOWER})
add_custom_target(${target_name} DEPENDS ${BUILTINS_COMMANDS})
@ -95,14 +95,12 @@ macro(compile_builtins GEN_TYPE PLATFORM_IT)
set_target_properties(${target_name} PROPERTIES FOLDER "built_ins/${PLATFORM_LOWER}")
endmacro()
# Compile built-in kernels for all GENs
foreach(GEN_TYPE ${ALL_GEN_TYPES})
string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER)
GEN_CONTAINS_PLATFORMS("SUPPORTED" ${GEN_TYPE} GENX_HAS_PLATFORMS)
if(${GENX_HAS_PLATFORMS})
GET_PLATFORMS_FOR_GEN("SUPPORTED" ${GEN_TYPE} SUPPORTED_GENX_PLATFORMS)
foreach(PLATFORM_IT ${SUPPORTED_GENX_PLATFORMS})
compile_builtins(${GEN_TYPE_LOWER} ${PLATFORM_IT})
endforeach()
endif()
endforeach()
macro(macro_for_each_platform)
compile_builtins(${GEN_TYPE_LOWER} ${PLATFORM_IT})
endmacro()
macro(macro_for_each_gen)
apply_macro_for_each_platform()
endmacro()
apply_macro_for_each_gen("SUPPORTED")

View File

@ -49,14 +49,12 @@ if(NOT MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive -fPIC")
endif()
foreach(GEN_TYPE ${ALL_GEN_TYPES})
string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER)
GEN_CONTAINS_PLATFORMS("SUPPORTED" ${GEN_TYPE} GENX_HAS_PLATFORMS)
if(${GENX_HAS_PLATFORMS})
list(APPEND DEFAULT_GEN_PLATFORMS_DEFITIONS DEFAULT_${GEN_TYPE}_PLATFORM=${DEFAULT_SUPPORTED_${GEN_TYPE}_PLATFORM})
list(APPEND BUILTIN_KERNELS_SIMULATION_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/${GEN_TYPE_LOWER}/scheduler_simulation.cpp)
endif()
endforeach()
macro(macro_for_each_gen)
list(APPEND DEFAULT_GEN_PLATFORMS_DEFITIONS DEFAULT_${GEN_TYPE}_PLATFORM=${DEFAULT_SUPPORTED_${GEN_TYPE}_PLATFORM})
list(APPEND BUILTIN_KERNELS_SIMULATION_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/${GEN_TYPE_LOWER}/scheduler_simulation.cpp)
endmacro()
apply_macro_for_each_gen("SUPPORTED")
add_library(${BIKSIM_LIB_NAME} OBJECT ${BUILTIN_KERNELS_SIMULATION_SRCS})
target_include_directories(${BIKSIM_LIB_NAME} BEFORE PRIVATE

View File

@ -55,56 +55,50 @@ set(RUNTIME_SRCS_GENX_BASE
tbx_command_stream_receiver.cpp
)
foreach(GEN_TYPE ${ALL_GEN_TYPES})
string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER)
GEN_CONTAINS_PLATFORMS("SUPPORTED" ${GEN_TYPE} GENX_HAS_PLATFORMS)
if(${GENX_HAS_PLATFORMS})
set(GENX_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/${GEN_TYPE_LOWER})
# Add default GEN files
foreach(OS_IT "BASE" "WINDOWS" "LINUX")
foreach(SRC_IT ${RUNTIME_SRCS_GENX_${OS_IT}})
if(EXISTS ${GENX_PREFIX}/${SRC_IT})
list(APPEND RUNTIME_SRCS_${GEN_TYPE}_${OS_IT} ${GENX_PREFIX}/${SRC_IT})
endif()
endforeach()
endforeach()
# Get all supported platforms for this GEN
GET_PLATFORMS_FOR_GEN("SUPPORTED" ${GEN_TYPE} SUPPORTED_GENX_PLATFORMS)
# Add platform-specific files
foreach(PLATFORM_IT ${SUPPORTED_GENX_PLATFORMS})
string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER)
foreach(PLATFORM_FILE "hw_cmds_${PLATFORM_IT_LOWER}.h" "hw_info_${PLATFORM_IT_LOWER}.cpp")
if(EXISTS ${GENX_PREFIX}/${PLATFORM_FILE})
list(APPEND RUNTIME_SRCS_${GEN_TYPE}_BASE ${GENX_PREFIX}/${PLATFORM_FILE})
endif()
endforeach()
# HwInfoConfig implementation
list(APPEND RUNTIME_SRCS_${GEN_TYPE}_LINUX ${GENX_PREFIX}/linux/hw_info_config_${PLATFORM_IT_LOWER}.cpp)
list(APPEND RUNTIME_SRCS_${GEN_TYPE}_WINDOWS ${GENX_PREFIX}/windows/hw_info_config_${PLATFORM_IT_LOWER}.cpp)
# Enable platform
list(APPEND ${GEN_TYPE}_SRC_LINK_BASE ${GENX_PREFIX}/enable_${PLATFORM_IT_LOWER}.cpp)
list(APPEND ${GEN_TYPE}_SRC_LINK_BASE ${GENX_PREFIX}/enable_hw_info_config_${PLATFORM_IT_LOWER}.cpp)
endforeach()
list(APPEND ${GEN_TYPE}_SRC_LINK_BASE ${GENX_PREFIX}/enable_family_full.cpp)
if(GTPIN_HEADERS_DIR)
list(APPEND ${GEN_TYPE}_SRC_LINK_BASE ${GENX_PREFIX}/gtpin_setup_${GEN_TYPE_LOWER}.cpp)
endif(GTPIN_HEADERS_DIR)
list(APPEND RUNTIME_SRCS_GENX_ALL_BASE ${RUNTIME_SRCS_${GEN_TYPE}_BASE})
list(APPEND HW_SRC_LINK ${${GEN_TYPE}_SRC_LINK_BASE})
list(APPEND RUNTIME_SRCS_GENX_ALL_WINDOWS ${RUNTIME_SRCS_${GEN_TYPE}_WINDOWS})
list(APPEND RUNTIME_SRCS_GENX_ALL_LINUX ${RUNTIME_SRCS_${GEN_TYPE}_LINUX})
if(UNIX)
list(APPEND HW_SRC_LINK ${${GEN_TYPE}_SRC_LINK_LINUX})
macro(macro_for_each_platform)
string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER)
foreach(PLATFORM_FILE "hw_cmds_${PLATFORM_IT_LOWER}.h" "hw_info_${PLATFORM_IT_LOWER}.cpp")
if(EXISTS ${GENX_PREFIX}/${PLATFORM_FILE})
list(APPEND RUNTIME_SRCS_${GEN_TYPE}_BASE ${GENX_PREFIX}/${PLATFORM_FILE})
endif()
endforeach()
list(APPEND RUNTIME_SRCS_${GEN_TYPE}_LINUX ${GENX_PREFIX}/linux/hw_info_config_${PLATFORM_IT_LOWER}.cpp)
list(APPEND RUNTIME_SRCS_${GEN_TYPE}_WINDOWS ${GENX_PREFIX}/windows/hw_info_config_${PLATFORM_IT_LOWER}.cpp)
# Enable platform
list(APPEND ${GEN_TYPE}_SRC_LINK_BASE ${GENX_PREFIX}/enable_${PLATFORM_IT_LOWER}.cpp)
list(APPEND ${GEN_TYPE}_SRC_LINK_LINUX ${GENX_PREFIX}/enable_hw_info_config_${PLATFORM_IT_LOWER}.cpp)
endmacro()
macro(macro_for_each_gen)
set(GENX_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/${GEN_TYPE_LOWER})
# Add default GEN files
foreach(OS_IT "BASE" "WINDOWS" "LINUX")
foreach(SRC_IT ${RUNTIME_SRCS_GENX_${OS_IT}})
if(EXISTS ${GENX_PREFIX}/${SRC_IT})
list(APPEND RUNTIME_SRCS_${GEN_TYPE}_${OS_IT} ${GENX_PREFIX}/${SRC_IT})
endif()
endforeach()
endforeach()
apply_macro_for_each_platform()
list(APPEND ${GEN_TYPE}_SRC_LINK_BASE ${GENX_PREFIX}/enable_family_full.cpp)
list(APPEND RUNTIME_SRCS_GENX_ALL_BASE ${RUNTIME_SRCS_${GEN_TYPE}_BASE})
list(APPEND HW_SRC_LINK ${${GEN_TYPE}_SRC_LINK_BASE})
list(APPEND RUNTIME_SRCS_GENX_ALL_WINDOWS ${RUNTIME_SRCS_${GEN_TYPE}_WINDOWS})
list(APPEND RUNTIME_SRCS_GENX_ALL_LINUX ${RUNTIME_SRCS_${GEN_TYPE}_LINUX})
if(UNIX)
list(APPEND HW_SRC_LINK ${${GEN_TYPE}_SRC_LINK_LINUX})
endif()
endforeach()
if(GTPIN_HEADERS_DIR)
list(APPEND ${GEN_TYPE}_SRC_LINK_BASE ${GENX_PREFIX}/gtpin_setup_${GEN_TYPE_LOWER}.cpp)
endif()
endmacro()
apply_macro_for_each_gen("SUPPORTED")
target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${RUNTIME_SRCS_GENX_ALL_BASE})
if(WIN32)

View File

@ -64,25 +64,22 @@ function(compile_kernel target gen_name gen_type kernel)
set_target_properties(${target} PROPERTIES FOLDER "scheduler/${gen_name}")
endfunction()
foreach(GEN_TYPE ${ALL_GEN_TYPES})
string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER)
GEN_CONTAINS_PLATFORMS("SUPPORTED" ${GEN_TYPE} GENX_HAS_PLATFORMS)
if(${GENX_HAS_PLATFORMS})
GET_PLATFORMS_FOR_GEN("SUPPORTED" ${GEN_TYPE} SUPPORTED_GENX_PLATFORMS)
macro(macro_for_each_platform)
PLATFORM_HAS_2_0(${GEN_TYPE} ${PLATFORM_IT} PLATFORM_SUPPORTS_2_0)
if(COMPILE_BUILT_INS AND ${PLATFORM_SUPPORTS_2_0})
string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER)
compile_kernel(scheduler_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${GEN_TYPE_LOWER} ${SCHEDULER_KERNEL})
add_dependencies(scheduler scheduler_${PLATFORM_IT_LOWER})
list(APPEND GENERATED_SCHEDULER_CPPS ${SCHEDULER_CPP})
endif()
endmacro()
foreach(PLATFORM_IT ${SUPPORTED_GENX_PLATFORMS})
PLATFORM_HAS_2_0(${GEN_TYPE} ${PLATFORM_IT} PLATFORM_SUPPORTS_2_0)
if(COMPILE_BUILT_INS AND ${PLATFORM_SUPPORTS_2_0})
string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER)
compile_kernel(scheduler_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${GEN_TYPE_LOWER} ${SCHEDULER_KERNEL})
add_dependencies(scheduler scheduler_${PLATFORM_IT_LOWER})
list(APPEND GENERATED_SCHEDULER_CPPS ${SCHEDULER_CPP})
endif(COMPILE_BUILT_INS AND ${PLATFORM_SUPPORTS_2_0})
endforeach(PLATFORM_IT)
macro(macro_for_each_gen)
apply_macro_for_each_platform()
source_group("generated files\\${GEN_TYPE_LOWER}" FILES ${GENERATED_SCHEDULER_CPPS})
endmacro()
source_group("generated files\\${GEN_TYPE_LOWER}" FILES ${GENERATED_SCHEDULER_CPPS})
endif(${GENX_HAS_PLATFORMS})
endforeach(GEN_TYPE)
apply_macro_for_each_gen("SUPPORTED")
add_library(${SCHEDULER_BINARY_LIB_NAME} OBJECT CMakeLists.txt)

View File

@ -363,67 +363,60 @@ function(gen_run_unit_tests product slices subslices eu_per_ss)
add_dependencies(run_unit_tests run_${product}_unit_tests)
endfunction()
foreach(GEN_TYPE ${ALL_GEN_TYPES})
string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER)
GEN_CONTAINS_PLATFORMS("TESTED" ${GEN_TYPE} GENX_HAS_PLATFORMS)
if(${GENX_HAS_PLATFORMS})
GET_PLATFORMS_FOR_GEN("TESTED" ${GEN_TYPE} TESTED_GENX_PLATFORMS)
foreach(PLATFORM_IT ${TESTED_GENX_PLATFORMS})
PLATFORM_HAS_2_0(${GEN_TYPE} ${PLATFORM_IT} PLATFORM_SUPPORTS_2_0)
PLATFORM_TESTED_WITH_APPVERIFIER(${GEN_TYPE} ${PLATFORM_IT} TESTED_WITH_APPVERIFIER)
string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER)
if(MSVC OR CMAKE_SIZEOF_VOID_P EQUAL 8)
neo_gen_kernels(test_kernels_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${TEST_KERNELS})
neo_gen_kernel_with_options(test_kernel_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${TEST_KERNEL} ${TEST_KERNEL_options})
# Temporarily disabled debug kernel generation on gen8
if(NOT ("${GEN_TYPE_LOWER}" STREQUAL "gen8"))
neo_gen_kernel_with_internal_options(test_kernel_internal_options_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${TEST_KERNEL} ${TEST_KERNEL_internal_options})
endif()
add_dependencies(unit_tests test_kernels_${PLATFORM_IT_LOWER})
add_dependencies(unit_tests test_kernel_${PLATFORM_IT_LOWER})
# Temporarily disabled debug kernel generation on gen8
if(NOT ("${GEN_TYPE_LOWER}" STREQUAL "gen8"))
add_dependencies(unit_tests test_kernel_internal_options_${PLATFORM_IT_LOWER})
endif()
set(sip_kernel_file_name)
set(sip_kernel_output_file)
set(sip_debug_kernel_output_file)
set(sip_debug_local_kernel_output_file)
list(APPEND sip_kernel_file_name "test_files/sip_dummy_kernel_${NEO_BITS}.ll")
list(APPEND sip_debug_kernel_output_file "sip_dummy_kernel_debug_${NEO_BITS}")
list(APPEND sip_debug_local_kernel_output_file "sip_dummy_kernel_debug_local_${NEO_BITS}")
# Temporarily disabled sip kernel generation
# if("${GEN_TYPE_LOWER}" STREQUAL "gen9" )
# neo_gen_kernel_from_ll(test_kernel_sip_debug_local_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${sip_kernel_file_name} ${sip_debug_local_kernel_output_file} ${TEST_KERNEL_SIP_DEBUG_LOCAL_options})
# add_dependencies(unit_tests test_kernel_sip_debug_local_${PLATFORM_IT_LOWER})
# endif()
# neo_gen_kernel_from_ll(test_kernel_sip_debug_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${sip_kernel_file_name} ${sip_debug_kernel_output_file} ${TEST_KERNEL_SIP_DEBUG_options})
# add_dependencies(unit_tests test_kernel_sip_debug_${PLATFORM_IT_LOWER})
if(${PLATFORM_SUPPORTS_2_0})
neo_gen_kernel_with_options(test_kernel_2_0_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${TEST_KERNEL_2_0} ${TEST_KERNEL_2_0_options})
add_dependencies(unit_tests test_kernel_2_0_${PLATFORM_IT_LOWER})
endif()
endif()
GET_TEST_CONFIGURATIONS_FOR_PLATFORM("UNIT_TESTS" ${GEN_TYPE} ${PLATFORM_IT} PLATFORM_CONFIGURATIONS)
foreach(PLATFORM_CONFIGURATION ${PLATFORM_CONFIGURATIONS})
string(REPLACE "/" ";" CONFIGURATION_PARAMS ${PLATFORM_CONFIGURATION})
list(GET CONFIGURATION_PARAMS 1 SLICES)
list(GET CONFIGURATION_PARAMS 2 SUBSLICES)
list(GET CONFIGURATION_PARAMS 3 EU_PER_SS)
gen_run_unit_tests(${PLATFORM_IT_LOWER} ${SLICES} ${SUBSLICES} ${EU_PER_SS})
if(MSVC AND ${TESTED_WITH_APPVERIFIER})
gen_run_tests_with_appverifier(${PLATFORM_IT_LOWER} ${SLICES} ${SUBSLICES} ${EU_PER_SS})
endif()
endforeach()
endforeach()
macro(macro_for_each_test_config)
gen_run_unit_tests(${PLATFORM_IT_LOWER} ${SLICES} ${SUBSLICES} ${EU_PER_SS})
if(MSVC AND ${TESTED_WITH_APPVERIFIER})
gen_run_tests_with_appverifier(${PLATFORM_IT_LOWER} ${SLICES} ${SUBSLICES} ${EU_PER_SS})
endif()
endforeach()
endmacro()
macro(macro_for_each_platform)
PLATFORM_HAS_2_0(${GEN_TYPE} ${PLATFORM_IT} PLATFORM_SUPPORTS_2_0)
PLATFORM_TESTED_WITH_APPVERIFIER(${GEN_TYPE} ${PLATFORM_IT} TESTED_WITH_APPVERIFIER)
if(MSVC OR CMAKE_SIZEOF_VOID_P EQUAL 8)
neo_gen_kernels(test_kernels_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${TEST_KERNELS})
neo_gen_kernel_with_options(test_kernel_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${TEST_KERNEL} ${TEST_KERNEL_options})
# Temporarily disabled debug kernel generation on gen8
if(NOT ("${GEN_TYPE_LOWER}" STREQUAL "gen8"))
neo_gen_kernel_with_internal_options(test_kernel_internal_options_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${TEST_KERNEL} ${TEST_KERNEL_internal_options})
endif()
add_dependencies(unit_tests test_kernels_${PLATFORM_IT_LOWER})
add_dependencies(unit_tests test_kernel_${PLATFORM_IT_LOWER})
# Temporarily disabled debug kernel generation on gen8
if(NOT ("${GEN_TYPE_LOWER}" STREQUAL "gen8"))
add_dependencies(unit_tests test_kernel_internal_options_${PLATFORM_IT_LOWER})
endif()
set(sip_kernel_file_name)
set(sip_kernel_output_file)
set(sip_debug_kernel_output_file)
set(sip_debug_local_kernel_output_file)
list(APPEND sip_kernel_file_name "test_files/sip_dummy_kernel_${NEO_BITS}.ll")
list(APPEND sip_debug_kernel_output_file "sip_dummy_kernel_debug_${NEO_BITS}")
list(APPEND sip_debug_local_kernel_output_file "sip_dummy_kernel_debug_local_${NEO_BITS}")
# Temporarily disabled sip kernel generation
# if("${GEN_TYPE_LOWER}" STREQUAL "gen9" )
# neo_gen_kernel_from_ll(test_kernel_sip_debug_local_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${sip_kernel_file_name} ${sip_debug_local_kernel_output_file} ${TEST_KERNEL_SIP_DEBUG_LOCAL_options})
# add_dependencies(unit_tests test_kernel_sip_debug_local_${PLATFORM_IT_LOWER})
# endif()
# neo_gen_kernel_from_ll(test_kernel_sip_debug_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${sip_kernel_file_name} ${sip_debug_kernel_output_file} ${TEST_KERNEL_SIP_DEBUG_options})
# add_dependencies(unit_tests test_kernel_sip_debug_${PLATFORM_IT_LOWER})
if(${PLATFORM_SUPPORTS_2_0})
neo_gen_kernel_with_options(test_kernel_2_0_${PLATFORM_IT_LOWER} ${PLATFORM_IT_LOWER} ${TEST_KERNEL_2_0} ${TEST_KERNEL_2_0_options})
add_dependencies(unit_tests test_kernel_2_0_${PLATFORM_IT_LOWER})
endif()
endif()
apply_macro_for_each_test_config("UNIT_TESTS")
endmacro()
macro(macro_for_each_gen)
apply_macro_for_each_platform()
endmacro()
apply_macro_for_each_gen("TESTED")
create_project_source_tree(igdrcl_tests ${IGDRCL_SOURCE_DIR}/runtime)

View File

@ -66,38 +66,34 @@ target_link_libraries(igdrcl_aub_tests gtest gmock ${IGDRCL_EXTRA_LIBS})
target_include_directories(igdrcl_aub_tests BEFORE PRIVATE ${IGDRCL_SOURCE_DIR}/unit_tests/gen_common)
foreach(GEN_TYPE ${ALL_GEN_TYPES})
GEN_CONTAINS_PLATFORMS("TESTED" ${GEN_TYPE} GENX_HAS_PLATFORMS)
if(${GENX_HAS_PLATFORMS})
GET_PLATFORMS_FOR_GEN("TESTED" ${GEN_TYPE} TESTED_GENX_PLATFORMS)
foreach(PLATFORM_IT ${TESTED_GENX_PLATFORMS})
string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER)
add_custom_target(${PLATFORM_IT_LOWER}_aub_tests
DEPENDS igdrcl_aub_tests
DEPENDS copy_test_files_${PLATFORM_IT_LOWER}
)
add_dependencies(${PLATFORM_IT_LOWER}_aub_tests test_kernels_${PLATFORM_IT_LOWER})
add_dependencies(${PLATFORM_IT_LOWER}_aub_tests test_kernel_${PLATFORM_IT_LOWER})
PLATFORM_HAS_2_0(${GEN_TYPE} ${PLATFORM_IT} PLATFORM_SUPPORTS_2_0)
if(${PLATFORM_SUPPORTS_2_0})
add_dependencies(${PLATFORM_IT_LOWER}_aub_tests test_kernel_2_0_${PLATFORM_IT_LOWER})
endif(${PLATFORM_SUPPORTS_2_0})
add_custom_target(run_${PLATFORM_IT_LOWER}_aub_tests ALL DEPENDS ${PLATFORM_IT_LOWER}_aub_tests)
add_dependencies(run_aub_tests run_${PLATFORM_IT_LOWER}_aub_tests)
set_target_properties(${PLATFORM_IT_LOWER}_aub_tests PROPERTIES FOLDER "${PLATFORM_SPECIFIC_TARGETS_FOLDER}/${PLATFORM_IT_LOWER}")
set_target_properties(run_${PLATFORM_IT_LOWER}_aub_tests PROPERTIES FOLDER "${PLATFORM_SPECIFIC_TARGETS_FOLDER}/${PLATFORM_IT_LOWER}")
if(WIN32)
add_dependencies(${PLATFORM_IT_LOWER}_aub_tests mock_gdi)
endif()
GET_TEST_CONFIGURATIONS_FOR_PLATFORM("AUB_TESTS" ${GEN_TYPE} ${PLATFORM_IT} PLATFORM_CONFIGURATIONS)
foreach(PLATFORM_CONFIGURATION ${PLATFORM_CONFIGURATIONS})
string(REPLACE "/" ";" CONFIGURATION_PARAMS ${PLATFORM_CONFIGURATION})
list(GET CONFIGURATION_PARAMS 1 SLICES)
list(GET CONFIGURATION_PARAMS 2 SUBSLICES)
list(GET CONFIGURATION_PARAMS 3 EU_PER_SS)
neo_run_aub_target(${PLATFORM_IT_LOWER} "${PLATFORM_IT} ${SLICES}x${SUBSLICES}x${EU_PER_SS}" ${PLATFORM_IT_LOWER} ${SLICES} ${SUBSLICES} ${EU_PER_SS})
endforeach()
endforeach()
macro(macro_for_each_test_config)
neo_run_aub_target(${PLATFORM_IT_LOWER} "${PLATFORM_IT} ${SLICES}x${SUBSLICES}x${EU_PER_SS}" ${PLATFORM_IT_LOWER} ${SLICES} ${SUBSLICES} ${EU_PER_SS})
endmacro()
macro(macro_for_each_platform)
add_custom_target(${PLATFORM_IT_LOWER}_aub_tests
DEPENDS igdrcl_aub_tests
DEPENDS copy_test_files_${PLATFORM_IT_LOWER}
)
add_dependencies(${PLATFORM_IT_LOWER}_aub_tests test_kernels_${PLATFORM_IT_LOWER})
add_dependencies(${PLATFORM_IT_LOWER}_aub_tests test_kernel_${PLATFORM_IT_LOWER})
PLATFORM_HAS_2_0(${GEN_TYPE} ${PLATFORM_IT} PLATFORM_SUPPORTS_2_0)
if(${PLATFORM_SUPPORTS_2_0})
add_dependencies(${PLATFORM_IT_LOWER}_aub_tests test_kernel_2_0_${PLATFORM_IT_LOWER})
endif(${PLATFORM_SUPPORTS_2_0})
add_custom_target(run_${PLATFORM_IT_LOWER}_aub_tests ALL DEPENDS ${PLATFORM_IT_LOWER}_aub_tests)
add_dependencies(run_aub_tests run_${PLATFORM_IT_LOWER}_aub_tests)
set_target_properties(${PLATFORM_IT_LOWER}_aub_tests PROPERTIES FOLDER "${PLATFORM_SPECIFIC_TARGETS_FOLDER}/${PLATFORM_IT_LOWER}")
set_target_properties(run_${PLATFORM_IT_LOWER}_aub_tests PROPERTIES FOLDER "${PLATFORM_SPECIFIC_TARGETS_FOLDER}/${PLATFORM_IT_LOWER}")
if(WIN32)
add_dependencies(${PLATFORM_IT_LOWER}_aub_tests mock_gdi)
endif()
endforeach()
apply_macro_for_each_test_config("AUB_TESTS")
endmacro()
macro(macro_for_each_gen)
apply_macro_for_each_platform()
endmacro()
apply_macro_for_each_gen("TESTED")
create_project_source_tree(igdrcl_aub_tests ${IGDRCL_SOURCE_DIR}/runtime ${IGDRCL_SOURCE_DIR}/unit_tests)

View File

@ -22,13 +22,10 @@ set(IGDRCL_SRCS_tests_gtpin
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
${CMAKE_CURRENT_SOURCE_DIR}/gtpin_tests.cpp
)
foreach(GEN_TYPE ${ALL_GEN_TYPES})
string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER)
GEN_CONTAINS_PLATFORMS("TESTED" ${GEN_TYPE} GENX_HAS_PLATFORMS)
if(${GENX_HAS_PLATFORMS})
list(APPEND IGDRCL_SRCS_tests_gtpin ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/gtpin_setup_${GEN_TYPE_LOWER}.cpp)
endif()
endforeach()
macro(macro_for_each_gen)
list(APPEND IGDRCL_SRCS_tests_gtpin ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/gtpin_setup_${GEN_TYPE_LOWER}.cpp)
endmacro()
apply_macro_for_each_gen("TESTED")
if(GTPIN_HEADERS_DIR)
target_sources(igdrcl_tests PRIVATE ${IGDRCL_SRCS_tests_gtpin})
endif()

View File

@ -18,26 +18,23 @@
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
foreach(GEN_TYPE ${ALL_GEN_TYPES})
string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER)
GEN_CONTAINS_PLATFORMS("TESTED" ${GEN_TYPE} GENX_HAS_PLATFORMS)
if(${GENX_HAS_PLATFORMS})
list(APPEND IGDRCL_SRCS_ENABLE_TESTED_HW
${IGDRCL_SOURCE_DIR}/unit_tests/${GEN_TYPE_LOWER}/cmd_parse_${GEN_TYPE_LOWER}.cpp
${IGDRCL_SOURCE_DIR}/unit_tests/${GEN_TYPE_LOWER}/gen_cmd_parse.h
${IGDRCL_SOURCE_DIR}/unit_tests/libult/${GEN_TYPE_LOWER}.cpp
${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/enable_family_full.cpp
)
GET_PLATFORMS_FOR_GEN("TESTED" ${GEN_TYPE} TESTED_GENX_PLATFORMS)
foreach(PLATFORM_IT ${TESTED_GENX_PLATFORMS})
string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER)
list (APPEND IGDRCL_SRCS_ENABLE_TESTED_HW
${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/enable_${PLATFORM_IT_LOWER}.cpp
${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/enable_hw_info_config_${PLATFORM_IT_LOWER}.cpp
)
endforeach()
endif()
endforeach()
macro(macro_for_each_platform)
list (APPEND IGDRCL_SRCS_ENABLE_TESTED_HW
${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/enable_${PLATFORM_IT_LOWER}.cpp
${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/enable_hw_info_config_${PLATFORM_IT_LOWER}.cpp
)
endmacro()
macro(macro_for_each_gen)
list(APPEND IGDRCL_SRCS_ENABLE_TESTED_HW
${IGDRCL_SOURCE_DIR}/unit_tests/${GEN_TYPE_LOWER}/cmd_parse_${GEN_TYPE_LOWER}.cpp
${IGDRCL_SOURCE_DIR}/unit_tests/${GEN_TYPE_LOWER}/gen_cmd_parse.h
${IGDRCL_SOURCE_DIR}/unit_tests/libult/${GEN_TYPE_LOWER}.cpp
${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/enable_family_full.cpp
)
apply_macro_for_each_platform()
endmacro()
apply_macro_for_each_gen("TESTED")
set(IGDRCL_SRCS_LIB_ULT
${IGDRCL_SOURCE_DIR}/unit_tests/abort.cpp

View File

@ -31,18 +31,13 @@ set(IGDRCL_SRCS_linux_dll_tests
${IGDRCL_SOURCE_DIR}/runtime/os_interface/debug_settings_manager.cpp
${IGDRCL_SOURCE_DIR}/runtime/dll/linux/drm_neo_create.cpp
)
foreach(GEN_TYPE ${ALL_GEN_TYPES})
string(TOLOWER ${GEN_TYPE} GEN_TYPE_LOWER)
GEN_CONTAINS_PLATFORMS("TESTED" ${GEN_TYPE} GENX_HAS_PLATFORMS)
if(${GENX_HAS_PLATFORMS})
GET_PLATFORMS_FOR_GEN("TESTED" ${GEN_TYPE} TESTED_GENX_PLATFORMS)
foreach(PLATFORM_IT ${TESTED_GENX_PLATFORMS})
string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER)
list(APPEND IGDRCL_SRCS_linux_dll_tests ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/hw_info_${PLATFORM_IT_LOWER}.cpp)
endforeach()
endif()
endforeach()
macro(macro_for_each_platform)
list(APPEND IGDRCL_SRCS_linux_dll_tests ${IGDRCL_SOURCE_DIR}/runtime/${GEN_TYPE_LOWER}/hw_info_${PLATFORM_IT_LOWER}.cpp)
endmacro()
macro(macro_for_each_gen)
apply_macro_for_each_platform()
endmacro()
apply_macro_for_each_gen("TESTED")
foreach(target_name linux_tests linux_dll_tests)
add_executable(igdrcl_${target_name}

View File

@ -115,23 +115,19 @@ endfunction()
target_include_directories(igdrcl_mt_tests BEFORE PRIVATE ${IGDRCL_SOURCE_DIR}/unit_tests/gen_common ${IGDRCL_SOURCE_DIR}/runtime/gen_common)
foreach(GEN_TYPE ${ALL_GEN_TYPES})
GEN_CONTAINS_PLATFORMS("TESTED" ${GEN_TYPE} GENX_HAS_PLATFORMS)
if(${GENX_HAS_PLATFORMS})
GET_PLATFORMS_FOR_GEN("TESTED" ${GEN_TYPE} TESTED_GENX_PLATFORMS)
foreach(PLATFORM_IT ${TESTED_GENX_PLATFORMS})
string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER)
if(MSVC OR CMAKE_SIZEOF_VOID_P EQUAL 8)
add_dependencies(igdrcl_mt_tests test_kernels_${PLATFORM_IT_LOWER})
endif(MSVC OR CMAKE_SIZEOF_VOID_P EQUAL 8)
GET_TEST_CONFIGURATIONS_FOR_PLATFORM("MT_TESTS" ${GEN_TYPE} ${PLATFORM_IT} PLATFORM_CONFIGURATIONS)
foreach(PLATFORM_CONFIGURATION ${PLATFORM_CONFIGURATIONS})
string(REPLACE "/" ";" CONFIGURATION_PARAMS ${PLATFORM_CONFIGURATION})
list(GET CONFIGURATION_PARAMS 1 SLICES)
list(GET CONFIGURATION_PARAMS 2 SUBSLICES)
list(GET CONFIGURATION_PARAMS 3 EU_PER_SS)
run_mt_tests(${PLATFORM_IT_LOWER} ${SLICES} ${SUBSLICES} ${EU_PER_SS})
endforeach(PLATFORM_CONFIGURATION)
endforeach(PLATFORM_IT)
endif(${GENX_HAS_PLATFORMS})
endforeach(GEN_TYPE)
macro(macro_for_each_test_config)
run_mt_tests(${PLATFORM_IT_LOWER} ${SLICES} ${SUBSLICES} ${EU_PER_SS})
endmacro()
macro(macro_for_each_platform)
if(MSVC OR CMAKE_SIZEOF_VOID_P EQUAL 8)
add_dependencies(igdrcl_mt_tests test_kernels_${PLATFORM_IT_LOWER})
endif()
apply_macro_for_each_test_config("MT_TESTS")
endmacro()
macro(macro_for_each_gen)
apply_macro_for_each_platform()
endmacro()
apply_macro_for_each_gen("TESTED")