diff --git a/shared/source/utilities/staging_buffer_manager.cpp b/shared/source/utilities/staging_buffer_manager.cpp index 0a108c44b0..ec543937bf 100644 --- a/shared/source/utilities/staging_buffer_manager.cpp +++ b/shared/source/utilities/staging_buffer_manager.cpp @@ -216,7 +216,7 @@ WaitStatus StagingBufferManager::copyStagingToHost(const std::pairdownloadAllocations(true); auto &userData = transfer.first; tracker = transfer.second; auto stagingBuffer = addrToPtr(tracker.chunkAddress); diff --git a/shared/test/unit_test/utilities/staging_buffer_manager_tests.cpp b/shared/test/unit_test/utilities/staging_buffer_manager_tests.cpp index 582ddfc796..e6d1d62ae1 100644 --- a/shared/test/unit_test/utilities/staging_buffer_manager_tests.cpp +++ b/shared/test/unit_test/utilities/staging_buffer_manager_tests.cpp @@ -521,6 +521,16 @@ TEST_F(StagingBufferManagerTest, givenStagingBufferWhenPerformImageReadThenRegio imageTransferThroughStagingBuffers(true, stagingBufferSize, globalOrigin, globalRegion, expectedChunks); } +HWTEST_F(StagingBufferManagerTest, givenStagingBufferWhenPerformImageReadThenDownloadAllocationsCalledForAllReadChunks) { + size_t expectedChunks = 8; + const size_t globalOrigin[3] = {0, 0, 0}; + const size_t globalRegion[3] = {4, expectedChunks, 1}; + imageTransferThroughStagingBuffers(true, stagingBufferSize, globalOrigin, globalRegion, expectedChunks); + auto ultCsr = reinterpret_cast *>(csr); + EXPECT_EQ(expectedChunks, ultCsr->downloadAllocationsCalledCount); + EXPECT_TRUE(ultCsr->latestDownloadAllocationsBlocking); +} + TEST_F(StagingBufferManagerTest, givenStagingBufferWhenPerformImageReadThenWholeRegionCovered) { size_t expectedChunks = 8; const size_t globalOrigin[3] = {0, 0, 0};