Skip to content

Commit 76cb654

Browse files
Enable bindles builtins
Resolves: NEO-5138 Signed-off-by: Mateusz Hoppe <[email protected]>
1 parent b697d75 commit 76cb654

File tree

3 files changed

+45
-3
lines changed

3 files changed

+45
-3
lines changed

level_zero/core/test/unit_tests/sources/builtin/built_in_tests_l0.cpp

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2020-2021 Intel Corporation
2+
* Copyright (C) 2020-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -49,3 +49,40 @@ TEST(BuiltInTestsL0, givenUseBindlessBuiltinDisabledInL0ApiWhenBinExtensionPasse
4949
TEST(BuiltInTestsL0, givenUseBindlessBuiltinEnabledInL0ApiWhenBinExtensionPassedThenNameHasBindlessPrefix) {
5050
givenUseBindlessBuiltinEnabledWhenBinExtensionPassedThenNameHasBindlessPrefix();
5151
}
52+
53+
TEST(BuiltInTestsL0, GivenBindlessConfigWhenGettingBuiltinResourceThenResourceSizeIsNonZero) {
54+
55+
DebugManagerStateRestore dbgRestorer;
56+
DebugManager.flags.UseBindlessMode.set(1);
57+
58+
auto hwInfo = *defaultHwInfo;
59+
auto device = std::unique_ptr<MockDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(&hwInfo));
60+
auto mockBuiltinsLib = std::unique_ptr<MockBuiltinsLib>(new MockBuiltinsLib());
61+
62+
ASSERT_LE(2u, mockBuiltinsLib->allStorages.size());
63+
64+
bool bindlessFound = false;
65+
66+
auto &hwHelper = HwHelper::get(hwInfo.platform.eRenderCoreFamily);
67+
std::string resourceNameGeneric = createBuiltinResourceName(EBuiltInOps::CopyBufferToBuffer, BuiltinCode::getExtension(BuiltinCode::ECodeType::Binary));
68+
std::string resourceNameForPlatformType = createBuiltinResourceName(EBuiltInOps::CopyBufferToBuffer, BuiltinCode::getExtension(BuiltinCode::ECodeType::Binary),
69+
getFamilyNameWithType(hwInfo),
70+
hwHelper.getDefaultRevisionId(hwInfo));
71+
std::string resourceNameForPlatformTypeAndStepping = createBuiltinResourceName(EBuiltInOps::CopyBufferToBuffer, BuiltinCode::getExtension(BuiltinCode::ECodeType::Binary),
72+
getFamilyNameWithType(hwInfo),
73+
hwInfo.platform.usRevId);
74+
75+
for (const auto &storage : mockBuiltinsLib->allStorages) {
76+
if (storage->load(resourceNameForPlatformTypeAndStepping).size() != 0) {
77+
bindlessFound = true;
78+
}
79+
}
80+
81+
EXPECT_TRUE(bindlessFound);
82+
83+
EXPECT_NE(0u, mockBuiltinsLib->getBuiltinResource(EBuiltInOps::CopyBufferToBuffer, BuiltinCode::ECodeType::Binary, *device).size());
84+
EXPECT_NE(0u, mockBuiltinsLib->getBuiltinResource(EBuiltInOps::CopyBufferRect, BuiltinCode::ECodeType::Binary, *device).size());
85+
EXPECT_NE(0u, mockBuiltinsLib->getBuiltinResource(EBuiltInOps::FillBuffer, BuiltinCode::ECodeType::Binary, *device).size());
86+
EXPECT_NE(0u, mockBuiltinsLib->getBuiltinResource(EBuiltInOps::QueryKernelTimestamps, BuiltinCode::ECodeType::Binary, *device).size());
87+
EXPECT_EQ(0u, mockBuiltinsLib->getBuiltinResource(EBuiltInOps::COUNT, BuiltinCode::ECodeType::Binary, *device).size());
88+
}

shared/source/built_ins/builtins_binary.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (C) 2018-2021 Intel Corporation
2+
# Copyright (C) 2018-2022 Intel Corporation
33
#
44
# SPDX-License-Identifier: MIT
55
#
@@ -14,7 +14,7 @@ add_subdirectory(registry)
1414

1515
list(APPEND BIND_MODES
1616
"bindful"
17-
# "bindless"
17+
"bindless"
1818
)
1919

2020
set(GENERATED_BUILTINS

shared/source/built_ins/kernels/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,11 @@ macro(macro_for_each_core_type)
190190
set_target_properties(${target_name} PROPERTIES FOLDER "${SHARED_SOURCE_PROJECTS_FOLDER}/${SHARED_BUILTINS_PROJECTS_FOLDER}/${family_name_with_type}")
191191
foreach(MODE ${BIND_MODES})
192192
unset(BUILTINS_COMMANDS)
193+
194+
if((${MODE} STREQUAL "bindless") AND (NOT BUILD_WITH_L0 OR("${CORE_TYPE}" STREQUAL "GEN8")))
195+
continue()
196+
endif()
197+
193198
foreach(GENERATED_BUILTIN ${GENERATED_BUILTINS})
194199
compile_builtin(${CORE_TYPE} ${PLATFORM_TYPE} ${GENERATED_BUILTIN}.builtin_kernel ${NEO_BITS} "${BUILTIN_OPTIONS}" ${MODE})
195200
endforeach()

0 commit comments

Comments
 (0)