1 #ifndef __NV30_STATE_H__
2 #define __NV30_STATE_H__
4 #include "pipe/p_state.h"
6 struct nv30_blend_state
{
20 struct nv30_sampler_state
{
28 struct nv30_rasterizer_state
{
32 uint32_t line_smooth_en
;
33 uint32_t line_stipple_en
;
34 uint32_t line_stipple
;
38 uint32_t poly_smooth_en
;
39 uint32_t poly_stipple_en
;
41 uint32_t poly_mode_front
;
42 uint32_t poly_mode_back
;
46 uint32_t cull_face_en
;
48 uint32_t point_sprite
;
51 struct nv30_vertex_program_exec
{
53 boolean has_branch_offset
;
57 struct nv30_vertex_program_data
{
58 int index
; /* immediates == -1 */
62 struct nv30_vertex_program
{
63 struct pipe_shader_state pipe
;
66 struct nv30_vertex_program_exec
*insns
;
68 struct nv30_vertex_program_data
*consts
;
71 struct nouveau_resource
*exec
;
73 struct nouveau_resource
*data
;
75 unsigned data_start_min
;
81 struct nv30_fragment_program_data
{
86 struct nv30_fragment_program
{
87 struct pipe_shader_state pipe
;
96 struct nv30_fragment_program_data
*consts
;
99 struct pipe_buffer
*buffer
;
102 uint32_t fp_reg_control
;
105 struct nv30_stencil_push
{
116 struct nv30_depth_stencil_alpha_state
{
119 uint32_t write_enable
;
120 uint32_t test_enable
;
124 struct nv30_stencil_push back
;
125 struct nv30_stencil_push front
;
135 struct nv30_miptree
{
136 struct pipe_texture base
;
138 struct pipe_buffer
*buffer
;
144 } level
[PIPE_MAX_TEXTURE_LEVELS
];