Fix get_work_dim() returning incorrect value

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
This commit is contained in:
Kacper Nowak
2021-07-20 14:21:38 +00:00
committed by Compute-Runtime-Automation
parent 4c4823f55e
commit 64f86817f8
2 changed files with 28 additions and 1 deletions

View File

@ -977,4 +977,31 @@ TEST_F(DispatchInfoBuilderTest, GivenNullKernelWhenSettingKernelArgThenSuccessIs
delete diBuilder;
delete buffer;
}
TEST_F(DispatchInfoBuilderTest, WhenDimensionIsNotSetThenProperDimensionIsReturned) {
MultiDispatchInfo mdi;
auto diBuilder = std::make_unique<DispatchInfoBuilder<SplitDispatch::Dim::d3D, SplitDispatch::SplitMode::NoSplit>>(*pClDevice);
ASSERT_NE(nullptr, diBuilder);
diBuilder->setDispatchGeometry(0u, Vec3<size_t>(128, 4, 1), Vec3<size_t>(0, 0, 0), Vec3<size_t>(0, 0, 0));
diBuilder->bake(mdi);
for (auto &dispatchInfo : mdi) {
EXPECT_EQ(2u, dispatchInfo.getDim());
}
}
TEST_F(DispatchInfoBuilderTest, WhengDimensionIsNotMatchingGWSThenDimensionPassedAsArgumentIsReturned) {
MultiDispatchInfo mdi;
auto diBuilder = std::make_unique<DispatchInfoBuilder<SplitDispatch::Dim::d3D, SplitDispatch::SplitMode::NoSplit>>(*pClDevice);
ASSERT_NE(nullptr, diBuilder);
diBuilder->setDispatchGeometry(2u, Vec3<size_t>(128, 1, 1), Vec3<size_t>(0, 0, 0), Vec3<size_t>(0, 0, 0));
diBuilder->bake(mdi);
for (auto &dispatchInfo : mdi) {
EXPECT_EQ(2u, dispatchInfo.getDim());
}
}
} // namespace NEO