mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Add reference on kernel in blocked scenarios.
- Prevents kernel destruction while it may still be in use. Change-Id: I1f87d09c5cabf29644a1b06b63f1789dbb15985a
This commit is contained in:
@ -412,6 +412,23 @@ HWTEST_F(BlockedCommandQueueTest, givenCommandQueueWhichHasSomeUnusedHeapsWhenBl
|
||||
EXPECT_EQ(sshBase, ssh.getBase());
|
||||
}
|
||||
|
||||
HWTEST_F(BlockedCommandQueueTest, givenEnqueueBlockedByUserEventWhenItIsEnqueuedThenKernelReferenceCountIsIncreased) {
|
||||
UserEvent userEvent(context);
|
||||
MockKernelWithInternals mockKernelWithInternals(*pDevice);
|
||||
auto mockKernel = mockKernelWithInternals.mockKernel;
|
||||
|
||||
size_t offset = 0;
|
||||
size_t size = 1;
|
||||
|
||||
cl_event blockedEvent = &userEvent;
|
||||
|
||||
auto currentRefCount = mockKernel->getRefInternalCount();
|
||||
pCmdQ->enqueueKernel(mockKernel, 1, &offset, &size, &size, 1, &blockedEvent, nullptr);
|
||||
EXPECT_EQ(currentRefCount + 1, mockKernel->getRefInternalCount());
|
||||
userEvent.setStatus(CL_COMPLETE);
|
||||
EXPECT_EQ(currentRefCount, mockKernel->getRefInternalCount());
|
||||
}
|
||||
|
||||
typedef CommandQueueHwTest CommandQueueHwRefCountTest;
|
||||
|
||||
HWTEST_F(CommandQueueHwRefCountTest, givenBlockedCmdQWhenNewBlockedEnqueueReplacesVirtualEventThenPreviousVirtualEventDecrementsCmdQRefCount) {
|
||||
|
Reference in New Issue
Block a user