Mesa (master): r300/compiler: print stats based on the initial number of instructions

Marek Olšák mareko at kemper.freedesktop.org
Fri Jan 28 18:38:45 UTC 2011


Module: Mesa
Branch: master
Commit: c6ace30028a9b96cf9f26d82837760f4fc78f8e2
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c6ace30028a9b96cf9f26d82837760f4fc78f8e2

Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Jan 28 19:33:59 2011 +0100

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.

---

 .../drivers/dri/r300/compiler/radeon_compiler.c    |   11 ++++++++---
 .../drivers/dri/r300/compiler/radeon_compiler.h    |    2 ++
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_compiler.c b/src/mesa/drivers/dri/r300/compiler/radeon_compiler.c
index 6554860..33b6a10 100644
--- a/src/mesa/drivers/dri/r300/compiler/radeon_compiler.c
+++ b/src/mesa/drivers/dri/r300/compiler/radeon_compiler.c
@@ -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);
diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_compiler.h b/src/mesa/drivers/dri/r300/compiler/radeon_compiler.h
index 1e64af0..2d8e415 100644
--- a/src/mesa/drivers/dri/r300/compiler/radeon_compiler.h
+++ b/src/mesa/drivers/dri/r300/compiler/radeon_compiler.h
@@ -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);




More information about the mesa-commit mailing list