(Comment is a bit further down) On 2017-11-24 — 16:55, Tobias Klausmann wrote: > This comes in handy when checking "NV50_PROG_DEBUG=1" outputs with diff! > > V2: > - Use environmental variable (Karol Herbst) > V3: > - Use the already populated nv50_ir_prog_info to forward information to the > print pass (Pierre Moreau) > > Signed-off-by: Tobias Klausmann > --- > src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h | 1 + > src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp | 12 +++++++++--- > src/gallium/drivers/nouveau/nouveau_compiler.c | 2 ++ > src/gallium/drivers/nouveau/nv50/nv50_program.c | 2 ++ > src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 2 ++ > 5 files changed, 16 insertions(+), 3 deletions(-) > > diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h b/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h > index ffd53c9cd3..604a22ba89 100644 > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h > @@ -82,6 +82,7 @@ struct nv50_ir_prog_info > > uint8_t optLevel; /* optimization level (0 to 3) */ > uint8_t dbgFlags; > + bool omitLineNum; You could maybe add a comment that it only affects when printing the program (in debug mode), but the patch is nonetheless: Reviewed-by: Pierre Moreau > > struct { > int16_t maxGPR; /* may be -1 if none used */ > diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp > index 9145801b62..eb7e9057b5 100644 > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp > @@ -691,7 +691,7 @@ void Instruction::print() const > class PrintPass : public Pass > { > public: > - PrintPass() : serial(0) { } > + PrintPass(bool omitLineNum = false) : serial(0), omit_serial(omitLineNum) { } > > virtual bool visit(Function *); > virtual bool visit(BasicBlock *); > @@ -699,6 +699,7 @@ public: > > private: > int serial; > + bool omit_serial; > }; > > bool > @@ -762,7 +763,12 @@ PrintPass::visit(BasicBlock *bb) > bool > PrintPass::visit(Instruction *insn) > { > - INFO("%3i: ", serial++); > + if (omit_serial) { > + INFO(" "); > + serial++; > + } > + else > + INFO("%3i: ", serial++); > insn->print(); > return true; > } > @@ -777,7 +783,7 @@ Function::print() > void > Program::print() > { > - PrintPass pass; > + PrintPass pass(driver->omitLineNum); > init_colours(); > pass.run(this, true, false); > } > diff --git a/src/gallium/drivers/nouveau/nouveau_compiler.c b/src/gallium/drivers/nouveau/nouveau_compiler.c > index 3151a6f420..1214cf3565 100644 > --- a/src/gallium/drivers/nouveau/nouveau_compiler.c > +++ b/src/gallium/drivers/nouveau/nouveau_compiler.c > @@ -122,6 +122,8 @@ nouveau_codegen(int chipset, int type, struct tgsi_token tokens[], > > info.optLevel = debug_get_num_option("NV50_PROG_OPTIMIZE", 3); > info.dbgFlags = debug_get_num_option("NV50_PROG_DEBUG", 0); > + info.omitLineNum = > + debug_get_num_option("NV50_PROG_DEBUG_OMIT_LINENUM", 0) ? true : false; > > ret = nv50_ir_generate_code(&info); > if (ret) { > diff --git a/src/gallium/drivers/nouveau/nv50/nv50_program.c b/src/gallium/drivers/nouveau/nv50/nv50_program.c > index 6e943a3d94..fb5c9ed777 100644 > --- a/src/gallium/drivers/nouveau/nv50/nv50_program.c > +++ b/src/gallium/drivers/nouveau/nv50/nv50_program.c > @@ -367,6 +367,8 @@ nv50_program_translate(struct nv50_program *prog, uint16_t chipset, > #ifdef DEBUG > info->optLevel = debug_get_num_option("NV50_PROG_OPTIMIZE", 3); > info->dbgFlags = debug_get_num_option("NV50_PROG_DEBUG", 0); > + info->omitLineNum = > + debug_get_num_option("NV50_PROG_DEBUG_OMIT_LINENUM", 0) ? true : false; > #else > info->optLevel = 3; > #endif > diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c > index c95a96c717..8dced66437 100644 > --- a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c > +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c > @@ -575,6 +575,8 @@ nvc0_program_translate(struct nvc0_program *prog, uint16_t chipset, > info->target = debug_get_num_option("NV50_PROG_CHIPSET", chipset); > info->optLevel = debug_get_num_option("NV50_PROG_OPTIMIZE", 3); > info->dbgFlags = debug_get_num_option("NV50_PROG_DEBUG", 0); > + info->omitLineNum = > + debug_get_num_option("NV50_PROG_DEBUG_OMIT_LINENUM", 0) ? true : false; > #else > info->optLevel = 3; > #endif > -- > 2.15.0 > > _______________________________________________ > Nouveau mailing list > Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org > https://lists.freedesktop.org/mailman/listinfo/nouveau