diff options
author | Brian Paul <brianp@vmware.com> | 2010-01-06 17:42:53 -0700 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2010-01-06 17:43:56 -0700 |
commit | 8485811f10142f54756d876ebe91193bfc8f8a0e (patch) | |
tree | 7f7376a116e84875883f80b3eaedac7035523937 /src/mesa/tnl | |
parent | 4c45810d575c53f3e829809cb4d27e35739a2a69 (diff) |
tnl: set FOGC result to (f,0,0,1)
Fixed FDO bug 23397.
Diffstat (limited to 'src/mesa/tnl')
-rw-r--r-- | src/mesa/tnl/t_vb_program.c | 7 |
1 files changed, 7 insertions, 0 deletions
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 |