mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-26 15:03:02 +08:00
fix: correct event host signaling in tbx mode
Related-To: NEO-10065 Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
246c24f78f
commit
2d5d5ec768
@@ -367,7 +367,7 @@ template <typename TagSizeT>
|
||||
ze_result_t EventImp<TagSizeT>::hostEventSetValueTimestamps(TagSizeT eventVal) {
|
||||
|
||||
auto baseHostAddr = this->hostAddress;
|
||||
auto baseGpuAddr = getPoolAllocation(device)->getGpuAddress();
|
||||
auto baseGpuAddr = getGpuAddress(device);
|
||||
|
||||
uint64_t timestampStart = static_cast<uint64_t>(eventVal);
|
||||
uint64_t timestampEnd = static_cast<uint64_t>(eventVal);
|
||||
|
||||
@@ -268,23 +268,25 @@ bool testEventsHostSignalHostWait(ze_context_handle_t &context, ze_device_handle
|
||||
|
||||
// Create Event Pool and kernel launch event
|
||||
ze_event_pool_handle_t eventPool;
|
||||
uint32_t numEvents = 2;
|
||||
uint32_t numEvents = 3;
|
||||
std::vector<ze_event_handle_t> events(numEvents);
|
||||
LevelZeroBlackBoxTests::createEventPoolAndEvents(context, device, eventPool,
|
||||
ZE_EVENT_POOL_FLAG_HOST_VISIBLE,
|
||||
ZE_EVENT_POOL_FLAG_HOST_VISIBLE | ZE_EVENT_POOL_FLAG_KERNEL_TIMESTAMP,
|
||||
numEvents, events.data(),
|
||||
ZE_EVENT_SCOPE_FLAG_HOST,
|
||||
0);
|
||||
|
||||
SUCCESS_OR_TERMINATE(zeCommandListAppendWaitOnEvents(cmdList, 1, &events[0]));
|
||||
SUCCESS_OR_TERMINATE(zeCommandListAppendMemoryCopy(cmdList, dstBuffer, srcBuffer, allocSize, events[1], 0, nullptr));
|
||||
SUCCESS_OR_TERMINATE(zeCommandListAppendWaitOnEvents(cmdList, 2, &events[1]));
|
||||
SUCCESS_OR_TERMINATE(zeCommandListAppendMemoryCopy(cmdList, dstBuffer, srcBuffer, allocSize, events[0], 0, nullptr));
|
||||
SUCCESS_OR_TERMINATE(zeCommandListClose(cmdList));
|
||||
SUCCESS_OR_TERMINATE(zeCommandQueueExecuteCommandLists(cmdQueue, 1, &cmdList, nullptr));
|
||||
|
||||
SUCCESS_OR_TERMINATE(zeEventHostSignal(events[0]));
|
||||
SUCCESS_OR_TERMINATE(zeEventHostSignal(events[1]));
|
||||
SUCCESS_OR_TERMINATE(zeEventHostSignal(events[2]));
|
||||
|
||||
SUCCESS_OR_TERMINATE(zeEventHostSynchronize(events[1], std::numeric_limits<uint64_t>::max()));
|
||||
SUCCESS_OR_TERMINATE(zeEventHostSynchronize(events[0], std::numeric_limits<uint64_t>::max()));
|
||||
SUCCESS_OR_TERMINATE(zeEventHostSynchronize(events[1], std::numeric_limits<uint64_t>::max()));
|
||||
SUCCESS_OR_TERMINATE(zeEventHostSynchronize(events[2], std::numeric_limits<uint64_t>::max()));
|
||||
|
||||
// Validate
|
||||
bool outputValidationSuccessful = LevelZeroBlackBoxTests::validate(srcBuffer, dstBuffer, allocSize);
|
||||
|
||||
Reference in New Issue
Block a user