nv50/ir: make colorful ir dump output optional
authorMarcin Slusarz <marcin.slusarz@gmail.com>
Tue, 26 Jun 2012 13:02:55 +0000 (15:02 +0200)
committerMarcin Slusarz <marcin.slusarz@gmail.com>
Wed, 27 Jun 2012 22:01:02 +0000 (00:01 +0200)
src/gallium/drivers/nv50/codegen/nv50_ir_print.cpp

index 9d92b7b..daa0ec6 100644 (file)
@@ -37,9 +37,8 @@ enum TextStyle
    TXT_INSN
 };
 
-static const char *colour[8] =
+static const char *_colour[8] =
 {
-#if 1
    "\x1b[00m",
    "\x1b[34m",
    "\x1b[35m",
@@ -48,11 +47,23 @@ static const char *colour[8] =
    "\x1b[33m",
    "\x1b[37m",
    "\x1b[32m"
-#else
-   "", "", "", "", "", "", "", ""
-#endif
 };
 
+static const char *_nocolour[8] =
+{
+      "", "", "", "", "", "", "", ""
+};
+
+static const char **colour;
+
+static void init_colours()
+{
+   if (getenv("NV50_PROG_DEBUG_NO_COLORS") != NULL)
+      colour = _nocolour;
+   else
+      colour = _colour;
+}
+
 static const char *OpClassStr[OPCLASS_OTHER + 1] =
 {
    "MOVE",
@@ -620,6 +631,7 @@ void
 Program::print()
 {
    PrintPass pass;
+   init_colours();
    pass.run(this, true, false);
 }