| 193 | } |
| 194 | |
| 195 | void VISIBILITY_HIDDEN |
| 196 | putSCImage(cl_device_id devID, cl_mem image) |
| 197 | { |
| 198 | ListNode *node; |
| 199 | SCImageNode *imgNode; |
| 200 | DeviceNode *devNode = NULL; |
| 201 | |
| 202 | IMAGES_LOCK(); |
| 203 | node = listNodeSearch(&images, (const void*)&image, imageNodeCmp); |
| 204 | if (node != NULL) { |
| 205 | imgNode = container_of(node, node, SCImageNode); |
| 206 | node = listNodeSearch(&imgNode->usingDevices, (const void*)&devID, |
| 207 | deviceNodeCmp); |
| 208 | if (node != NULL) { |
| 209 | devNode = container_of(node, node, DeviceNode); |
| 210 | listDel(node); |
| 211 | } |
| 212 | } |
| 213 | IMAGES_UNLOCK(); |
| 214 | |
| 215 | if (devNode != NULL) { |
| 216 | free(devNode); |
| 217 | } |
| 218 | |
| 219 | clReleaseMemObject(image); |
| 220 | } |
| 221 | |
| 222 | cl_ulong |
| 223 | clblasAddScratchImage( |
no test coverage detected