Add MigrateMem and MemAdvice implementations
Related-To: NEO-3610 Change-Id: I2c5b37927bf63fbc99a8f932baabd461798a345d Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
This commit is contained in:
parent
d37fe4904c
commit
d7236d391c
|
@ -3584,7 +3584,16 @@ cl_int clEnqueueMigrateMemINTEL(
|
|||
cl_uint numEventsInWaitList,
|
||||
const cl_event *eventWaitList,
|
||||
cl_event *event) {
|
||||
return CL_OUT_OF_HOST_MEMORY;
|
||||
cl_int retVal = CL_SUCCESS;
|
||||
|
||||
CommandQueue *pCommandQueue = nullptr;
|
||||
retVal = validateObjects(WithCastToInternal(commandQueue, &pCommandQueue), ptr, EventWaitList(numEventsInWaitList, eventWaitList));
|
||||
|
||||
if (retVal == CL_SUCCESS) {
|
||||
pCommandQueue->enqueueMarkerWithWaitList(numEventsInWaitList, eventWaitList, event);
|
||||
}
|
||||
|
||||
return retVal;
|
||||
}
|
||||
|
||||
cl_int clEnqueueMemAdviseINTEL(
|
||||
|
@ -3595,7 +3604,16 @@ cl_int clEnqueueMemAdviseINTEL(
|
|||
cl_uint numEventsInWaitList,
|
||||
const cl_event *eventWaitList,
|
||||
cl_event *event) {
|
||||
return CL_OUT_OF_HOST_MEMORY;
|
||||
cl_int retVal = CL_SUCCESS;
|
||||
|
||||
CommandQueue *pCommandQueue = nullptr;
|
||||
retVal = validateObjects(WithCastToInternal(commandQueue, &pCommandQueue), ptr, EventWaitList(numEventsInWaitList, eventWaitList));
|
||||
|
||||
if (retVal == CL_SUCCESS) {
|
||||
pCommandQueue->enqueueMarkerWithWaitList(numEventsInWaitList, eventWaitList, event);
|
||||
}
|
||||
|
||||
return retVal;
|
||||
}
|
||||
|
||||
cl_command_queue CL_API_CALL clCreateCommandQueueWithPropertiesKHR(cl_context context,
|
||||
|
|
|
@ -428,12 +428,28 @@ TEST(clUnifiedSharedMemoryTests, givenTwoUnifiedMemoryAllocationsWhenTheyAreCopi
|
|||
clMemFreeINTEL(mockContext.get(), unfiedMemorySharedAllocation);
|
||||
}
|
||||
|
||||
TEST(clUnifiedSharedMemoryTests, whenClEnqueueMigrateMemINTELisCalledThenOutOfHostMemoryErrorIsReturned) {
|
||||
TEST(clUnifiedSharedMemoryTests, whenClEnqueueMigrateMemINTELisCalledWithWrongQueueThenInvalidQueueErrorIsReturned) {
|
||||
auto retVal = clEnqueueMigrateMemINTEL(0, nullptr, 0, 0, 0, nullptr, nullptr);
|
||||
EXPECT_EQ(CL_OUT_OF_HOST_MEMORY, retVal);
|
||||
EXPECT_EQ(CL_INVALID_COMMAND_QUEUE, retVal);
|
||||
}
|
||||
|
||||
TEST(clUnifiedSharedMemoryTests, whenClEnqueueMemAdviseINTELisCalledThenOutOfHostMemoryErrorIsReturned) {
|
||||
auto retVal = clEnqueueMemAdviseINTEL(0, nullptr, 0, 0, 0, nullptr, nullptr);
|
||||
EXPECT_EQ(CL_OUT_OF_HOST_MEMORY, retVal);
|
||||
TEST(clUnifiedSharedMemoryTests, whenClEnqueueMigrateMemINTELisCalledWithProperParametersThenSuccessIsReturned) {
|
||||
CommandQueue cmdQ;
|
||||
void *unifiedMemoryAlloc = reinterpret_cast<void *>(0x1234);
|
||||
|
||||
auto retVal = clEnqueueMigrateMemINTEL(&cmdQ, unifiedMemoryAlloc, 10, 0, 0, nullptr, nullptr);
|
||||
EXPECT_EQ(CL_SUCCESS, retVal);
|
||||
}
|
||||
|
||||
TEST(clUnifiedSharedMemoryTests, whenClEnqueueMemAdviseINTELisCalledWithWrongQueueThenInvalidQueueErrorIsReturned) {
|
||||
auto retVal = clEnqueueMemAdviseINTEL(0, nullptr, 0, 0, 0, nullptr, nullptr);
|
||||
EXPECT_EQ(CL_INVALID_COMMAND_QUEUE, retVal);
|
||||
}
|
||||
|
||||
TEST(clUnifiedSharedMemoryTests, whenClEnqueueMemAdviseINTELisCalledWithProperParametersThenSuccessIsReturned) {
|
||||
CommandQueue cmdQ;
|
||||
void *unifiedMemoryAlloc = reinterpret_cast<void *>(0x1234);
|
||||
|
||||
auto retVal = clEnqueueMemAdviseINTEL(&cmdQ, unifiedMemoryAlloc, 10, 0, 0, nullptr, nullptr);
|
||||
EXPECT_EQ(CL_SUCCESS, retVal);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue