Skip to content

Commit 382b65a

Browse files
Add WaitOnMemory and WriteToMemory experimental extensions
Signed-off-by: Aravind Gopalakrishnan <[email protected]>
1 parent ca4068a commit 382b65a

File tree

4 files changed

+30
-0
lines changed

4 files changed

+30
-0
lines changed

level_zero/core/source/cmdlist/cmdlist.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,10 @@ struct CommandList : _ze_command_list_handle_t {
141141
virtual ze_result_t appendMIBBEnd() = 0;
142142
virtual ze_result_t appendMINoop() = 0;
143143
virtual ze_result_t appendPipeControl(void *dstPtr, uint64_t value) = 0;
144+
virtual ze_result_t appendWaitOnMemory(void *desc, void *ptr,
145+
uint32_t data, ze_event_handle_t hSignalEvent) = 0;
146+
virtual ze_result_t appendWriteToMemory(void *desc, void *ptr,
147+
uint64_t data) = 0;
144148

145149
static CommandList *create(uint32_t productFamily, Device *device, NEO::EngineGroupType engineGroupType,
146150
ze_result_t &resultValue);

level_zero/core/source/cmdlist/cmdlist_extended/cmdlist_extended.inl

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,19 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendPipeControl(void *dstPtr
5959
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
6060
}
6161

62+
template <GFXCORE_FAMILY gfxCoreFamily>
63+
ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendWaitOnMemory(void *desc,
64+
void *ptr,
65+
uint32_t data,
66+
ze_event_handle_t hSignalEvent) {
67+
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
68+
}
69+
70+
template <GFXCORE_FAMILY gfxCoreFamily>
71+
ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendWriteToMemory(void *desc,
72+
void *ptr,
73+
uint64_t data) {
74+
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
75+
}
76+
6277
} // namespace L0

level_zero/core/source/cmdlist/cmdlist_hw.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,10 @@ struct CommandListCoreFamily : CommandListImp {
135135
ze_result_t appendMIBBEnd() override;
136136
ze_result_t appendMINoop() override;
137137
ze_result_t appendPipeControl(void *dstPtr, uint64_t value) override;
138+
ze_result_t appendWaitOnMemory(void *desc, void *ptr,
139+
uint32_t data, ze_event_handle_t hSignalEvent) override;
140+
ze_result_t appendWriteToMemory(void *desc, void *ptr,
141+
uint64_t data) override;
138142

139143
ze_result_t appendQueryKernelTimestamps(uint32_t numEvents, ze_event_handle_t *phEvents, void *dstptr,
140144
const size_t *pOffsets, ze_event_handle_t hSignalEvent,

level_zero/core/test/unit_tests/mocks/mock_cmdlist.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,13 @@ struct MockCommandList : public CommandList {
319319
ADDMETHOD_NOBASE(appendPipeControl, ze_result_t, ZE_RESULT_SUCCESS,
320320
(void *dstPtr,
321321
uint64_t value));
322+
ADDMETHOD_NOBASE(appendWaitOnMemory, ze_result_t, ZE_RESULT_SUCCESS,
323+
(void *desc, void *ptr,
324+
uint32_t data, ze_event_handle_t hSignalEvent));
325+
326+
ADDMETHOD_NOBASE(appendWriteToMemory, ze_result_t, ZE_RESULT_SUCCESS,
327+
(void *desc, void *ptr,
328+
uint64_t data));
322329

323330
ADDMETHOD_NOBASE(executeCommandListImmediate, ze_result_t, ZE_RESULT_SUCCESS,
324331
(bool perforMigration));

0 commit comments

Comments
 (0)