mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-30 01:35:20 +08:00
Ensure that events without commands have proper flush stamps.
Change-Id: I937efef7f87fa7df9e9b1a903269e3637eca73ad Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
This commit is contained in:
committed by
sys_ocldev
parent
eb3e6efaf1
commit
1bc5f7b142
@@ -10,6 +10,7 @@
|
||||
#include "test.h"
|
||||
#include "unit_tests/command_queue/command_enqueue_fixture.h"
|
||||
#include "unit_tests/gen_common/gen_cmd_parse.h"
|
||||
#include "unit_tests/mocks/mock_kernel.h"
|
||||
|
||||
using namespace NEO;
|
||||
|
||||
@@ -218,3 +219,27 @@ TEST_F(MarkerTest, givenMultipleEventsAndCompletedUserEventWhenTheyArePassedToMa
|
||||
EXPECT_EQ(16u, pCmdQ->taskCount);
|
||||
EXPECT_EQ(16u, pEvent->peekTaskCount());
|
||||
}
|
||||
|
||||
HWTEST_F(MarkerTest, givenMarkerCallFollowingNdrangeCallInBatchedModeWhenWaitForEventsIsCalledThenFlushStampIsProperlyUpdated) {
|
||||
MockKernelWithInternals mockKernel(*this->pDevice, this->context);
|
||||
|
||||
auto &ultCommandStreamReceiver = this->pDevice->getUltCommandStreamReceiver<FamilyType>();
|
||||
|
||||
ultCommandStreamReceiver.overrideDispatchPolicy(DispatchMode::BatchedDispatch);
|
||||
|
||||
cl_event eventFromNdr = nullptr;
|
||||
size_t gws[] = {1};
|
||||
pCmdQ->enqueueKernel(mockKernel.mockKernel, 1, nullptr, gws, nullptr, 0, nullptr, &eventFromNdr);
|
||||
cl_event eventFromMarker = nullptr;
|
||||
pCmdQ->enqueueMarkerWithWaitList(1u, &eventFromNdr, &eventFromMarker);
|
||||
|
||||
ultCommandStreamReceiver.flushStamp->setStamp(1u);
|
||||
|
||||
clEnqueueWaitForEvents(pCmdQ, 1u, &eventFromMarker);
|
||||
|
||||
auto neoEvent = castToObject<Event>(eventFromMarker);
|
||||
EXPECT_EQ(1u, neoEvent->flushStamp->peekStamp());
|
||||
|
||||
clReleaseEvent(eventFromMarker);
|
||||
clReleaseEvent(eventFromNdr);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user