mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-19 06:24:51 +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()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
apply_macro_for_each_platform()
|
apply_macro_for_each_platform("SUPPORTED")
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
apply_macro_for_each_core_type("SUPPORTED")
|
apply_macro_for_each_core_type("SUPPORTED")
|
||||||
|
|||||||
@@ -63,14 +63,14 @@ macro(apply_macro_for_each_core_type type)
|
|||||||
set(given_type ${type})
|
set(given_type ${type})
|
||||||
foreach(CORE_TYPE ${ALL_CORE_TYPES})
|
foreach(CORE_TYPE ${ALL_CORE_TYPES})
|
||||||
string(TOLOWER ${CORE_TYPE} CORE_TYPE_LOWER)
|
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})
|
if(${COREX_HAS_PLATFORMS})
|
||||||
macro_for_each_core_type()
|
macro_for_each_core_type()
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
endmacro()
|
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)
|
GET_PLATFORMS_FOR_CORE_TYPE(${given_type} ${CORE_TYPE} TESTED_COREX_PLATFORMS)
|
||||||
foreach(PLATFORM_IT ${TESTED_COREX_PLATFORMS})
|
foreach(PLATFORM_IT ${TESTED_COREX_PLATFORMS})
|
||||||
string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER)
|
string(TOLOWER ${PLATFORM_IT} PLATFORM_IT_LOWER)
|
||||||
|
|||||||
@@ -338,8 +338,8 @@ macro(macro_for_each_platform)
|
|||||||
|
|
||||||
set(PLATFORM_TEST_KERNELS ${TEST_KERNELS})
|
set(PLATFORM_TEST_KERNELS ${TEST_KERNELS})
|
||||||
set(IMAGE_SUPPORT FALSE)
|
set(IMAGE_SUPPORT FALSE)
|
||||||
CORE_CONTAINS_PLATFORMS("SUPPORTED_IMAGES" ${CORE_TYPE} IMAGE_SUPPORT)
|
CORE_CONTAINS_PLATFORM("SUPPORTED_IMAGES" ${CORE_TYPE} ${PLATFORM_IT} IMAGE_SUPPORT)
|
||||||
if(NOT IMAGE_SUPPORT)
|
if(NOT ${IMAGE_SUPPORT})
|
||||||
list(REMOVE_ITEM PLATFORM_TEST_KERNELS "${CMAKE_CURRENT_SOURCE_DIR}/test_files/copy_buffer_to_image.cl")
|
list(REMOVE_ITEM PLATFORM_TEST_KERNELS "${CMAKE_CURRENT_SOURCE_DIR}/test_files/copy_buffer_to_image.cl")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
@@ -170,7 +170,7 @@ macro(macro_for_each_platform)
|
|||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
macro(macro_for_each_core_type)
|
macro(macro_for_each_core_type)
|
||||||
apply_macro_for_each_platform()
|
apply_macro_for_each_platform("TESTED")
|
||||||
endmacro()
|
endmacro()
|
||||||
apply_macro_for_each_core_type("TESTED")
|
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})
|
list(INSERT ALL_${ELEMENT_TYPE}_${LIST_TYPE} ${CORE_IDX} ${CORE_X_LIST})
|
||||||
endmacro()
|
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)
|
FIND_IDX_FOR_CORE_TYPE(${CORE_TYPE} CORE_IDX)
|
||||||
GET_LIST_FOR_CORE_TYPE("PLATFORMS" ${TYPE} ${CORE_IDX} CORE_X_PLATFORMS)
|
GET_LIST_FOR_CORE_TYPE("PLATFORMS" ${TYPE} ${CORE_IDX} CORE_X_PLATFORMS)
|
||||||
string(REPLACE " " "" CORE_X_PLATFORMS ${CORE_X_PLATFORMS})
|
set(${OUT_FLAG} FALSE)
|
||||||
if("${CORE_X_PLATFORMS}" STREQUAL "")
|
foreach(PLATFORM_IT ${CORE_X_PLATFORMS})
|
||||||
set(${OUT_FLAG} FALSE)
|
if(NOT ("${PLATFORM_IT}" STREQUAL " "))
|
||||||
else()
|
set(${OUT_FLAG} TRUE)
|
||||||
set(${OUT_FLAG} TRUE)
|
endif()
|
||||||
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()
|
endmacro()
|
||||||
|
|
||||||
macro(INIT_PRODUCTS_LIST TYPE)
|
macro(INIT_PRODUCTS_LIST TYPE)
|
||||||
@@ -89,7 +104,8 @@ macro(GET_AVAILABLE_PLATFORMS TYPE FLAG_NAME OUT_STR)
|
|||||||
set(DEFAULT_${TYPE}_PLATFORM ${PREFERRED_PLATFORM})
|
set(DEFAULT_${TYPE}_PLATFORM ${PREFERRED_PLATFORM})
|
||||||
endif()
|
endif()
|
||||||
foreach(CORE_TYPE ${ALL_CORE_TYPES_REVERSED})
|
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})
|
if(${COREX_HAS_PLATFORMS})
|
||||||
FIND_IDX_FOR_CORE_TYPE(${CORE_TYPE} CORE_IDX)
|
FIND_IDX_FOR_CORE_TYPE(${CORE_TYPE} CORE_IDX)
|
||||||
list(APPEND ${TYPE}_CORE_FLAGS_DEFINITONS ${FLAG_NAME}_${CORE_TYPE})
|
list(APPEND ${TYPE}_CORE_FLAGS_DEFINITONS ${FLAG_NAME}_${CORE_TYPE})
|
||||||
|
|||||||
@@ -193,7 +193,7 @@ macro(macro_for_each_core_type)
|
|||||||
endforeach()
|
endforeach()
|
||||||
endforeach()
|
endforeach()
|
||||||
endforeach()
|
endforeach()
|
||||||
apply_macro_for_each_platform()
|
apply_macro_for_each_platform("SUPPORTED")
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
apply_macro_for_each_core_type("SUPPORTED")
|
apply_macro_for_each_core_type("SUPPORTED")
|
||||||
|
|||||||
@@ -158,10 +158,10 @@ function(generate_cpp_spirv builtin)
|
|||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
macro(macro_for_each_platform)
|
macro(macro_for_each_platform)
|
||||||
unset(IMAGE_SUPPORT)
|
set(IMAGE_SUPPORT FALSE)
|
||||||
unset(AUX_TRANSLATION_SUPPORT)
|
set(AUX_TRANSLATION_SUPPORT FALSE)
|
||||||
CORE_CONTAINS_PLATFORMS("SUPPORTED_IMAGES" ${CORE_TYPE} IMAGE_SUPPORT)
|
CORE_CONTAINS_PLATFORM("SUPPORTED_IMAGES" ${CORE_TYPE} ${PLATFORM_IT} IMAGE_SUPPORT)
|
||||||
CORE_CONTAINS_PLATFORMS("SUPPORTED_AUX_TRANSLATION" ${CORE_TYPE} AUX_TRANSLATION_SUPPORT)
|
CORE_CONTAINS_PLATFORM("SUPPORTED_AUX_TRANSLATION" ${CORE_TYPE} ${PLATFORM_IT} AUX_TRANSLATION_SUPPORT)
|
||||||
get_bits_for_stateless(${CORE_TYPE} ${PLATFORM_IT})
|
get_bits_for_stateless(${CORE_TYPE} ${PLATFORM_IT})
|
||||||
get_builtin_options(${CORE_TYPE} ${NEO_ARCH})
|
get_builtin_options(${CORE_TYPE} ${NEO_ARCH})
|
||||||
set(target_name builtins_${PLATFORM_IT_LOWER})
|
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")
|
list(APPEND CORE_SRCS_${CORE_TYPE}_H_BASE "${GENERATED_COREX_PREFIX}/hw_cmds_generated_${CORE_TYPE_LOWER}.inl")
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
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}_H_BASE})
|
||||||
list(APPEND CORE_SRCS_COREX_ALL_BASE ${CORE_SRCS_${CORE_TYPE}_CPP_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)
|
macro(macro_for_each_platform)
|
||||||
set(KERNELS_TO_COMPILE ${TEST_KERNELS})
|
set(KERNELS_TO_COMPILE ${TEST_KERNELS})
|
||||||
set(IMAGE_SUPPORT FALSE)
|
set(IMAGE_SUPPORT FALSE)
|
||||||
CORE_CONTAINS_PLATFORMS("SUPPORTED_IMAGES" ${CORE_TYPE} IMAGE_SUPPORT)
|
CORE_CONTAINS_PLATFORM("SUPPORTED_IMAGES" ${CORE_TYPE} ${PLATFORM_IT} IMAGE_SUPPORT)
|
||||||
if(NOT IMAGE_SUPPORT)
|
if(NOT ${IMAGE_SUPPORT})
|
||||||
list(REMOVE_ITEM KERNELS_TO_COMPILE ${TEST_KERNELS_IMAGES})
|
list(REMOVE_ITEM KERNELS_TO_COMPILE ${TEST_KERNELS_IMAGES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user