1 #ifndef __NVFX_STATE_H__
2 #define __NVFX_STATE_H__
4 #include "pipe/p_state.h"
5 #include "tgsi/tgsi_scan.h"
7 struct nvfx_vertex_program_exec {
9 boolean has_branch_offset;
13 struct nvfx_vertex_program_data {
14 int index; /* immediates == -1 */
18 struct nvfx_vertex_program {
19 struct pipe_shader_state pipe;
21 struct draw_vertex_shader *draw;
25 struct pipe_clip_state ucp;
27 struct nvfx_vertex_program_exec *insns;
29 struct nvfx_vertex_program_data *consts;
32 struct nouveau_resource *exec;
34 struct nouveau_resource *data;
36 unsigned data_start_min;
41 struct nouveau_stateobj *so;
44 struct nvfx_fragment_program_data {
49 struct nvfx_fragment_program {
50 struct pipe_shader_state pipe;
51 struct tgsi_shader_info info;
59 struct nvfx_fragment_program_data *consts;
62 struct pipe_buffer *buffer;
65 struct nouveau_stateobj *so;
68 #define NVFX_MAX_TEXTURE_LEVELS 16
71 struct pipe_texture base;
72 struct nouveau_bo *bo;
74 struct pipe_buffer *buffer;
80 } level[NVFX_MAX_TEXTURE_LEVELS];