From 16fb74425ec855fdac315eab7e1559e70c51fc4f Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Mon, 31 Jul 2017 17:24:08 +0300 Subject: [PATCH] ocl: fix program cache key --- modules/core/src/ocl.cpp | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/modules/core/src/ocl.cpp b/modules/core/src/ocl.cpp index 196cefc0a2..f25b9c0d76 100644 --- a/modules/core/src/ocl.cpp +++ b/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);