diff --git a/opencl/test/unit_test/os_interface/windows/wddm_mapper_tests.cpp b/opencl/test/unit_test/os_interface/windows/wddm_mapper_tests.cpp index 896fa88eef..61a2fa5070 100644 --- a/opencl/test/unit_test/os_interface/windows/wddm_mapper_tests.cpp +++ b/opencl/test/unit_test/os_interface/windows/wddm_mapper_tests.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018-2020 Intel Corporation + * Copyright (C) 2018-2021 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -15,12 +15,18 @@ TEST(WddmMapperTests, givenRcsEngineTypeWhenAskedForNodeOrdinalThenReturn3d) { GPUNODE_ORDINAL rcsNode = WddmEngineMapper::engineNodeMap(aub_stream::ENGINE_RCS); GPUNODE_ORDINAL bcsNode = WddmEngineMapper::engineNodeMap(aub_stream::ENGINE_BCS); GPUNODE_ORDINAL ccsNode = WddmEngineMapper::engineNodeMap(aub_stream::ENGINE_CCS); + GPUNODE_ORDINAL ccsNode1 = WddmEngineMapper::engineNodeMap(aub_stream::ENGINE_CCS1); + GPUNODE_ORDINAL ccsNode2 = WddmEngineMapper::engineNodeMap(aub_stream::ENGINE_CCS2); + GPUNODE_ORDINAL ccsNode3 = WddmEngineMapper::engineNodeMap(aub_stream::ENGINE_CCS3); GPUNODE_ORDINAL expectedRcsNode = GPUNODE_3D; GPUNODE_ORDINAL expectedBcsNode = GPUNODE_BLT; GPUNODE_ORDINAL expectedCcsNode = GPUNODE_CCS0; EXPECT_EQ(expectedRcsNode, rcsNode); EXPECT_EQ(expectedBcsNode, bcsNode); EXPECT_EQ(expectedCcsNode, ccsNode); + EXPECT_EQ(expectedCcsNode, ccsNode1); + EXPECT_EQ(expectedCcsNode, ccsNode2); + EXPECT_EQ(expectedCcsNode, ccsNode3); } TEST(WddmMapperTests, givenNotSupportedEngineWhenAskedForNodeThenAbort) { diff --git a/shared/source/helpers/engine_node_helper.cpp b/shared/source/helpers/engine_node_helper.cpp index 0c79c91493..201ba29af4 100644 --- a/shared/source/helpers/engine_node_helper.cpp +++ b/shared/source/helpers/engine_node_helper.cpp @@ -34,8 +34,19 @@ std::string engineTypeToString(aub_stream::EngineType engineType) { return "VECS"; case aub_stream::EngineType::ENGINE_CCS: return "CCS"; + case aub_stream::EngineType::ENGINE_CCS1: + return "CCS1"; + case aub_stream::EngineType::ENGINE_CCS2: + return "CCS2"; + case aub_stream::EngineType::ENGINE_CCS3: + return "CCS3"; default: return engineTypeToStringAdditional(engineType); } } + +bool isCcs(aub_stream::EngineType engineType) { + return engineType >= aub_stream::ENGINE_CCS && engineType <= aub_stream::ENGINE_CCS3; +} + } // namespace NEO::EngineHelpers diff --git a/shared/source/helpers/engine_node_helper_extra.cpp b/shared/source/helpers/engine_node_helper_extra.cpp index a68eb19c6f..9dd71b850a 100644 --- a/shared/source/helpers/engine_node_helper_extra.cpp +++ b/shared/source/helpers/engine_node_helper_extra.cpp @@ -9,10 +9,6 @@ namespace NEO { namespace EngineHelpers { -bool isCcs(aub_stream::EngineType engineType) { - return engineType == aub_stream::ENGINE_CCS; -} - bool isBcs(aub_stream::EngineType engineType) { return engineType == aub_stream::ENGINE_BCS; } diff --git a/shared/source/os_interface/windows/wddm_engine_mapper.cpp b/shared/source/os_interface/windows/wddm_engine_mapper.cpp index 4e81343e3f..4ed33bf7aa 100644 --- a/shared/source/os_interface/windows/wddm_engine_mapper.cpp +++ b/shared/source/os_interface/windows/wddm_engine_mapper.cpp @@ -8,16 +8,17 @@ #include "shared/source/os_interface/windows/wddm_engine_mapper.h" #include "shared/source/helpers/debug_helpers.h" +#include "shared/source/helpers/engine_node_helper.h" namespace NEO { GPUNODE_ORDINAL WddmEngineMapper::engineNodeMap(aub_stream::EngineType engineType) { - if (aub_stream::ENGINE_RCS == engineType) { + if (EngineHelpers::isCcs(engineType)) { + return GPUNODE_CCS0; + } else if (aub_stream::ENGINE_RCS == engineType) { return GPUNODE_3D; } else if (aub_stream::ENGINE_BCS == engineType) { return GPUNODE_BLT; - } else if (aub_stream::ENGINE_CCS == engineType) { - return GPUNODE_CCS0; } UNRECOVERABLE_IF(true); } diff --git a/shared/test/common/helpers/engine_node_helper_tests.cpp b/shared/test/common/helpers/engine_node_helper_tests.cpp index 7f0c6a99e6..f24f588e93 100644 --- a/shared/test/common/helpers/engine_node_helper_tests.cpp +++ b/shared/test/common/helpers/engine_node_helper_tests.cpp @@ -29,9 +29,21 @@ TEST(EngineNodeHelperTests, givenValidEngineTypeWhenGettingStringRepresentationT CHECK_ENGINE(VCS); CHECK_ENGINE(VECS); CHECK_ENGINE(CCS); + CHECK_ENGINE(CCS1); + CHECK_ENGINE(CCS2); + CHECK_ENGINE(CCS3); #undef CHECK_ENGINE } +TEST(EngineNodeHelperTests, givenCcsEngineWhenHelperIsUsedThenReturnTrue) { + EXPECT_TRUE(EngineHelpers::isCcs(aub_stream::EngineType::ENGINE_CCS)); + EXPECT_TRUE(EngineHelpers::isCcs(aub_stream::EngineType::ENGINE_CCS1)); + EXPECT_TRUE(EngineHelpers::isCcs(aub_stream::EngineType::ENGINE_CCS2)); + EXPECT_TRUE(EngineHelpers::isCcs(aub_stream::EngineType::ENGINE_CCS3)); + EXPECT_FALSE(EngineHelpers::isCcs(aub_stream::EngineType::ENGINE_RCS)); + EXPECT_FALSE(EngineHelpers::isCcs(aub_stream::EngineType::NUM_ENGINES)); +} + TEST(EngineNodeHelperTests, givenInvalidEngineTypeWhenGettingStringRepresentationThenItIsCorrect) { EXPECT_EQ(std::string{"Unknown"}, EngineHelpers::engineTypeToString(aub_stream::EngineType::NUM_ENGINES)); EXPECT_EQ(std::string{"Unknown"}, EngineHelpers::engineTypeToString(static_cast(0xcc)));