From 81c9058ea90615cd0c819da6e51c3a539a540a7e Mon Sep 17 00:00:00 2001 From: Brian Date: Thu, 13 Dec 2007 09:05:15 -0700 Subject: Add QuadX,Y fields to tgsi_exec_machine to pass quad's position to tgsi interpreter. The tgsi linear/perspective attribute code now uses these values rather than input[0]. Need to update SSE path to take quad x,y as function params. Then, we can remove additional code. --- src/mesa/pipe/softpipe/sp_quad_fs.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/mesa/pipe/softpipe') diff --git a/src/mesa/pipe/softpipe/sp_quad_fs.c b/src/mesa/pipe/softpipe/sp_quad_fs.c index 251b47341a..da590b256a 100644 --- a/src/mesa/pipe/softpipe/sp_quad_fs.c +++ b/src/mesa/pipe/softpipe/sp_quad_fs.c @@ -100,6 +100,7 @@ shade_quad( machine->InterpCoefs = quad->coef; +#if 1 /* XXX only do this if the fp really reads fragment.position */ machine->Inputs[0].xyzw[0].f[0] = fx; machine->Inputs[0].xyzw[0].f[1] = fx + 1.0f; machine->Inputs[0].xyzw[0].f[2] = fx; @@ -113,6 +114,10 @@ shade_quad( machine->Inputs[0].xyzw[1].f[1] = fy; machine->Inputs[0].xyzw[1].f[2] = fy + 1.0f; machine->Inputs[0].xyzw[1].f[3] = fy + 1.0f; +#endif + + machine->QuadX = quad->x0; + machine->QuadY = quad->y0; /* run shader */ #if defined(__i386__) || defined(__386__) @@ -123,7 +128,11 @@ shade_quad( machine->Outputs, machine->Consts, machine->Temps, - machine->InterpCoefs ); + machine->InterpCoefs +#if 0 + ,quad->x0, quad->y0 +#endif + ); quad->mask &= ~(machine->Temps[TGSI_EXEC_TEMP_KILMASK_I].xyzw[TGSI_EXEC_TEMP_KILMASK_C].u[0]); } else -- cgit v1.2.3