r600/sfn: allocate number of VS outputs based on max driver_location
It seems that when the linker optimized the IO it might leave gaps in the driver output locations, therefore set the size of the output array based on the highest driver location occupied by a store_output.
Fixes #4520 (closed)