intel: Switch to hardware generated gl_LocalInvocationID on Alchemist and later
Alchemist and later have the ability to automatically generate the LocalInvocationID
system value and pass it in as part of the thread payload. This MR switches us to use the new hardware mechanism, and lower LocalInvocationIndex
to a simple calculation based off that. This is the reverse of our old behavior, where we'd upload LocalInvocationIndex
as a constant, then do a bunch of ALU instructions to calculate LocalInvocationID
.
This cuts about 1% of instructions in affected shaders in fossil-db.