mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-10 12:53:42 +08:00
Correct arguments verification of clEnqueueReleaseDX9ObjectsINTEL call
When clEnqueueReleaseDX9ObjectsINTEL is called and incorrect memory objects list is passed, ensure that api returns gracefully and proper value is returned. Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
This commit is contained in:

committed by
Compute-Runtime-Automation

parent
f043797f51
commit
74bf623ddb
@ -184,6 +184,11 @@ cl_int CL_API_CALL clEnqueueReleaseDX9ObjectsINTEL(cl_command_queue commandQueue
|
||||
return retVal;
|
||||
}
|
||||
|
||||
retVal = validateObjects(MemObjList(numObjects, memObjects));
|
||||
if (retVal != CL_SUCCESS) {
|
||||
return retVal;
|
||||
}
|
||||
|
||||
for (unsigned int object = 0; object < numObjects; object++) {
|
||||
auto memObject = castToObject<MemObj>(memObjects[object]);
|
||||
if (!static_cast<D3DSharing<D3DTypesHelper::D3D9> *>(memObject->peekSharingHandler())->isSharedResource()) {
|
||||
|
@ -1007,6 +1007,12 @@ TEST_F(D3D9Tests, givenInvalidClMemObjectPassedOnReleaseListWhenCallIsMadeThenFa
|
||||
EXPECT_EQ(CL_INVALID_MEM_OBJECT, retVal);
|
||||
}
|
||||
|
||||
TEST_F(D3D9Tests, givenInvalidClMemObjectPassedOnReleaseDX9ObjectsWhenCallIsMadeThenFailureIsReturned) {
|
||||
auto fakeObject = reinterpret_cast<cl_mem>(cmdQ);
|
||||
auto retVal = clEnqueueReleaseDX9ObjectsINTEL(cmdQ, 1, &fakeObject, 0, nullptr, nullptr);
|
||||
EXPECT_EQ(CL_INVALID_MEM_OBJECT, retVal);
|
||||
}
|
||||
|
||||
TEST_F(D3D9Tests, givenResourcesCreatedFromDifferentDevicesWhenAcquireReleaseCalledThenUpdateDevice) {
|
||||
mockSharingFcns->getTexture2dDescSetParams = true;
|
||||
mockSharingFcns->getTexture2dDescParamsSet.textureDesc = mockSharingFcns->mockTexture2dDesc;
|
||||
|
Reference in New Issue
Block a user