Thanks for quick response Dipack.
I know you can could pass the Arguments structure by putting it in a SVM region, but I don't want the overhead associated with this approach.
Given that values of the the SVM are the same on host&device, I don't see why passing them by value like this in a struct shouldn't work. I also don't see anything in the OCL 2.0 spec that says this is disallowed.
In fact, I was able to get the code to work by changing the struct to capture the values as 64-bit integers and then casting them back to pointers (see attachment).
It seems like this is a bug in AMD's drivers. Why is it treating a structure with global pointers differently than it treats a corresponding struct with integer values instead of pointers?
thanks