nv50: add support for user clip planes
authorMaxim Levitsky <maximlevitsky@gmail.com>
Thu, 19 May 2011 10:50:28 +0000 (12:50 +0200)
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>
Thu, 19 May 2011 10:50:28 +0000 (12:50 +0200)
commit116133af3499947500a6d0c877fbc8f564ee4c76
tree2370ce4f522c990b15e89931cc0569313bbfef68
parentbfaa458445978b5210e6866256d19448db2c6dd0
nv50: add support for user clip planes

Clip distance is calculated each time vertex position is written
which is suboptiomal is some cases but very safe.
User clip planes are an obsolete feature anyway.

Every time number of clip planes increases, the vertex program
is recompiled.
That ensures no overhead in normal case (no user clip planes)
and reasonable overhead otherwise.

Fixes 3D windows in compiz, and reflection effect in neverball.
Also fixes compiz expo plugin when windows were dragged and each
window shown 3 times.
src/gallium/drivers/nv50/nv50_program.c
src/gallium/drivers/nv50/nv50_shader_state.c
src/gallium/drivers/nv50/nv50_state_validate.c
src/gallium/drivers/nv50/nv50_tgsi_to_nc.c