From: Nicolai Hähnle Date: Fri, 24 Jul 2009 20:50:35 +0000 (+0200) Subject: r300/compiler: Refactor rewrite_depth_out to use rc_program X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=aab949cb9d62343303ab0836a84fe034244d1584;p=mesa.git r300/compiler: Refactor rewrite_depth_out to use rc_program Signed-off-by: Nicolai Hähnle --- diff --git a/src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c b/src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c index bdab61f32da..08283c81474 100644 --- a/src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c +++ b/src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c @@ -195,11 +195,13 @@ static void rewriteFog(struct r300_fragment_program_compiler *compiler) } -static void rewrite_depth_out(struct gl_program *prog) +static void rewrite_depth_out(struct r300_fragment_program_compiler * c) { - struct prog_instruction *inst; + struct rc_instruction *rci; + + for (rci = c->Base.Program.Instructions.Next; rci != &c->Base.Program.Instructions; rci = rci->Next) { + struct prog_instruction * inst = &rci->I; - for (inst = prog->Instructions; inst->Opcode != OPCODE_END; ++inst) { if (inst->DstReg.File != PROGRAM_OUTPUT || inst->DstReg.Index != FRAG_RESULT_DEPTH) continue; @@ -248,10 +250,10 @@ void r3xx_compile_fragment_program(struct r300_fragment_program_compiler* c) rewriteFog(c); - rewrite_depth_out(c->program); - rc_mesa_to_rc_program(&c->Base, c->program); + rewrite_depth_out(c); + if (c->is_r500) { struct radeon_program_transformation transformations[] = { { &r500_transform_TEX, c },