mesa: added gl_program::IndirectRegisterFiles field

Now drivers, etc. can know which register files are accessed with
indirect addressing.  Before we just checked gl_program::NumAddressRegs
but didn't know if that was the constant buffer, temp regs, or what.

The only user of this new field so far will be the gallium state tracker.
diff --git a/src/mesa/program/program_parse.y b/src/mesa/program/program_parse.y
index 861927c..7753dd7 100644
--- a/src/mesa/program/program_parse.y
+++ b/src/mesa/program/program_parse.y
@@ -835,6 +835,7 @@
 	   $$.Base.File = $1->param_binding_type;
 
 	   if ($3.Base.RelAddr) {
+              state->prog->IndirectRegisterFiles |= (1 << $$.Base.File);
 	      $1->param_accessed_indirectly = 1;
 
 	      $$.Base.RelAddr = 1;