diff options
Diffstat (limited to 'src/mesa/shader/program_parse.y')
-rw-r--r-- | src/mesa/shader/program_parse.y | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mesa/shader/program_parse.y b/src/mesa/shader/program_parse.y index a0bec96924a..95d6c0ea313 100644 --- a/src/mesa/shader/program_parse.y +++ b/src/mesa/shader/program_parse.y @@ -302,7 +302,15 @@ statement: instruction ';' ; instruction: ALU_instruction + { + $$ = $1; + state->prog->NumAluInstructions++; + } | TexInstruction + { + $$ = $1; + state->prog->NumTexInstructions++; + } ; ALU_instruction: ARL_instruction @@ -368,6 +376,8 @@ SAMPLE_instruction: SAMPLE_OP maskedDstReg ',' swizzleSrcReg ',' texImageUnit ', $$->Base.SaturateMode = $1.SaturateMode; $$->Base.TexSrcUnit = $6; $$->Base.TexSrcTarget = $8; + + state->prog->TexturesUsed[$6] |= (1U << $8); } } ; @@ -375,6 +385,7 @@ SAMPLE_instruction: SAMPLE_OP maskedDstReg ',' swizzleSrcReg ',' texImageUnit ', KIL_instruction: KIL swizzleSrcReg { $$ = asm_instruction_ctor(OPCODE_KIL, NULL, & $2, NULL, NULL); + state->fragment.UsesKill = 1; } ; |