diff options
Diffstat (limited to 'src/mesa/shader/program_parse.y')
-rw-r--r-- | src/mesa/shader/program_parse.y | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/mesa/shader/program_parse.y b/src/mesa/shader/program_parse.y index 9e7c9e444d..225dc0d5b9 100644 --- a/src/mesa/shader/program_parse.y +++ b/src/mesa/shader/program_parse.y @@ -683,12 +683,19 @@ dstReg: resultBinding } init_dst_reg(& $$); - if (s->type == at_temp) { + switch (s->type) { + case at_temp: $$.File = PROGRAM_TEMPORARY; $$.Index = s->temp_binding; - } else { + break; + case at_output: + $$.File = PROGRAM_OUTPUT; + $$.Index = s->output_binding; + break; + default: $$.File = s->param_binding_type; $$.Index = s->param_binding_begin; + break; } } ; |