In our software (Lavalys EVEREST) we display device properties for both Stream (CAL) devices and OpenCL devices. If we do them separately, both work just fine. If we enumerate CAL devices, and then enumerate OpenCL devices, they both work fine. If we enumerate CAL devices, then enumerate OpenCL devices, and then open a CAL device to acquire calDeviceGetStatus, calDeviceOpen locks up the calling thread.
Is there a known conflict between opening the same device using CAL and OpenCL? After opening the device with either interface, we get its status/properties, and then close the device and do a cleanup properly. We dynamically load both DLLs, when they're needed.
Do we do something wrong? Or is there a known limitation of these interfaces that we should take into account?