gallivm: Compile flag to debug TGSI execution through printfs.
It is similar to tgsi_exec.c's DEBUG_EXECUTION compile flag.
I had prototyped this for a while while debugging an issue, but finally
cleaned this up and added a few more bells and whistles.
v2: Use '$' as marker; better output. Thanks to Brian, Zack and Roland
reviews.
Here is a sample output.
CONST[0].x = 0.
00625000009 0.
00625000009 0.
00625000009 0.
00625000009
CONST[0].y = -0.
00714285718 -0.
00714285718 -0.
00714285718 -0.
00714285718
CONST[0].z = -1 -1 -1 -1
CONST[0].w = 1 1 1 1
IN[0].x = 143.5 175.5 175.5 143.5
IN[0].y = 123.5 123.5 155.5 155.5
IN[0].z = 0 0 0 0
IN[0].w = 1 1 1 1
$ 1: RCP TEMP[0].w, IN[0].wwww
TEMP[0].w = 1 1 1 1
$ 2: MAD TEMP[0].xy, IN[0], CONST[0], CONST[0].zwzw
TEMP[0].x = -0.
103124976 0.
0968750715 0.
0968750715 -0.
103124976
TEMP[0].y = 0.
117857158 0.
117857158 -0.
110714316 -0.
110714316
$ 3: MUL OUT[0].xy, TEMP[0], TEMP[0].wwww
OUT[0].x = -0.
103124976 0.
0968750715 0.
0968750715 -0.
103124976
OUT[0].y = 0.
117857158 0.
117857158 -0.
110714316 -0.
110714316
$ 4: MUL OUT[0].z, IN[0].zzzz, TEMP[0].wwww
OUT[0].z = 0 0 0 0
$ 5: MOV OUT[0].w, TEMP[0]
OUT[0].w = 1 1 1 1
$ 6: END
OUT[0].x = -0.
103124976 0.
0968750715 0.
0968750715 -0.
103124976
OUT[0].y = 0.
117857158 0.
117857158 -0.
110714316 -0.
110714316
OUT[0].z = 0 0 0 0
OUT[0].w = 1 1 1 1