From 8485811f10142f54756d876ebe91193bfc8f8a0e Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 6 Jan 2010 17:42:53 -0700 Subject: tnl: set FOGC result to (f,0,0,1) Fixed FDO bug 23397. --- src/mesa/tnl/t_vb_program.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/mesa/tnl/t_vb_program.c b/src/mesa/tnl/t_vb_program.c index e69f7d5766..a9dae7d2e7 100644 --- a/src/mesa/tnl/t_vb_program.c +++ b/src/mesa/tnl/t_vb_program.c @@ -390,6 +390,13 @@ run_vp( GLcontext *ctx, struct tnl_pipeline_stage *stage ) #endif COPY_4V(store->results[attr].data[i], machine.Outputs[attr]); } + + /* FOGC is a special case. Fragment shader expects (f,0,0,1) */ + if (program->Base.OutputsWritten & BITFIELD64_BIT(VERT_RESULT_FOGC)) { + store->results[VERT_RESULT_FOGC].data[i][1] = 0.0; + store->results[VERT_RESULT_FOGC].data[i][2] = 0.0; + store->results[VERT_RESULT_FOGC].data[i][3] = 1.0; + } #ifdef NAN_CHECK ASSERT(machine.Outputs[0][3] != 0.0F); #endif -- cgit v1.2.3