I realize it's a pain but can't you just do this using only CAL/IL?
Some kernels are pixel shader and some are compute shader, you should be able to mix and match.
You already have all the CAL/IL kernels if you have coded the Brook+ and OpenCL kernels.... so you just need to learn the "CAL" part (which can also be taken from the above, with some adjustments)..
..Brook+ is not cross-platform anyways.
well image/texture support is planned for OpenCL. so you can just wait.
Retrieving data ...