diff options
author | Luca Barbieri <[email protected]> | 2010-09-05 05:42:59 +0200 |
---|---|---|
committer | Luca Barbieri <[email protected]> | 2010-09-05 17:52:25 +0200 |
commit | 8e2badfc269082f4b52a82ac1c5b4350bef0d01b (patch) | |
tree | 29483004c748edea67ba8fd9041251c780eb882b /src/gallium/drivers/nvfx/nvfx_state.h | |
parent | 43cfc1ed8ef489b1d6077fcabbce1b91830b5e55 (diff) |
nvfx: add rewritten swtnl support
The old swtnl code was broken by the new shader linkage support for
GLSL.
This is a rewrite of swtnl support, which should instead work properly,
be faster and more closer to the much more tested hardware pipeline.
Diffstat (limited to 'src/gallium/drivers/nvfx/nvfx_state.h')
-rw-r--r-- | src/gallium/drivers/nvfx/nvfx_state.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/gallium/drivers/nvfx/nvfx_state.h b/src/gallium/drivers/nvfx/nvfx_state.h index 9200f78a545..8fafca1950c 100644 --- a/src/gallium/drivers/nvfx/nvfx_state.h +++ b/src/gallium/drivers/nvfx/nvfx_state.h @@ -17,13 +17,8 @@ struct nvfx_vertex_program_data { }; struct nvfx_vertex_program { - struct pipe_shader_state pipe; unsigned long long id; - struct draw_vertex_shader *draw; - - boolean translated; - struct nvfx_vertex_program_exec *insns; unsigned nr_insns; struct nvfx_vertex_program_data *consts; @@ -46,6 +41,20 @@ struct nvfx_vertex_program { struct util_dynarray const_relocs; }; +#define NVFX_VP_FAILED ((struct nvfx_vertex_program*)-1) + +struct nvfx_pipe_vertex_program { + struct pipe_shader_state pipe; + struct tgsi_shader_info info; + + unsigned draw_elements; + boolean draw_no_elements; + struct draw_vertex_shader *draw_vs; + struct nvfx_vertex_program* draw_vp; + + struct nvfx_vertex_program* vp; +}; + struct nvfx_fragment_program_data { unsigned offset; unsigned index; |