diff options
author | Dave Airlie <[email protected]> | 2012-01-28 18:29:18 +0000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2012-02-04 17:50:43 +0000 |
commit | fa2a76a21c8c513de506f2c5ec938c829cc65fdf (patch) | |
tree | 71a9e1f7459b93c0a0c1737131c45f152332bafd /src/gallium/auxiliary/draw | |
parent | f8be4f33d31d004bfcf090fa7d4aa37b750e43af (diff) |
draw: fix fog coord export.
This does what we do in the hw drivers, and only export the X.
fixes the fogcoord.dp* tests.
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/draw')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_vs_exec.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/draw/draw_vs_exec.c b/src/gallium/auxiliary/draw/draw_vs_exec.c index eaba4755f53..84ce8c15190 100644 --- a/src/gallium/auxiliary/draw/draw_vs_exec.c +++ b/src/gallium/auxiliary/draw/draw_vs_exec.c @@ -168,7 +168,12 @@ vs_exec_run_linear( struct draw_vertex_shader *shader, output[slot][2] = CLAMP(machine->Outputs[slot].xyzw[2].f[j], 0.0f, 1.0f); output[slot][3] = CLAMP(machine->Outputs[slot].xyzw[3].f[j], 0.0f, 1.0f); } - else + else if (name == TGSI_SEMANTIC_FOG) { + output[slot][0] = machine->Outputs[slot].xyzw[0].f[j]; + output[slot][1] = 0; + output[slot][2] = 0; + output[slot][3] = 1; + } else { output[slot][0] = machine->Outputs[slot].xyzw[0].f[j]; output[slot][1] = machine->Outputs[slot].xyzw[1].f[j]; |