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
];