A varying array inside a function cannot be set if its passed in using “out”. This (I believe) is a bug, since the “out” key word specifies that the variable passed in should be set. I have a simple program that shows this behavior. A simple fix is to change the “out” to an “inout”. The “out” keyword works fine on other cards, but fails on NVidia cards on Linux (driver version 331.38).
I came across this when implementing SMAA (SMAA: Enhanced Subpixel Morphological Antialiasing), where they pass arrays to a few functions to be set.
If I find out how to attach the example program in this forum, I will.