Skip to content

Commit 56476fd

Browse files
aarongreigkbenzie
authored andcommitted
Add the reset of the memory stuff from the default overrides.
1 parent 87b8e67 commit 56476fd

File tree

2 files changed

+40
-2
lines changed

2 files changed

+40
-2
lines changed

scripts/templates/mockddi.cpp.mako

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,31 @@ namespace driver
7171
%else:
7272
*phNative${func_class} = reinterpret_cast<ur_native_handle_t>(h${func_class});
7373
%endif
74+
## These special cases handle memory stuff. Use verbose regex matching
75+
## to limit the possibility of unintentional stuff getting generated for
76+
## future entry points with similar names.
77+
%elif re.search(r"MemBufferCreate$", fname):
78+
if (pProperties && (pProperties)->pHost &&
79+
flags & UR_MEM_FLAG_USE_HOST_POINTER) {
80+
*phBuffer = mock::createDummyHandleWithData<ur_mem_handle_t>(
81+
reinterpret_cast<unsigned char *>((pProperties)->pHost),
82+
size);
83+
} else {
84+
*phBuffer =
85+
mock::createDummyHandle<ur_mem_handle_t>(size);
86+
}
87+
%elif re.search(r"EnqueueMemBufferMap$", fname):
88+
if(phEvent) {
89+
*phEvent = mock::createDummyHandle<ur_event_handle_t>();
90+
}
91+
92+
auto parentDummyHandle =
93+
reinterpret_cast<mock::dummy_handle_t>(hBuffer);
94+
*ppRetMap = (void *)(parentDummyHandle->MData);
95+
%elif re.search(r"USM(Host|Device|Shared)Alloc$", fname):
96+
*ppMem = mock::createDummyHandle<void *>(size);
97+
%elif re.search(r"USMPitchedAllocExp$", fname):
98+
*ppMem = mock::createDummyHandle<void *>(widthInBytes * height);
7499
%else:
75100
%if fname == 'urAdapterGet' or fname == 'urDeviceGet' or fname == 'urPlatformGet':
76101
<%

source/adapters/mock/ur_mockddi.cpp

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1446,7 +1446,13 @@ __urdlllocal ur_result_t UR_APICALL urMemBufferCreate(
14461446
result = replaceCallback(&params);
14471447
} else {
14481448

1449-
*phBuffer = mock::createDummyHandle<ur_mem_handle_t>();
1449+
if (pProperties && (pProperties)->pHost &&
1450+
flags & UR_MEM_FLAG_USE_HOST_POINTER) {
1451+
*phBuffer = mock::createDummyHandleWithData<ur_mem_handle_t>(
1452+
reinterpret_cast<unsigned char *>((pProperties)->pHost), size);
1453+
} else {
1454+
*phBuffer = mock::createDummyHandle<ur_mem_handle_t>(size);
1455+
}
14501456
result = UR_RESULT_SUCCESS;
14511457
}
14521458

@@ -2187,6 +2193,7 @@ __urdlllocal ur_result_t UR_APICALL urUSMHostAlloc(
21872193
result = replaceCallback(&params);
21882194
} else {
21892195

2196+
*ppMem = mock::createDummyHandle<void *>(size);
21902197
result = UR_RESULT_SUCCESS;
21912198
}
21922199

@@ -2238,6 +2245,7 @@ __urdlllocal ur_result_t UR_APICALL urUSMDeviceAlloc(
22382245
result = replaceCallback(&params);
22392246
} else {
22402247

2248+
*ppMem = mock::createDummyHandle<void *>(size);
22412249
result = UR_RESULT_SUCCESS;
22422250
}
22432251

@@ -2289,6 +2297,7 @@ __urdlllocal ur_result_t UR_APICALL urUSMSharedAlloc(
22892297
result = replaceCallback(&params);
22902298
} else {
22912299

2300+
*ppMem = mock::createDummyHandle<void *>(size);
22922301
result = UR_RESULT_SUCCESS;
22932302
}
22942303

@@ -6285,10 +6294,13 @@ __urdlllocal ur_result_t UR_APICALL urEnqueueMemBufferMap(
62856294
result = replaceCallback(&params);
62866295
} else {
62876296

6288-
// optional output handle
62896297
if (phEvent) {
62906298
*phEvent = mock::createDummyHandle<ur_event_handle_t>();
62916299
}
6300+
6301+
auto parentDummyHandle =
6302+
reinterpret_cast<mock::dummy_handle_t>(hBuffer);
6303+
*ppRetMap = (void *)(parentDummyHandle->MData);
62926304
result = UR_RESULT_SUCCESS;
62936305
}
62946306

@@ -7073,6 +7085,7 @@ __urdlllocal ur_result_t UR_APICALL urUSMPitchedAllocExp(
70737085
result = replaceCallback(&params);
70747086
} else {
70757087

7088+
*ppMem = mock::createDummyHandle<void *>(widthInBytes * height);
70767089
result = UR_RESULT_SUCCESS;
70777090
}
70787091

0 commit comments

Comments
 (0)