refactor(cmake): check images support per platform instead of per core

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
This commit is contained in:
Filip Hazubski
2023-03-09 22:00:24 +00:00
committed by Compute-Runtime-Automation
parent 00b675643e
commit 3cfba5b73d
9 changed files with 38 additions and 22 deletions

View File

@ -815,7 +815,7 @@ macro(macro_for_each_core_type)
endif()
endforeach()
apply_macro_for_each_platform()
apply_macro_for_each_platform("SUPPORTED")
endmacro()
apply_macro_for_each_core_type("SUPPORTED")

View File

@ -63,14 +63,14 @@ macro(apply_macro_for_each_core_type type)
set(given_type ${type})
foreach(CORE_TYPE ${ALL_CORE_TYPES})
string(TOLOWER ${CORE_TYPE} CORE_TYPE_LOWER)
CORE_CONTAINS_PLATFORMS(${given_type} ${CORE_TYPE} COREX_HAS_PLATFORMS)
CORE_CONTAINS_ANY_PLATFORM(${given_type} ${CORE_TYPE} COREX_HAS_PLATFORMS)
if(${COREX_HAS_PLATFORMS})
macro_for_each_core_type()
endif()
endforeach()
endmacro()
macro(apply_macro_for_each_platform)
macro(apply_macro_for_each_platform given_type)
GET_PLATFORMS_FOR_CORE_TYPE(${given_type} ${CORE_TYPE} TESTED_COREX_PLATFORMS)
foreach(PLATFORM_IT ${TESTED_COREX_PLATFORMS})
string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER)

View File

@ -338,8 +338,8 @@ macro(macro_for_each_platform)
set(PLATFORM_TEST_KERNELS ${TEST_KERNELS})
set(IMAGE_SUPPORT FALSE)
CORE_CONTAINS_PLATFORMS("SUPPORTED_IMAGES" ${CORE_TYPE} IMAGE_SUPPORT)
if(NOT IMAGE_SUPPORT)
CORE_CONTAINS_PLATFORM("SUPPORTED_IMAGES" ${CORE_TYPE} ${PLATFORM_IT} IMAGE_SUPPORT)
if(NOT ${IMAGE_SUPPORT})
list(REMOVE_ITEM PLATFORM_TEST_KERNELS "${CMAKE_CURRENT_SOURCE_DIR}/test_files/copy_buffer_to_image.cl")
endif()

View File

@ -170,7 +170,7 @@ macro(macro_for_each_platform)
endif()
endmacro()
macro(macro_for_each_core_type)
apply_macro_for_each_platform()
apply_macro_for_each_platform("TESTED")
endmacro()
apply_macro_for_each_core_type("TESTED")

View File

@ -43,15 +43,30 @@ macro(ADD_ITEM_FOR_CORE_TYPE LIST_TYPE ELEMENT_TYPE CORE_TYPE ITEM)
list(INSERT ALL_${ELEMENT_TYPE}_${LIST_TYPE} ${CORE_IDX} ${CORE_X_LIST})
endmacro()
macro(CORE_CONTAINS_PLATFORMS TYPE CORE_TYPE OUT_FLAG)
macro(CORE_CONTAINS_ANY_PLATFORM TYPE CORE_TYPE OUT_FLAG)
FIND_IDX_FOR_CORE_TYPE(${CORE_TYPE} CORE_IDX)
GET_LIST_FOR_CORE_TYPE("PLATFORMS" ${TYPE} ${CORE_IDX} CORE_X_PLATFORMS)
string(REPLACE " " "" CORE_X_PLATFORMS ${CORE_X_PLATFORMS})
if("${CORE_X_PLATFORMS}" STREQUAL "")
set(${OUT_FLAG} FALSE)
else()
set(${OUT_FLAG} TRUE)
endif()
set(${OUT_FLAG} FALSE)
foreach(PLATFORM_IT ${CORE_X_PLATFORMS})
if(NOT ("${PLATFORM_IT}" STREQUAL " "))
set(${OUT_FLAG} TRUE)
endif()
endforeach()
endmacro()
macro(CORE_CONTAINS_PLATFORMS TYPE CORE_TYPE OUT_FLAG)
CORE_CONTAINS_ANY_PLATFORM(${TYPE} ${CORE_TYPE} ${OUT_FLAG})
endmacro()
macro(CORE_CONTAINS_PLATFORM TYPE CORE_TYPE PLATFORM_TYPE OUT_FLAG)
FIND_IDX_FOR_CORE_TYPE("${CORE_TYPE}" CORE_IDX)
GET_LIST_FOR_CORE_TYPE("PLATFORMS" "${TYPE}" ${CORE_IDX} CORE_X_PLATFORMS)
set(${OUT_FLAG} FALSE)
foreach(PLATFORM_IT ${CORE_X_PLATFORMS})
if("${PLATFORM_IT}" STREQUAL "${PLATFORM_TYPE}")
set(${OUT_FLAG} TRUE)
endif()
endforeach()
endmacro()
macro(INIT_PRODUCTS_LIST TYPE)
@ -89,7 +104,8 @@ macro(GET_AVAILABLE_PLATFORMS TYPE FLAG_NAME OUT_STR)
set(DEFAULT_${TYPE}_PLATFORM ${PREFERRED_PLATFORM})
endif()
foreach(CORE_TYPE ${ALL_CORE_TYPES_REVERSED})
CORE_CONTAINS_PLATFORMS(${TYPE} ${CORE_TYPE} COREX_HAS_PLATFORMS)
set(COREX_HAS_PLATFORMS FALSE)
CORE_CONTAINS_ANY_PLATFORM("${TYPE}" ${CORE_TYPE} COREX_HAS_PLATFORMS)
if(${COREX_HAS_PLATFORMS})
FIND_IDX_FOR_CORE_TYPE(${CORE_TYPE} CORE_IDX)
list(APPEND ${TYPE}_CORE_FLAGS_DEFINITONS ${FLAG_NAME}_${CORE_TYPE})

View File

@ -193,7 +193,7 @@ macro(macro_for_each_core_type)
endforeach()
endforeach()
endforeach()
apply_macro_for_each_platform()
apply_macro_for_each_platform("SUPPORTED")
endmacro()
apply_macro_for_each_core_type("SUPPORTED")

View File

@ -158,10 +158,10 @@ function(generate_cpp_spirv builtin)
endfunction()
macro(macro_for_each_platform)
unset(IMAGE_SUPPORT)
unset(AUX_TRANSLATION_SUPPORT)
CORE_CONTAINS_PLATFORMS("SUPPORTED_IMAGES" ${CORE_TYPE} IMAGE_SUPPORT)
CORE_CONTAINS_PLATFORMS("SUPPORTED_AUX_TRANSLATION" ${CORE_TYPE} AUX_TRANSLATION_SUPPORT)
set(IMAGE_SUPPORT FALSE)
set(AUX_TRANSLATION_SUPPORT FALSE)
CORE_CONTAINS_PLATFORM("SUPPORTED_IMAGES" ${CORE_TYPE} ${PLATFORM_IT} IMAGE_SUPPORT)
CORE_CONTAINS_PLATFORM("SUPPORTED_AUX_TRANSLATION" ${CORE_TYPE} ${PLATFORM_IT} AUX_TRANSLATION_SUPPORT)
get_bits_for_stateless(${CORE_TYPE} ${PLATFORM_IT})
get_builtin_options(${CORE_TYPE} ${NEO_ARCH})
set(target_name builtins_${PLATFORM_IT_LOWER})

View File

@ -215,7 +215,7 @@ macro(macro_for_each_core_type)
list(APPEND CORE_SRCS_${CORE_TYPE}_H_BASE "${GENERATED_COREX_PREFIX}/hw_cmds_generated_${CORE_TYPE_LOWER}.inl")
endif()
endforeach()
apply_macro_for_each_platform()
apply_macro_for_each_platform("SUPPORTED")
list(APPEND CORE_SRCS_COREX_ALL_BASE ${CORE_SRCS_${CORE_TYPE}_H_BASE})
list(APPEND CORE_SRCS_COREX_ALL_BASE ${CORE_SRCS_${CORE_TYPE}_CPP_BASE})

View File

@ -63,8 +63,8 @@ add_dependencies(prepare_test_kernels_for_shared copy_compiler_files)
macro(macro_for_each_platform)
set(KERNELS_TO_COMPILE ${TEST_KERNELS})
set(IMAGE_SUPPORT FALSE)
CORE_CONTAINS_PLATFORMS("SUPPORTED_IMAGES" ${CORE_TYPE} IMAGE_SUPPORT)
if(NOT IMAGE_SUPPORT)
CORE_CONTAINS_PLATFORM("SUPPORTED_IMAGES" ${CORE_TYPE} ${PLATFORM_IT} IMAGE_SUPPORT)
if(NOT ${IMAGE_SUPPORT})
list(REMOVE_ITEM KERNELS_TO_COMPILE ${TEST_KERNELS_IMAGES})
endif()