summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2010-05-12 09:41:41 -0600
committerBrian Paul <[email protected]>2010-05-12 10:37:59 -0600
commit6080e567f0ca1fdcce21e76271d4239c33a50db3 (patch)
tree426a71c2430189961a591b16c28341ae62551caa
parentcf9baf68cbf4e235035f918b8de1cd46f7ce9849 (diff)
tgsi: also count instructions in tgsi_scan_shader()
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_scan.c7
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_scan.h1
2 files changed, 4 insertions, 4 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.c b/src/gallium/auxiliary/tgsi/tgsi_scan.c
index 232fc537c1d..e0c5d3d3d61 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_scan.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_scan.c
@@ -88,10 +88,7 @@ tgsi_scan_shader(const struct tgsi_token *tokens,
assert(fullinst->Instruction.Opcode < TGSI_OPCODE_LAST);
info->opcode_count[fullinst->Instruction.Opcode]++;
- /* special case: scan fragment shaders for use of the fog
- * input/attribute. The X component is fog, the Y component
- * is the front/back-face flag.
- */
+ /* check if we read the frag shader FOG or FACE inputs */
if (procType == TGSI_PROCESSOR_FRAGMENT) {
uint i;
for (i = 0; i < fullinst->Instruction.NumSrcRegs; i++) {
@@ -109,6 +106,8 @@ tgsi_scan_shader(const struct tgsi_token *tokens,
}
}
}
+
+ info->num_instructions++;
}
break;
diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.h b/src/gallium/auxiliary/tgsi/tgsi_scan.h
index 741aa7d5c42..27de33f7990 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_scan.h
+++ b/src/gallium/auxiliary/tgsi/tgsi_scan.h
@@ -54,6 +54,7 @@ struct tgsi_shader_info
int file_max[TGSI_FILE_COUNT]; /**< highest index of declared registers */
uint immediate_count; /**< number of immediates declared */
+ uint num_instructions;
uint opcode_count[TGSI_OPCODE_LAST]; /**< opcode histogram */