r300/compiler: print stats based on the initial number of instructions

The same number of shaders is now printed regardless of optimizations being
enabled or not, so that we can compare shader stats side by side easily.
This commit is contained in:
Marek Olšák 2011-01-28 19:33:59 +01:00
parent 0029979eee
commit c6ace30028
2 changed files with 10 additions and 3 deletions

View file

@ -402,11 +402,11 @@ static void print_stats(struct radeon_compiler * c)
{
struct rc_program_stats s;
rc_get_stats(c, &s);
if (s.num_insts < 4)
if (c->initial_num_insts <= 5)
return;
rc_get_stats(c, &s);
switch (c->type) {
case RC_VERTEX_PROGRAM:
fprintf(stderr,"~~~~~~~~~ VERTEX PROGRAM ~~~~~~~~\n"
@ -461,6 +461,11 @@ void rc_run_compiler_passes(struct radeon_compiler *c, struct radeon_compiler_pa
/* Executes a list of compiler passes given in the parameter 'list'. */
void rc_run_compiler(struct radeon_compiler *c, struct radeon_compiler_pass *list)
{
struct rc_program_stats s;
rc_get_stats(c, &s);
c->initial_num_insts = s.num_insts;
if (c->Debug & RC_DBG_LOG) {
fprintf(stderr, "%s: before compilation\n", shader_name[c->type]);
rc_print_program(&c->Program);

View file

@ -72,6 +72,8 @@ struct radeon_compiler {
/*@}*/
struct emulate_loop_state loop_state;
unsigned initial_num_insts; /* Number of instructions at start. */
};
void rc_init(struct radeon_compiler * c);