adreno: avoid stack frame exceeding the limit of 1024 bytes

The frame size of the [link] variable was exceeding the limit of
1024 bytes, hence GCC throwed up a warning which was treated as an error.
The cause of this was our stack frame maximum limit was nearly fulfilled
by other variables already, thus leaving no bytes for increasing the value
of an existing variable (which was caused by a CAF commit in this branch).
To move things out of the stack frame, we had two possibilities:
1) move the variable to heap memory
2) move the variable to global memory

1. would need a more complicated implementation, so I decided to go with
the second solution, which uses the global memory.

Fixes the TEMPORARY marked commit 56e843f375bb7f681264f60522ef6b9b71e7cfe7