Builtins increase context refcount.

Change-Id: I146852092e1cb374b816875ae9a90ac03a8f205e
This commit is contained in:
Zdunowski, Piotr
2018-05-16 17:22:03 +02:00
committed by sys_ocldev
parent 09e4dab4f6
commit 39d55e5257
47 changed files with 173 additions and 202 deletions

View File

@ -832,6 +832,16 @@ TEST_F(BuiltInTests, getBuiltinResourcesForTypeBinary) {
EXPECT_EQ(0u, mockBuiltinsLib->getBuiltinResource(EBuiltInOps::COUNT, BuiltinCode::ECodeType::Binary, *pDevice).size());
}
TEST_F(BuiltInTests, givenCreateProgramFromCodeWhenReferenceCountedContextThenContextRefCountIncreases) {
auto builtinsLib = std::unique_ptr<BuiltinsLib>(new BuiltinsLib());
const BuiltinCode bc = builtinsLib->getBuiltinCode(EBuiltInOps::CopyBufferToBuffer, BuiltinCode::ECodeType::Any, *pDevice);
EXPECT_NE(0u, bc.resource.size());
auto refCount = pContext->getRefInternalCount();
auto program = std::unique_ptr<Program>(BuiltinsLib::createProgramFromCode(bc, *pContext, *pDevice));
EXPECT_EQ(pContext->getRefInternalCount(), refCount + 1);
EXPECT_NE(nullptr, program.get());
}
TEST_F(BuiltInTests, createProgramFromCodeForTypeAny) {
auto builtinsLib = std::unique_ptr<BuiltinsLib>(new BuiltinsLib());
const BuiltinCode bc = builtinsLib->getBuiltinCode(EBuiltInOps::CopyBufferToBuffer, BuiltinCode::ECodeType::Any, *pDevice);
@ -1480,8 +1490,7 @@ TEST_F(BuiltInTests, getSipKernelReturnsProgramCreatedOutOfIsaAcquiredFromCompil
mockCompilerInterface.overrideGlobalCompilerInterface();
mockCompilerInterface.sipKernelBinaryOverride = mockCompilerInterface.getDummyGenBinary();
cl_int errCode = CL_BUILD_PROGRAM_FAILURE;
auto p = Program::createFromGenBinary(pContext, mockCompilerInterface.sipKernelBinaryOverride.data(), mockCompilerInterface.sipKernelBinaryOverride.size(),
false, &errCode);
auto p = Program::createFromGenBinary(pContext, mockCompilerInterface.sipKernelBinaryOverride.data(), mockCompilerInterface.sipKernelBinaryOverride.size(), &errCode);
ASSERT_EQ(CL_SUCCESS, errCode);
errCode = p->processGenBinary();
ASSERT_EQ(CL_SUCCESS, errCode);