mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
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:

committed by
Compute-Runtime-Automation

parent
00b675643e
commit
3cfba5b73d
@ -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")
|
||||
|
@ -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)
|
||||
|
@ -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()
|
||||
|
||||
|
@ -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")
|
||||
|
||||
|
@ -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})
|
||||
|
@ -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")
|
||||
|
@ -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})
|
||||
|
@ -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})
|
||||
|
@ -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()
|
||||
|
||||
|
Reference in New Issue
Block a user