I'm having difficulties using UAVs on a 7970. I am relying on using the IL language. The compilation of simple test kernels works fine. I had a look into the IL code that is generated by OpenCL sample programs. As far as I know everything should be working. The ISA code looks fine. The linker succeeds. The parameters are matched correctly. But when calling calCtxRunProgram I get the extremely unhelpful error message 'Operational Error'. Other programs that don't use UAVs are working fine.
Are UAVs only valid in compute shaders or can they also be used in pixel shaders? How should the resource be allocated? Is it correct to allocate a 2D resource of single floats, marked as CAL_RESALLOC_GLOBAL_BUFFER?
Do you have any hints as to what could be the problem? Is it perhaps the Linux driver being buggy?
Thanks for any help!