mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-10 12:53:42 +08:00
Enhance validation in sharing scenarios.
Change-Id: I590c5d66602749fb5702e414ccf2b1acec3bc9e7
This commit is contained in:

committed by
sys_ocldev

parent
f4222785ee
commit
d2e820aac8
@ -215,9 +215,13 @@ cl_int CL_API_CALL clEnqueueReleaseDX9MediaSurfacesKHR(cl_command_queue commandQ
|
||||
|
||||
for (unsigned int object = 0; object < numObjects; object++) {
|
||||
auto memObject = castToObject<MemObj>(memObjects[object]);
|
||||
if (!static_cast<D3DSharing<D3DTypesHelper::D3D9> *>(memObject->peekSharingHandler())->isSharedResource()) {
|
||||
cmdQ->finish(true);
|
||||
break;
|
||||
if (memObject) {
|
||||
if (!static_cast<D3DSharing<D3DTypesHelper::D3D9> *>(memObject->peekSharingHandler())->isSharedResource()) {
|
||||
cmdQ->finish(true);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
return CL_INVALID_MEM_OBJECT;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -760,6 +760,12 @@ TEST_F(D3D9Tests, acquireReleaseOnNonSharedResourceSurfaceAndNonLockable) {
|
||||
EXPECT_TRUE(memcmp(&requestedResCopyBlt, &expectedResCopyBlt, sizeof(GMM_RES_COPY_BLT)) == 0);
|
||||
}
|
||||
|
||||
TEST_F(D3D9Tests, givenInvalidClMemObjectPassedOnReleaseListWhenCallIsMadeThenFailureIsReturned) {
|
||||
auto fakeObject = reinterpret_cast<cl_mem>(cmdQ);
|
||||
auto retVal = clEnqueueReleaseDX9MediaSurfacesKHR(cmdQ, 1, &fakeObject, 0, nullptr, nullptr);
|
||||
EXPECT_EQ(CL_INVALID_MEM_OBJECT, retVal);
|
||||
}
|
||||
|
||||
TEST_F(D3D9Tests, givenResourcesCreatedFromDifferentDevicesWhenAcquireReleaseCalledThenUpdateDevice) {
|
||||
EXPECT_CALL(*mockSharingFcns, getTexture2dDesc(_, _)).Times(1).WillOnce(SetArgPointee<0>(mockSharingFcns->mockTexture2dDesc));
|
||||
|
||||
|
Reference in New Issue
Block a user