fix: heapless has the highest priority as builtin

Related-to: NEO-13973

Signed-off-by: Damian Tomczak <damian.tomczak@intel.com>
This commit is contained in:
Damian Tomczak 2025-03-12 07:01:52 +00:00 committed by Compute-Runtime-Automation
parent 38506298d3
commit e6ff523a8e
16 changed files with 31 additions and 27 deletions

View File

@ -992,7 +992,7 @@ endif()
set(BIKSIM_LIB_NAME "biksim") set(BIKSIM_LIB_NAME "biksim")
set(BUILTINS_SOURCES_LIB_NAME "builtins_sources") set(BUILTINS_SOURCES_LIB_NAME "builtins_sources")
set(BUILTINS_BINARIES_STATELESS_LIB_NAME "builtins_binaries_stateless") set(BUILTINS_BINARIES_STATELESS_LIB_NAME "builtins_binaries_stateless")
set(BUILTINS_BINARIES_STATELESS_HEAPLESS_LIB_NAME "builtins_binaries_stateless_heapless") set(BUILTINS_BINARIES_HEAPLESS_LIB_NAME "builtins_binaries_heapless")
set(BUILTINS_BINARIES_BINDFUL_LIB_NAME "builtins_binaries_bindful") set(BUILTINS_BINARIES_BINDFUL_LIB_NAME "builtins_binaries_bindful")
set(BUILTINS_BINARIES_BINDLESS_LIB_NAME "builtins_binaries_bindless") set(BUILTINS_BINARIES_BINDLESS_LIB_NAME "builtins_binaries_bindless")
set(BUILTINS_SPIRV_LIB_NAME "builtins_spirv") set(BUILTINS_SPIRV_LIB_NAME "builtins_spirv")

View File

@ -325,7 +325,7 @@ if(BUILD_WITH_L0)
target_sources(${TARGET_NAME_L0} target_sources(${TARGET_NAME_L0}
PRIVATE PRIVATE
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_HEAPLESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_HEAPLESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDLESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDLESS_LIB_NAME}>
) )

View File

@ -61,7 +61,7 @@ if(NOT NEO_SKIP_AUB_TESTS AND DEFINED AUB_STREAM_PROJECT_NAME)
$<TARGET_OBJECTS:neo_libult> $<TARGET_OBJECTS:neo_libult>
$<TARGET_OBJECTS:neo_shared_mocks> $<TARGET_OBJECTS:neo_shared_mocks>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_HEAPLESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_HEAPLESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDLESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDLESS_LIB_NAME}>
$<TARGET_OBJECTS:neo_aub_tests_config> $<TARGET_OBJECTS:neo_aub_tests_config>

View File

@ -80,7 +80,7 @@ target_sources(${TARGET_NAME} PRIVATE
$<TARGET_OBJECTS:${TARGET_NAME_L0}_fixtures> $<TARGET_OBJECTS:${TARGET_NAME_L0}_fixtures>
$<TARGET_OBJECTS:${TARGET_NAME_L0}_mocks> $<TARGET_OBJECTS:${TARGET_NAME_L0}_mocks>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_HEAPLESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_HEAPLESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDLESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDLESS_LIB_NAME}>
) )

View File

@ -77,7 +77,7 @@ target_sources(${TARGET_NAME} PRIVATE
$<TARGET_OBJECTS:${TARGET_NAME_L0}_fixtures> $<TARGET_OBJECTS:${TARGET_NAME_L0}_fixtures>
$<TARGET_OBJECTS:${TARGET_NAME_L0}_mocks> $<TARGET_OBJECTS:${TARGET_NAME_L0}_mocks>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_HEAPLESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_HEAPLESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDLESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDLESS_LIB_NAME}>
) )

View File

@ -78,7 +78,7 @@ target_sources(${TARGET_NAME} PRIVATE
$<TARGET_OBJECTS:${TARGET_NAME_L0}_fixtures> $<TARGET_OBJECTS:${TARGET_NAME_L0}_fixtures>
$<TARGET_OBJECTS:${TARGET_NAME_L0}_mocks> $<TARGET_OBJECTS:${TARGET_NAME_L0}_mocks>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_HEAPLESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_HEAPLESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDLESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDLESS_LIB_NAME}>
) )

View File

@ -41,7 +41,7 @@ components:
dest_dir: kernels_bin dest_dir: kernels_bin
type: git type: git
branch: kernels_bin branch: kernels_bin
revision: 3350-3794 revision: 3350-3800
kmdaf: kmdaf:
branch: kmdaf branch: kmdaf
dest_dir: kmdaf dest_dir: kmdaf

View File

@ -1,5 +1,5 @@
# #
# Copyright (C) 2018-2024 Intel Corporation # Copyright (C) 2018-2025 Intel Corporation
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
# #
@ -107,7 +107,7 @@ if(${GENERATE_EXECUTABLE})
$<TARGET_OBJECTS:${SHARINGS_ENABLE_LIB_NAME}> $<TARGET_OBJECTS:${SHARINGS_ENABLE_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_SOURCES_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_SOURCES_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_HEAPLESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_HEAPLESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}>
) )

View File

@ -1,5 +1,5 @@
# #
# Copyright (C) 2018-2024 Intel Corporation # Copyright (C) 2018-2025 Intel Corporation
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
# #
@ -60,7 +60,7 @@ set(NEO_IGDRCL_TESTS__TARGET_OBJECTS
$<TARGET_OBJECTS:${SHARINGS_ENABLE_LIB_NAME}> $<TARGET_OBJECTS:${SHARINGS_ENABLE_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_SOURCES_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_SOURCES_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_HEAPLESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_HEAPLESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}>
$<TARGET_OBJECTS:neo_shared_mocks> $<TARGET_OBJECTS:neo_shared_mocks>
$<TARGET_OBJECTS:neo_unit_tests_config> $<TARGET_OBJECTS:neo_unit_tests_config>

View File

@ -1,5 +1,5 @@
# #
# Copyright (C) 2018-2024 Intel Corporation # Copyright (C) 2018-2025 Intel Corporation
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
# #
@ -32,7 +32,7 @@ if(NOT NEO_SKIP_AUB_TESTS AND DEFINED AUB_STREAM_PROJECT_NAME)
target_sources(igdrcl_aub_tests PRIVATE target_sources(igdrcl_aub_tests PRIVATE
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_HEAPLESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_HEAPLESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDLESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDLESS_LIB_NAME}>
) )

View File

@ -107,7 +107,7 @@ StackVec<std::string, 3> getBuiltinResourceNames(EBuiltInOps::Type builtin, Buil
const bool requiresStatelessAddressing = (false == productHelper.isStatefulAddressingModeSupported()); const bool requiresStatelessAddressing = (false == productHelper.isStatefulAddressingModeSupported());
const bool builtInUsesStatelessAddressing = EBuiltInOps::isStateless(builtin); const bool builtInUsesStatelessAddressing = EBuiltInOps::isStateless(builtin);
if (heaplessEnabled) { if (heaplessEnabled) {
addressingModePrefix = "stateless_heapless_"; addressingModePrefix = "heapless_";
} else if (builtInUsesStatelessAddressing || requiresStatelessAddressing) { } else if (builtInUsesStatelessAddressing || requiresStatelessAddressing) {
addressingModePrefix = "stateless_"; addressingModePrefix = "stateless_";
} else if (ApiSpecificConfig::getBindlessMode(device)) { } else if (ApiSpecificConfig::getBindlessMode(device)) {

View File

@ -1,5 +1,5 @@
# #
# Copyright (C) 2018-2024 Intel Corporation # Copyright (C) 2018-2025 Intel Corporation
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
# #
@ -8,7 +8,7 @@ list(APPEND ADDRESSING_MODES
"stateless" "stateless"
"bindful" "bindful"
"bindless" "bindless"
"stateless_heapless" "heapless"
) )
set(GENERATED_BUILTINS set(GENERATED_BUILTINS

View File

@ -1,5 +1,5 @@
# #
# Copyright (C) 2018-2024 Intel Corporation # Copyright (C) 2018-2025 Intel Corporation
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
# #
@ -8,7 +8,7 @@ add_custom_target(builtins)
set_target_properties(builtins PROPERTIES FOLDER "${SHARED_SOURCE_PROJECTS_FOLDER}/${SHARED_BUILTINS_PROJECTS_FOLDER}") set_target_properties(builtins PROPERTIES FOLDER "${SHARED_SOURCE_PROJECTS_FOLDER}/${SHARED_BUILTINS_PROJECTS_FOLDER}")
set(BUILTINS_OUTDIR_WITH_ARCH "${TargetDir}/built_ins/${NEO_ARCH}") set(BUILTINS_OUTDIR_WITH_ARCH "${TargetDir}/built_ins/${NEO_ARCH}")
add_dependencies(${BUILTINS_BINARIES_STATELESS_LIB_NAME} builtins) add_dependencies(${BUILTINS_BINARIES_STATELESS_LIB_NAME} builtins)
add_dependencies(${BUILTINS_BINARIES_STATELESS_HEAPLESS_LIB_NAME} builtins) add_dependencies(${BUILTINS_BINARIES_HEAPLESS_LIB_NAME} builtins)
add_dependencies(${BUILTINS_BINARIES_BINDFUL_LIB_NAME} builtins) add_dependencies(${BUILTINS_BINARIES_BINDFUL_LIB_NAME} builtins)
add_dependencies(${BUILTINS_BINARIES_BINDLESS_LIB_NAME} builtins) add_dependencies(${BUILTINS_BINARIES_BINDLESS_LIB_NAME} builtins)
@ -21,9 +21,11 @@ set(BUILTIN_OPTIONS_STATELESS "-cl-intel-greater-than-4GB-buffer-required")
set(BUILTIN_OPTIONS_STATEFUL "-force_stos_opt") set(BUILTIN_OPTIONS_STATEFUL "-force_stos_opt")
set(stateless_INTERNAL_OPTIONS "") set(stateless_INTERNAL_OPTIONS "")
set(stateless_heapless_INTERNAL_OPTIONS -internal_options "") set(heapless_INTERNAL_OPTIONS -internal_options "")
set(bindful_INTERNAL_OPTIONS "") set(bindful_INTERNAL_OPTIONS "")
set(bindless_INTERNAL_OPTIONS -internal_options "-cl-intel-use-bindless-mode -cl-intel-use-bindless-advanced-mode") set(bindless_INTERNAL_OPTIONS -internal_options "-cl-intel-use-bindless-mode -cl-intel-use-bindless-advanced-mode")
macro(additional_heapless_checker)
endmacro()
add_subdirectories() add_subdirectories()
@ -34,7 +36,7 @@ endif()
function(get_builtin_options core_type neo_arch mode_type) function(get_builtin_options core_type neo_arch mode_type)
if("${neo_arch}" STREQUAL "x32") if("${neo_arch}" STREQUAL "x32")
set(BUILTIN_OPTIONS "${BUILTIN_OPTIONS_STATELESS}" PARENT_SCOPE) set(BUILTIN_OPTIONS "${BUILTIN_OPTIONS_STATELESS}" PARENT_SCOPE)
elseif("${mode_type}" STREQUAL "stateless" OR "${mode_type}" STREQUAL "stateless_heapless") elseif("${mode_type}" STREQUAL "stateless" OR "${mode_type}" STREQUAL "heapless")
set(BUILTIN_OPTIONS "${BUILTIN_OPTIONS_STATELESS}" PARENT_SCOPE) set(BUILTIN_OPTIONS "${BUILTIN_OPTIONS_STATELESS}" PARENT_SCOPE)
else() else()
set(BUILTIN_OPTIONS "${BUILTIN_OPTIONS_STATEFUL}" PARENT_SCOPE) set(BUILTIN_OPTIONS "${BUILTIN_OPTIONS_STATEFUL}" PARENT_SCOPE)
@ -49,7 +51,7 @@ function(get_generated_builtins core_type mode_type)
elseif(${mode_type} STREQUAL "stateless") elseif(${mode_type} STREQUAL "stateless")
set(generated_builtins "${GENERATED_BUILTINS_STATELESS}" PARENT_SCOPE) set(generated_builtins "${GENERATED_BUILTINS_STATELESS}" PARENT_SCOPE)
set(generated_builtins_images "${GENERATED_BUILTINS_IMAGES_STATELESS}" PARENT_SCOPE) set(generated_builtins_images "${GENERATED_BUILTINS_IMAGES_STATELESS}" PARENT_SCOPE)
elseif(${mode_type} STREQUAL "stateless_heapless") elseif(${mode_type} STREQUAL "heapless")
set(generated_builtins "${GENERATED_BUILTINS_STATELESS}" PARENT_SCOPE) set(generated_builtins "${GENERATED_BUILTINS_STATELESS}" PARENT_SCOPE)
set(generated_builtins_images "${GENERATED_BUILTINS_IMAGES};${GENERATED_BUILTINS_IMAGES_STATELESS}" PARENT_SCOPE) set(generated_builtins_images "${GENERATED_BUILTINS_IMAGES};${GENERATED_BUILTINS_IMAGES_STATELESS}" PARENT_SCOPE)
else() else()
@ -210,6 +212,8 @@ macro(macro_for_each_platform)
foreach(MODE ${ADDRESSING_MODES}) foreach(MODE ${ADDRESSING_MODES})
unset(BUILTINS_COMMANDS) unset(BUILTINS_COMMANDS)
additional_heapless_checker()
if((${MODE} STREQUAL "bindless") AND (NOT BUILD_WITH_L0 OR("${CORE_TYPE}" STREQUAL "GEN8"))) if((${MODE} STREQUAL "bindless") AND (NOT BUILD_WITH_L0 OR("${CORE_TYPE}" STREQUAL "GEN8")))
continue() continue()
endif() endif()
@ -219,7 +223,7 @@ macro(macro_for_each_platform)
continue() continue()
endif() endif()
if(${MODE} STREQUAL "stateless_heapless" AND(NOT ${HEAPLESS_SUPPORT} OR ${NEO_BITS} STREQUAL "32")) if(${MODE} STREQUAL "heapless" AND(NOT ${HEAPLESS_SUPPORT} OR ${NEO_BITS} STREQUAL "32"))
continue() continue()
endif() endif()

View File

@ -1,5 +1,5 @@
# #
# Copyright (C) 2020-2024 Intel Corporation # Copyright (C) 2020-2025 Intel Corporation
# #
# SPDX-License-Identifier: MIT # SPDX-License-Identifier: MIT
# #
@ -57,7 +57,7 @@ file(GLOB_RECURSE TEST_KERNELS *.cl)
file(GLOB_RECURSE TEST_KERNELS_IMAGES *_images.cl) file(GLOB_RECURSE TEST_KERNELS_IMAGES *_images.cl)
add_custom_target(prepare_test_kernels_for_shared) add_custom_target(prepare_test_kernels_for_shared)
add_dependencies(prepare_test_kernels_for_shared ${BUILTINS_BINARIES_STATELESS_LIB_NAME}) add_dependencies(prepare_test_kernels_for_shared ${BUILTINS_BINARIES_STATELESS_LIB_NAME})
add_dependencies(prepare_test_kernels_for_shared ${BUILTINS_BINARIES_STATELESS_HEAPLESS_LIB_NAME}) add_dependencies(prepare_test_kernels_for_shared ${BUILTINS_BINARIES_HEAPLESS_LIB_NAME})
add_dependencies(prepare_test_kernels_for_shared ${BUILTINS_BINARIES_BINDFUL_LIB_NAME}) add_dependencies(prepare_test_kernels_for_shared ${BUILTINS_BINARIES_BINDFUL_LIB_NAME})
add_dependencies(prepare_test_kernels_for_shared ${BUILTINS_BINARIES_BINDLESS_LIB_NAME}) add_dependencies(prepare_test_kernels_for_shared ${BUILTINS_BINARIES_BINDLESS_LIB_NAME})
if(TARGET ${BUILTINS_SPIRV_LIB_NAME}) if(TARGET ${BUILTINS_SPIRV_LIB_NAME})

View File

@ -76,7 +76,7 @@ add_subdirectories()
target_sources(neo_shared_tests PRIVATE target_sources(neo_shared_tests PRIVATE
$<TARGET_OBJECTS:neo_unit_tests_config> $<TARGET_OBJECTS:neo_unit_tests_config>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_STATELESS_HEAPLESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_HEAPLESS_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDFUL_LIB_NAME}>
$<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDLESS_LIB_NAME}> $<TARGET_OBJECTS:${BUILTINS_BINARIES_BINDLESS_LIB_NAME}>
) )

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2020-2024 Intel Corporation * Copyright (C) 2020-2025 Intel Corporation
* *
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
* *
@ -199,7 +199,7 @@ HWTEST2_F(BuiltInSharedTest, GivenHeaplessModeEnabledWhenGetBuiltinResourceNames
auto resourceNames = getBuiltinResourceNames(builtInType, BuiltinCode::ECodeType::binary, *pDevice); auto resourceNames = getBuiltinResourceNames(builtInType, BuiltinCode::ECodeType::binary, *pDevice);
std::string expectedResourceNameGeneric = "stateless_heapless_" + builtInTypeAsString + ".builtin_kernel.bin"; std::string expectedResourceNameGeneric = "heapless_" + builtInTypeAsString + ".builtin_kernel.bin";
std::string expectedResourceNameForRelease = deviceIpString + "_" + expectedResourceNameGeneric; std::string expectedResourceNameForRelease = deviceIpString + "_" + expectedResourceNameGeneric;
EXPECT_EQ(1u, resourceNames.size()); EXPECT_EQ(1u, resourceNames.size());