| 172 | } |
| 173 | |
| 174 | clfftStatus FFTRepo::getProgramEntryPoint( const clfftGenerators gen, const FFTKernelSignatureHeader * data, |
| 175 | clfftDirection dir, std::string& kernel, const cl_device_id &device, const cl_context& planContext ) |
| 176 | { |
| 177 | scopedLock sLock( lockRepo, _T( "getProgramEntryPoint" ) ); |
| 178 | |
| 179 | FFTRepoKey key(gen, data, planContext, device); |
| 180 | |
| 181 | fftRepo_iterator pos = mapFFTs.find( key ); |
| 182 | if( pos == mapFFTs.end( ) ) |
| 183 | return CLFFT_FILE_NOT_FOUND; |
| 184 | |
| 185 | switch (dir) { |
| 186 | case CLFFT_FORWARD: |
| 187 | kernel = pos->second.EntryPoint_fwd; |
| 188 | break; |
| 189 | case CLFFT_BACKWARD: |
| 190 | kernel = pos->second.EntryPoint_back; |
| 191 | break; |
| 192 | default: |
| 193 | assert (false); |
| 194 | return CLFFT_INVALID_ARG_VALUE; |
| 195 | } |
| 196 | |
| 197 | if (0 == kernel.size()) |
| 198 | return CLFFT_FILE_NOT_FOUND; |
| 199 | |
| 200 | return CLFFT_SUCCESS; |
| 201 | } |
| 202 | |
| 203 | clfftStatus FFTRepo::setclProgram( const clfftGenerators gen, const FFTKernelSignatureHeader * data, const cl_program& prog, const cl_device_id &device, const cl_context& planContext ) |
| 204 | { |