1 #ifndef __NV10_STATE_H__
2 #define __NV10_STATE_H__
4 #include "pipe/p_state.h"
5 #include "tgsi/util/tgsi_scan.h"
7 struct nv10_blend_state
{
17 struct nv10_sampler_state
{
24 struct nv10_rasterizer_state
{
28 uint32_t line_smooth_en
;
32 uint32_t poly_smooth_en
;
34 uint32_t poly_mode_front
;
35 uint32_t poly_mode_back
;
39 uint32_t cull_face_en
;
41 uint32_t point_sprite
;
44 struct nv10_vertex_program_exec
{
46 boolean has_branch_offset
;
50 struct nv10_vertex_program_data
{
51 int index
; /* immediates == -1 */
55 struct nv10_vertex_program
{
56 const struct pipe_shader_state
*pipe
;
59 struct nv10_vertex_program_exec
*insns
;
61 struct nv10_vertex_program_data
*consts
;
64 struct nouveau_resource
*exec
;
66 struct nouveau_resource
*data
;
68 unsigned data_start_min
;
74 struct nv10_fragment_program_data
{
79 struct nv10_fragment_program
{
80 const struct pipe_shader_state
*pipe
;
81 struct tgsi_shader_info info
;
90 struct nv10_fragment_program_data
*consts
;
93 struct pipe_buffer
*buffer
;
96 uint32_t fp_reg_control
;
100 struct nv10_depth_stencil_alpha_state
{
103 uint32_t write_enable
;
104 uint32_t test_enable
;
125 struct nv10_miptree
{
126 struct pipe_texture base
;
128 struct pipe_buffer
*buffer
;
134 } level
[PIPE_MAX_TEXTURE_LEVELS
];