parser: Track a few more frag prog related values

This commit is contained in:
Ian Romanick
2009-07-22 16:21:54 -07:00
parent 28b13038d8
commit 0db5ef0741
2 changed files with 261 additions and 227 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -302,7 +302,15 @@ statement: instruction ';'
; ;
instruction: ALU_instruction instruction: ALU_instruction
{
$$ = $1;
state->prog->NumAluInstructions++;
}
| TexInstruction | TexInstruction
{
$$ = $1;
state->prog->NumTexInstructions++;
}
; ;
ALU_instruction: ARL_instruction ALU_instruction: ARL_instruction
@@ -368,6 +376,8 @@ SAMPLE_instruction: SAMPLE_OP maskedDstReg ',' swizzleSrcReg ',' texImageUnit ',
$$->Base.SaturateMode = $1.SaturateMode; $$->Base.SaturateMode = $1.SaturateMode;
$$->Base.TexSrcUnit = $6; $$->Base.TexSrcUnit = $6;
$$->Base.TexSrcTarget = $8; $$->Base.TexSrcTarget = $8;
state->prog->TexturesUsed[$6] |= (1U << $8);
} }
} }
; ;
@@ -375,6 +385,7 @@ SAMPLE_instruction: SAMPLE_OP maskedDstReg ',' swizzleSrcReg ',' texImageUnit ',
KIL_instruction: KIL swizzleSrcReg KIL_instruction: KIL swizzleSrcReg
{ {
$$ = asm_instruction_ctor(OPCODE_KIL, NULL, & $2, NULL, NULL); $$ = asm_instruction_ctor(OPCODE_KIL, NULL, & $2, NULL, NULL);
state->fragment.UsesKill = 1;
} }
; ;