Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4358 Serge 1
 
2
#define __NV50_STATEOBJ_H__
3
4
 
5
6
 
7
8
 
9
   (so)->state[(so)->size++] = NV50_FIFO_PKHDR(NV50_3D(m), s)
10
11
 
12
   (so)->state[(so)->size++] = NV50_FIFO_PKHDR(SUBC_3D(m), s)
13
14
 
15
16
 
17
18
 
19
   struct pipe_blend_state pipe;
20
   int size;
21
   uint32_t state[84]; // TODO: allocate less if !independent_blend_enable
22
};
23
24
 
25
   struct pipe_rasterizer_state pipe;
26
   int size;
27
   uint32_t state[48];
28
};
29
30
 
31
   struct pipe_depth_stencil_alpha_state pipe;
32
   int size;
33
   uint32_t state[29];
34
};
35
36
 
37
   union {
38
      struct pipe_resource *buf;
39
      const uint8_t *data;
40
   } u;
41
   uint32_t size; /* max 65536 */
42
   uint32_t offset;
43
   boolean user; /* should only be TRUE if u.data is valid and non-NULL */
44
};
45
46
 
47
   struct pipe_vertex_element pipe;
48
   uint32_t state;
49
};
50
51
 
52
   uint32_t min_instance_div[PIPE_MAX_ATTRIBS];
53
   uint16_t vb_access_size[PIPE_MAX_ATTRIBS];
54
   struct translate *translate;
55
   unsigned num_elements;
56
   uint32_t instance_elts;
57
   uint32_t instance_bufs;
58
   boolean need_conversion;
59
   unsigned vertex_size;
60
   unsigned packet_vertex_limit;
61
   struct nv50_vertex_element element[0];
62
};
63
64
 
65
   struct pipe_stream_output_target pipe;
66
   struct pipe_query *pq;
67
   unsigned stride;
68
   boolean clean;
69
};
70
71
 
72
nv50_so_target(struct pipe_stream_output_target *ptarg)
73
{
74
   return (struct nv50_so_target *)ptarg;
75
}
76
77
 
78