1 #ifndef __NV30_STATE_H__
2 #define __NV30_STATE_H__
4 #include "pipe/p_state.h"
5 #include "tgsi/tgsi_scan.h"
7 struct nv30_sampler_state
{
15 struct nv30_vertex_program_exec
{
17 boolean has_branch_offset
;
21 struct nv30_vertex_program_data
{
22 int index
; /* immediates == -1 */
26 struct nv30_vertex_program
{
27 struct pipe_shader_state pipe
;
31 struct nv30_vertex_program_exec
*insns
;
33 struct nv30_vertex_program_data
*consts
;
36 struct nouveau_resource
*exec
;
38 struct nouveau_resource
*data
;
40 unsigned data_start_min
;
44 struct nouveau_stateobj
*so
;
47 struct nv30_fragment_program_data
{
52 struct nv30_fragment_program
{
53 struct pipe_shader_state pipe
;
54 struct tgsi_shader_info info
;
63 struct nv30_fragment_program_data
*consts
;
66 struct pipe_buffer
*buffer
;
69 uint32_t fp_reg_control
;
70 struct nouveau_stateobj
*so
;
74 struct pipe_texture base
;
75 struct nouveau_bo
*bo
;
77 struct pipe_buffer
*buffer
;
83 } level
[PIPE_MAX_TEXTURE_LEVELS
];