summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nvfx/nvfx_state.c
diff options
context:
space:
mode:
authorLuca Barbieri <luca@luca-barbieri.com>2010-02-21 13:33:48 +0100
committerYounes Manton <younes.m@gmail.com>2010-03-15 00:03:03 -0400
commit840c36f5e6d940343a3154af7e76fec341ca46e6 (patch)
tree36dbe9be2fc50eb7818f6e76aa8a3468a38456f7 /src/gallium/drivers/nvfx/nvfx_state.c
parentc65a8f3ed2ab1650df38a3ed32d1e91e84b50520 (diff)
nv30, nv40: non-trivially unify nv[34]0_vertprog.c
vertprog.c is similar but has substantial differences: 1. nv40 supports clip planes 2. nv40 uses a more advanced register allocator 3. Some register setup is different 4. Constants with the same name have different values This patch unifies the two files. nv30 gains clip plane support and the nv40 register allocator. A new NVFX_VP(x) macro is introduced that at runtime resolved to either the nv30 or the nv40 constant value. nv30 clip planes are not tested and might not work
Diffstat (limited to 'src/gallium/drivers/nvfx/nvfx_state.c')
-rw-r--r--src/gallium/drivers/nvfx/nvfx_state.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/gallium/drivers/nvfx/nvfx_state.c b/src/gallium/drivers/nvfx/nvfx_state.c
index 76780dc4f5..7e138afc71 100644
--- a/src/gallium/drivers/nvfx/nvfx_state.c
+++ b/src/gallium/drivers/nvfx/nvfx_state.c
@@ -370,10 +370,7 @@ nvfx_vp_state_delete(struct pipe_context *pipe, void *hwcso)
struct nvfx_vertex_program *vp = hwcso;
draw_delete_vertex_shader(nvfx->draw, vp->draw);
- if(!nvfx->is_nv4x)
- nv30_vertprog_destroy(nvfx, vp);
- else
- nv40_vertprog_destroy(nvfx, vp);
+ nvfx_vertprog_destroy(nvfx, vp);
FREE((void*)vp->pipe.tokens);
FREE(vp);
}