ocl: fix program cache key

pull/9279/head
Alexander Alekhin 7 years ago
parent 230f22b1cd
commit 16fb74425e
  1. 20
      modules/core/src/ocl.cpp

@ -174,24 +174,6 @@ static uint64 crc64( const uchar* data, size_t size, uint64 crc0=0 )
return ~crc;
}
struct HashKey
{
typedef uint64 part;
HashKey(part _a, part _b) : a(_a), b(_b) {}
part a, b;
};
inline bool operator == (const HashKey& h1, const HashKey& h2)
{
return h1.a == h2.a && h1.b == h2.b;
}
inline bool operator < (const HashKey& h1, const HashKey& h2)
{
return h1.a < h2.a || (h1.a == h2.a && h1.b < h2.b);
}
bool haveOpenCL()
{
#ifdef HAVE_OPENCL
@ -1351,7 +1333,7 @@ struct Context::Impl
const String& buildflags, String& errmsg)
{
size_t limit = getProgramCountLimit();
String key = Program::getPrefix(buildflags);
String key = cv::format("codehash=%08llx ", src.hash()) + Program::getPrefix(buildflags);
{
cv::AutoLock lock(program_cache_mutex);
phash_t::iterator it = phash.find(key);

Loading…
Cancel
Save