diff --git a/cmake/setup_platform_flags.cmake b/cmake/setup_platform_flags.cmake index a5369b4b9e..518b3de068 100644 --- a/cmake/setup_platform_flags.cmake +++ b/cmake/setup_platform_flags.cmake @@ -18,6 +18,7 @@ if(SUPPORT_GEN8) ADD_PRODUCT("SUPPORTED" "BDW" "IGFX_BROADWELL") ADD_PLATFORM_FOR_GEN("SUPPORTED" "GEN8" "BDW" "CORE") ADD_PLATFORM_FOR_GEN("SUPPORTED_2_0" "GEN8" "BDW" "CORE") + ADD_PLATFORM_FOR_GEN("SUPPORTED_IMAGES" "GEN8" "BDW" "CORE") if(TESTS_BDW) ADD_ITEM_FOR_GEN("PLATFORMS" "TESTED" "GEN8" "BDW") ADD_PRODUCT("TESTED" "BDW" "IGFX_BROADWELL") @@ -34,6 +35,7 @@ if(SUPPORT_GEN9) ADD_PLATFORM_FOR_GEN("SUPPORTED" "GEN9" "SKL" "CORE") ADD_PLATFORM_FOR_GEN("SUPPORTED_2_0" "GEN9" "SKL" "CORE") ADD_PLATFORM_FOR_GEN("SUPPORTED_VME" "GEN9" "SKL" "CORE") + ADD_PLATFORM_FOR_GEN("SUPPORTED_IMAGES" "GEN9" "SKL" "CORE") set(PREFERRED_PLATFORM "SKL") if(TESTS_SKL) set(PREFERRED_FAMILY_NAME "SKLFamily") @@ -47,6 +49,7 @@ if(SUPPORT_GEN9) ADD_PLATFORM_FOR_GEN("SUPPORTED" "GEN9" "KBL" "CORE") ADD_PLATFORM_FOR_GEN("SUPPORTED_2_0" "GEN9" "KBL" "CORE") ADD_PLATFORM_FOR_GEN("SUPPORTED_VME" "GEN9" "KBL" "CORE") + ADD_PLATFORM_FOR_GEN("SUPPORTED_IMAGES" "GEN9" "KBL" "CORE") if(TESTS_KBL) ADD_ITEM_FOR_GEN("PLATFORMS" "TESTED" "GEN9" "KBL") ADD_PRODUCT("TESTED" "KBL" "IGFX_KABYLAKE") @@ -57,6 +60,7 @@ if(SUPPORT_GEN9) ADD_PRODUCT("SUPPORTED" "GLK" "IGFX_GEMINILAKE") ADD_PLATFORM_FOR_GEN("SUPPORTED" "GEN9" "GLK" "LP") ADD_PLATFORM_FOR_GEN("SUPPORTED_VME" "GEN9" "GLK" "LP") + ADD_PLATFORM_FOR_GEN("SUPPORTED_IMAGES" "GEN9" "GLK" "CORE") if(TESTS_GLK) ADD_ITEM_FOR_GEN("PLATFORMS" "TESTED" "GEN9" "GLK") ADD_PRODUCT("TESTED" "GLK" "IGFX_GEMINILAKE") @@ -68,6 +72,7 @@ if(SUPPORT_GEN9) ADD_PLATFORM_FOR_GEN("SUPPORTED" "GEN9" "CFL" "CORE") ADD_ITEM_FOR_GEN("PLATFORMS" "SUPPORTED_2_0" "GEN9" "CFL") ADD_ITEM_FOR_GEN("PLATFORMS" "SUPPORTED_VME" "GEN9" "CFL") + ADD_ITEM_FOR_GEN("PLATFORMS" "SUPPORTED_IMAGES" "GEN9" "CFL") if(TESTS_CFL) ADD_ITEM_FOR_GEN("PLATFORMS" "TESTED" "GEN9" "CFL") ADD_PRODUCT("TESTED" "CFL" "IGFX_COFFEELAKE") @@ -78,6 +83,7 @@ if(SUPPORT_GEN9) ADD_PRODUCT("SUPPORTED" "BXT" "IGFX_BROXTON") ADD_PLATFORM_FOR_GEN("SUPPORTED" "GEN9" "BXT" "LP") ADD_PLATFORM_FOR_GEN("SUPPORTED_VME" "GEN9" "BXT" "LP") + ADD_PLATFORM_FOR_GEN("SUPPORTED_IMAGES" "GEN9" "BXT" "LP") if(TESTS_BXT) ADD_ITEM_FOR_GEN("PLATFORMS" "TESTED" "GEN9" "BXT") ADD_PRODUCT("TESTED" "BXT" "IGFX_BROXTON") @@ -95,6 +101,7 @@ if(SUPPORT_GEN11) ADD_PLATFORM_FOR_GEN("SUPPORTED" "GEN11" "ICLLP" "LP") ADD_PLATFORM_FOR_GEN("SUPPORTED_2_0" "GEN11" "ICLLP" "LP") ADD_PLATFORM_FOR_GEN("SUPPORTED_VME" "GEN11" "ICLLP" "LP") + ADD_PLATFORM_FOR_GEN("SUPPORTED_IMAGES" "GEN11" "ICLLP" "LP") if(TESTS_ICLLP) ADD_ITEM_FOR_GEN("PLATFORMS" "TESTED" "GEN11" "ICLLP") ADD_PRODUCT("TESTED" "ICLLP" "IGFX_ICELAKE_LP") @@ -104,6 +111,7 @@ if(SUPPORT_GEN11) if(SUPPORT_LKF) ADD_PRODUCT("SUPPORTED" "LKF" "IGFX_LAKEFIELD") ADD_PLATFORM_FOR_GEN("SUPPORTED" "GEN11" "LKF" "LP") + ADD_PLATFORM_FOR_GEN("SUPPORTED_IMAGES" "GEN11" "LKF" "LP") if(TESTS_LKF) ADD_ITEM_FOR_GEN("PLATFORMS" "TESTED" "GEN11" "LKF") ADD_PRODUCT("TESTED" "LKF" "IGFX_LAKEFIELD") @@ -113,6 +121,7 @@ if(SUPPORT_GEN11) if(SUPPORT_EHL) ADD_PRODUCT("SUPPORTED" "EHL" "IGFX_ELKHARTLAKE") ADD_PLATFORM_FOR_GEN("SUPPORTED" "GEN11" "EHL" "LP") + ADD_PLATFORM_FOR_GEN("SUPPORTED_IMAGES" "GEN11" "EHL" "LP") if(TESTS_EHL) ADD_ITEM_FOR_GEN("PLATFORMS" "TESTED" "GEN11" "EHL") ADD_PRODUCT("TESTED" "EHL" "IGFX_ELKHARTLAKE") @@ -128,6 +137,7 @@ if(SUPPORT_GEN12LP) ADD_PRODUCT("SUPPORTED" "TGLLP" "IGFX_TIGERLAKE_LP") ADD_PLATFORM_FOR_GEN("SUPPORTED" "GEN12LP" "TGLLP" "LP") ADD_PLATFORM_FOR_GEN("SUPPORTED_2_0" "GEN12LP" "TGLLP" "LP") + ADD_PLATFORM_FOR_GEN("SUPPORTED_IMAGES" "GEN12LP" "TGLLP" "LP") if(TESTS_TGLLP) ADD_ITEM_FOR_GEN("PLATFORMS" "TESTED" "GEN12LP" "TGLLP") ADD_PRODUCT("TESTED" "TGLLP" "IGFX_TIGERLAKE_LP") diff --git a/opencl/test/unit_test/built_ins/built_in_tests.cpp b/opencl/test/unit_test/built_ins/built_in_tests.cpp index c0dacb86ed..0b86d31c54 100644 --- a/opencl/test/unit_test/built_ins/built_in_tests.cpp +++ b/opencl/test/unit_test/built_ins/built_in_tests.cpp @@ -730,7 +730,7 @@ TEST_F(BuiltInTests, givenBigOffsetAndSizeWhenBuilderFillBufferStatelessIsUsedTh EXPECT_TRUE(compareBuiltinOpParams(multiDispatchInfo.peekBuiltinOpParams(), dc)); } -TEST_F(BuiltInTests, givenBigOffsetAndSizeWhenBuilderCopyBufferToImageStatelessIsUsedThenParamsAreCorrect) { +HWTEST_F(BuiltInTests, givenBigOffsetAndSizeWhenBuilderCopyBufferToImageStatelessIsUsedThenParamsAreCorrect) { if (is32bit) { GTEST_SKIP(); @@ -766,7 +766,7 @@ TEST_F(BuiltInTests, givenBigOffsetAndSizeWhenBuilderCopyBufferToImageStatelessI EXPECT_FALSE(kernel->getKernelInfo().kernelArgInfo[0].pureStatefulBufferAccess); } -TEST_F(BuiltInTests, givenBigOffsetAndSizeWhenBuilderCopyImageToBufferStatelessIsUsedThenParamsAreCorrect) { +HWTEST_F(BuiltInTests, givenBigOffsetAndSizeWhenBuilderCopyImageToBufferStatelessIsUsedThenParamsAreCorrect) { if (is32bit) { GTEST_SKIP(); diff --git a/platforms.cmake b/platforms.cmake index 885cff2834..ae574eef72 100644 --- a/platforms.cmake +++ b/platforms.cmake @@ -179,6 +179,7 @@ INIT_LIST("FAMILY_NAME" "TESTED") INIT_LIST("PLATFORMS" "SUPPORTED") INIT_LIST("PLATFORMS" "SUPPORTED_2_0") INIT_LIST("PLATFORMS" "SUPPORTED_VME") +INIT_LIST("PLATFORMS" "SUPPORTED_IMAGES") INIT_LIST("PLATFORMS" "TESTED") INIT_PRODUCTS_LIST("TESTED") INIT_PRODUCTS_LIST("SUPPORTED") diff --git a/shared/source/built_ins/builtins_binary.cmake b/shared/source/built_ins/builtins_binary.cmake index aed3f40c64..0fcfeeba89 100644 --- a/shared/source/built_ins/builtins_binary.cmake +++ b/shared/source/built_ins/builtins_binary.cmake @@ -14,21 +14,27 @@ set(GENERATED_BUILTINS "copy_buffer_rect" "copy_buffer_to_buffer" "copy_buffer_to_image3d" - "copy_image3d_to_buffer" - "copy_image_to_image1d" - "copy_image_to_image2d" - "copy_image_to_image3d" "fill_buffer" "fill_image1d" "fill_image2d" "fill_image3d" ) +set(GENERATED_BUILTINS_IMAGES + "copy_image3d_to_buffer" + "copy_image_to_image1d" + "copy_image_to_image2d" + "copy_image_to_image3d" +) + +set(GENERATED_BUILTINS_IMAGES_STATELESS + "copy_image3d_to_buffer_stateless" +) + set(GENERATED_BUILTINS_STATELESS "copy_buffer_to_buffer_stateless" - "copy_buffer_rect_stateless" "copy_buffer_to_image3d_stateless" - "copy_image3d_to_buffer_stateless" + "copy_buffer_rect_stateless" "fill_buffer_stateless" ) @@ -40,6 +46,12 @@ endif() macro(macro_for_each_gen) foreach(PLATFORM_TYPE ${PLATFORM_TYPES}) get_family_name_with_type(${GEN_TYPE} ${PLATFORM_TYPE}) + foreach(GENERATED_BUILTIN_IMAGES ${GENERATED_BUILTINS_IMAGES}) + list(APPEND GENERATED_BUILTINS_CPPS ${BUILTINS_INCLUDE_DIR}/${RUNTIME_GENERATED_${GENERATED_BUILTIN_IMAGES}_${family_name_with_type}}) + endforeach() + foreach(GENERATED_BUILTIN_IMAGES_STATELESS ${GENERATED_BUILTINS_IMAGES_STATELESS}) + list(APPEND GENERATED_BUILTINS_CPPS ${BUILTINS_INCLUDE_DIR}/${RUNTIME_GENERATED_${GENERATED_BUILTIN_IMAGES_STATELESS}_${family_name_with_type}}) + endforeach() foreach(GENERATED_BUILTIN ${GENERATED_BUILTINS}) list(APPEND GENERATED_BUILTINS_CPPS ${BUILTINS_INCLUDE_DIR}/${RUNTIME_GENERATED_${GENERATED_BUILTIN}_${family_name_with_type}}) endforeach() diff --git a/shared/source/built_ins/kernels/CMakeLists.txt b/shared/source/built_ins/kernels/CMakeLists.txt index 4a84610c5f..22f42e2983 100644 --- a/shared/source/built_ins/kernels/CMakeLists.txt +++ b/shared/source/built_ins/kernels/CMakeLists.txt @@ -10,6 +10,7 @@ set(BUILTINS_OUTDIR_WITH_ARCH "${TargetDir}/built_ins/${NEO_ARCH}") add_dependencies(${BUILTINS_BINARIES_LIB_NAME} builtins) add_subdirectories() set(GENERATED_BUILTINS ${GENERATED_BUILTINS} PARENT_SCOPE) +set(GENERATED_BUILTINS_IMAGES ${GENERATED_BUILTINS_IMAGES} PARENT_SCOPE) set(GENERATED_BUILTINS_STATELESS ${GENERATED_BUILTINS_STATELESS} PARENT_SCOPE) if("${NEO_ARCH}" STREQUAL "x32") @@ -92,12 +93,30 @@ macro(macro_for_each_gen) list(APPEND BUILTINS_COMMANDS ${TargetDir}/${BUILTIN_CPP}) set(RUNTIME_GENERATED_${GENERATED_BUILTIN}_${family_name_with_type} ${BUILTIN_CPP} PARENT_SCOPE) endforeach() + foreach(GENERATED_BUILTINS_IMAGES ${GENERATED_BUILTINS_IMAGES}) + compile_builtin(${GEN_TYPE} ${PLATFORM_TYPE} ${GENERATED_BUILTINS_IMAGES}.builtin_kernel ${NEO_BITS} "${BUILTIN_OPTIONS}") + set(IMAGE_SUPPORT FALSE) + GEN_CONTAINS_PLATFORMS("SUPPORTED_IMAGES" ${GEN_TYPE} IMAGE_SUPPORT) + if(${IMAGE_SUPPORT}) + list(APPEND BUILTINS_COMMANDS ${TargetDir}/${BUILTIN_CPP}) + set(RUNTIME_GENERATED_${GENERATED_BUILTINS_IMAGES}_${family_name_with_type} ${BUILTIN_CPP} PARENT_SCOPE) + endif() + endforeach() get_bits_for_stateless(${GEN_TYPE} ${PLATFORM_TYPE}) foreach(GENERATED_BUILTIN_STATELESS ${GENERATED_BUILTINS_STATELESS}) compile_builtin(${GEN_TYPE} ${PLATFORM_TYPE} ${GENERATED_BUILTIN_STATELESS}.builtin_kernel ${BITS} "${BUILTIN_OPTIONS_STATELESS}") list(APPEND BUILTINS_COMMANDS ${TargetDir}/${BUILTIN_CPP}) set(RUNTIME_GENERATED_${GENERATED_BUILTIN_STATELESS}_${family_name_with_type} ${BUILTIN_CPP} PARENT_SCOPE) endforeach() + foreach(GENERATED_BUILTIN_IMAGES_STATELESS ${GENERATED_BUILTINS_IMAGES_STATELESS}) + compile_builtin(${GEN_TYPE} ${PLATFORM_TYPE} ${GENERATED_BUILTIN_IMAGES_STATELESS}.builtin_kernel ${BITS} "${BUILTIN_OPTIONS_STATELESS}") + set(IMAGE_SUPPORT FALSE) + GEN_CONTAINS_PLATFORMS("SUPPORTED_IMAGES" ${GEN_TYPE} IMAGE_SUPPORT) + if(${IMAGE_SUPPORT}) + list(APPEND BUILTINS_COMMANDS ${TargetDir}/${BUILTIN_CPP}) + set(RUNTIME_GENERATED_${GENERATED_BUILTIN_IMAGES_STATELESS}_${family_name_with_type} ${BUILTIN_CPP} PARENT_SCOPE) + endif() + endforeach() set(target_name builtins_${family_name_with_type}) add_custom_target(${target_name} DEPENDS ${BUILTINS_COMMANDS}) add_dependencies(builtins ${target_name})