mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Timestamp Packet ownership
- Tag allocator: reference count tracking - Obtain tag by command queue and pass to Event if exist during enqueue - Handle Timestamp Packet lifetime on Event and CmdQueue destruction Change-Id: I9a5969830ea7a9d729e6f70519d8c28ff70fcf06 Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:

committed by
sys_ocldev

parent
b49101803c
commit
da0f9381dc
@ -251,3 +251,21 @@ TEST_F(TagAllocatorTest, CleanupResources) {
|
||||
EXPECT_EQ(0u, tagAllocator.getGraphicsAllocationsCount());
|
||||
EXPECT_EQ(0u, tagAllocator.getTagPoolCount());
|
||||
}
|
||||
|
||||
TEST_F(TagAllocatorTest, givenMultipleReferencesOnTagWhenReleasingThenReturnWhenAllRefCountsAreReleased) {
|
||||
MockTagAllocator tagAllocator(memoryManager, 2, 1);
|
||||
|
||||
auto tag = tagAllocator.getTag();
|
||||
EXPECT_NE(nullptr, tagAllocator.getUsedTagsHead());
|
||||
tagAllocator.returnTag(tag);
|
||||
EXPECT_EQ(nullptr, tagAllocator.getUsedTagsHead()); // only 1 reference
|
||||
|
||||
tag = tagAllocator.getTag();
|
||||
tag->incRefCount();
|
||||
EXPECT_NE(nullptr, tagAllocator.getUsedTagsHead());
|
||||
|
||||
tagAllocator.returnTag(tag);
|
||||
EXPECT_NE(nullptr, tagAllocator.getUsedTagsHead()); // 1 reference left
|
||||
tagAllocator.returnTag(tag);
|
||||
EXPECT_EQ(nullptr, tagAllocator.getUsedTagsHead());
|
||||
}
|
||||
|
Reference in New Issue
Block a user