st/mesa: better handling of indirect addressing of temp/const register files
st/mesa: better handling of indirect addressing of temp/const register files

With gl_program::IndirectRegisterFiles we can distinguish between indirect
addressing of constants vs. temporaries.  In the case of temporaries,
declare all temps up front sequentially.

Fixes fd.o bug 29305.

zz85/glsl-optimizer,dellis1972/glsl-optimizer,bkaradzic/glsl-optimizer,adobe/glsl2agal,wolf96/glsl-optimizer,bkaradzic/glsl-optimizer,jbarczak/glsl-optimizer,zeux/glsl-optimizer,KTXSoftware/glsl2agal,mapbox/glsl-optimizer,bkaradzic/glsl-optimizer,dellis1972/glsl-optimizer,metora/MesaGLSLCompiler,benaadams/glsl-optimizer,KTXSoftware/glsl2agal,tokyovigilante/glsl-optimizer,tokyovigilante/glsl-optimizer,mapbox/glsl-optimizer,metora/MesaGLSLCompiler,benaadams/glsl-optimizer,dellis1972/glsl-optimizer,adobe/glsl2agal,KTXSoftware/glsl2agal,wolf96/glsl-optimizer,mapbox/glsl-optimizer,metora/MesaGLSLCompiler,benaadams/glsl-optimizer,zz85/glsl-optimizer,KTXSoftware/glsl2agal,adobe/glsl2agal,KTXSoftware/glsl2agal,jbarczak/glsl-optimizer,benaadams/glsl-optimizer,zeux/glsl-optimizer,bkaradzic/glsl-optimizer,djreep81/glsl-optimizer,mcanthony/glsl-optimizer,dellis1972/glsl-optimizer,wolf96/glsl-optimizer,wolf96/glsl-optimizer,mcanthony/glsl-optimizer,zeux/glsl-optimizer,mapbox/glsl-optimizer,mcanthony/glsl-optimizer,zeux/glsl-optimizer,djreep81/glsl-optimizer,djreep81/glsl-optimizer,mcanthony/glsl-optimizer,bkaradzic/glsl-optimizer,djreep81/glsl-optimizer,benaadams/glsl-optimizer,zeux/glsl-optimizer,jbarczak/glsl-optimizer,zz85/glsl-optimizer,tokyovigilante/glsl-optimizer,dellis1972/glsl-optimizer,tokyovigilante/glsl-optimizer,adobe/glsl2agal,benaadams/glsl-optimizer,wolf96/glsl-optimizer,mapbox/glsl-optimizer,jbarczak/glsl-optimizer,djreep81/glsl-optimizer,zz85/glsl-optimizer,mcanthony/glsl-optimizer,jbarczak/glsl-optimizer,zz85/glsl-optimizer,zz85/glsl-optimizer,adobe/glsl2agal,tokyovigilante/glsl-optimizer