~ubuntu-branches/ubuntu/natty/mesa/natty-proposed

« back to all changes in this revision

Viewing changes to src/gallium/drivers/softpipe/sp_state.h

  • Committer: Bazaar Package Importer
  • Author(s): Robert Hooker, Robert Hooker, Christopher James Halse Rogers
  • Date: 2010-09-14 08:55:40 UTC
  • mfrom: (1.2.28 upstream)
  • Revision ID: james.westby@ubuntu.com-20100914085540-m4fpl0hdjlfd4jgz
Tags: 7.9~git20100909-0ubuntu1
[ Robert Hooker ]
* New upstream git snapshot up to commit 94118fe2d4b1e5 (LP: #631413)
* New features include ATI HD5xxx series support in r600, and a vastly
  improved glsl compiler.
* Remove pre-generated .pc's, use the ones generated at build time
  instead.
* Remove all references to mesa-utils now that its no longer shipped
  with the mesa source.
* Disable the experimental ARB_fragment_shader option by default on
  i915, it exposes incomplete functionality that breaks KDE compositing
  among other things. It can be enabled via driconf still. (LP: #628930).

[ Christopher James Halse Rogers ]
* debian/patches/04_osmesa_version.diff:
  - Refresh for new upstream
* Bugs fixed in this release:
  - Fixes severe rendering corruption in Unity on radeon (LP: #628727,
    LP: #596292, LP: #599741, LP: #630315, LP: #613694, LP: #599741).
  - Also fixes rendering in gnome-shell (LP: #578619).
  - Flickering in OpenGL apps on radeon (LP: #626943, LP: #610541).
  - Provides preliminary support for new intel chips (LP: #601052).
* debian/rules:
  - Update configure flags to match upstream reshuffling.
  - Explicitly remove gallium DRI drivers that we don't want to ship.
* Update debian/gbp.conf for this Maverick-specific packaging
* libegl1-mesa-dri-x11,kms: There are no longer separate kms or x11 drivers
  for EGL, libegl1-mesa-drivers now contains a single driver that provides
  both backends.

Show diffs side-by-side

added added

removed removed

Lines of Context:
51
51
#define SP_NEW_VS            0x2000
52
52
#define SP_NEW_QUERY         0x4000
53
53
#define SP_NEW_GS            0x8000
 
54
#define SP_NEW_SO            0x10000
 
55
#define SP_NEW_SO_BUFFERS    0x20000
54
56
 
55
57
 
56
58
struct tgsi_sampler;
98
100
struct sp_geometry_shader {
99
101
   struct pipe_shader_state shader;
100
102
   struct draw_geometry_shader *draw_data;
 
103
   int max_sampler;
 
104
};
 
105
 
 
106
struct sp_velems_state {
 
107
   unsigned count;
 
108
   struct pipe_vertex_element velem[PIPE_MAX_ATTRIBS];
 
109
};
 
110
 
 
111
struct sp_so_state {
 
112
   struct pipe_stream_output_state base;
101
113
};
102
114
 
103
115
 
117
129
softpipe_bind_vertex_sampler_states(struct pipe_context *,
118
130
                                    unsigned num_samplers,
119
131
                                    void **samplers);
 
132
void
 
133
softpipe_bind_geometry_sampler_states(struct pipe_context *,
 
134
                                      unsigned num_samplers,
 
135
                                      void **samplers);
120
136
void softpipe_delete_sampler_state(struct pipe_context *, void *);
121
137
 
122
138
void *
143
159
void softpipe_set_clip_state( struct pipe_context *,
144
160
                              const struct pipe_clip_state * );
145
161
 
 
162
void softpipe_set_sample_mask( struct pipe_context *,
 
163
                               unsigned sample_mask );
 
164
 
146
165
void softpipe_set_constant_buffer(struct pipe_context *,
147
166
                                  uint shader, uint index,
148
 
                                  struct pipe_buffer *buf);
 
167
                                  struct pipe_resource *buf);
149
168
 
150
169
void *softpipe_create_fs_state(struct pipe_context *,
151
170
                               const struct pipe_shader_state *);
160
179
void softpipe_bind_gs_state(struct pipe_context *, void *);
161
180
void softpipe_delete_gs_state(struct pipe_context *, void *);
162
181
 
 
182
void *softpipe_create_vertex_elements_state(struct pipe_context *,
 
183
                                            unsigned count,
 
184
                                            const struct pipe_vertex_element *);
 
185
void softpipe_bind_vertex_elements_state(struct pipe_context *, void *);
 
186
void softpipe_delete_vertex_elements_state(struct pipe_context *, void *);
 
187
 
163
188
void softpipe_set_polygon_stipple( struct pipe_context *,
164
 
                                  const struct pipe_poly_stipple * );
 
189
                                   const struct pipe_poly_stipple * );
165
190
 
166
191
void softpipe_set_scissor_state( struct pipe_context *,
167
192
                                 const struct pipe_scissor_state * );
168
193
 
169
 
void softpipe_set_sampler_textures( struct pipe_context *,
 
194
void softpipe_set_sampler_views( struct pipe_context *,
 
195
                                 unsigned num,
 
196
                                 struct pipe_sampler_view ** );
 
197
 
 
198
void
 
199
softpipe_set_vertex_sampler_views(struct pipe_context *,
 
200
                                  unsigned num,
 
201
                                  struct pipe_sampler_view **);
 
202
 
 
203
void
 
204
softpipe_set_geometry_sampler_views(struct pipe_context *,
170
205
                                    unsigned num,
171
 
                                    struct pipe_texture ** );
 
206
                                    struct pipe_sampler_view **);
 
207
 
 
208
struct pipe_sampler_view *
 
209
softpipe_create_sampler_view(struct pipe_context *pipe,
 
210
                             struct pipe_resource *texture,
 
211
                             const struct pipe_sampler_view *templ);
172
212
 
173
213
void
174
 
softpipe_set_vertex_sampler_textures(struct pipe_context *,
175
 
                                     unsigned num_textures,
176
 
                                     struct pipe_texture **);
 
214
softpipe_sampler_view_destroy(struct pipe_context *pipe,
 
215
                              struct pipe_sampler_view *view);
177
216
 
178
217
void softpipe_set_viewport_state( struct pipe_context *,
179
218
                                  const struct pipe_viewport_state * );
180
219
 
181
 
void softpipe_set_vertex_elements(struct pipe_context *,
182
 
                                  unsigned count,
183
 
                                  const struct pipe_vertex_element *);
184
 
 
185
220
void softpipe_set_vertex_buffers(struct pipe_context *,
186
221
                                 unsigned count,
187
222
                                 const struct pipe_vertex_buffer *);
188
223
 
 
224
void softpipe_set_index_buffer(struct pipe_context *,
 
225
                               const struct pipe_index_buffer *);
 
226
 
189
227
 
190
228
void softpipe_update_derived( struct softpipe_context *softpipe );
191
229
 
192
230
 
193
 
void softpipe_draw_arrays(struct pipe_context *pipe, unsigned mode,
194
 
                          unsigned start, unsigned count);
195
 
 
196
 
void softpipe_draw_elements(struct pipe_context *pipe,
197
 
                            struct pipe_buffer *indexBuffer,
198
 
                            unsigned indexSize,
199
 
                            unsigned mode, unsigned start, unsigned count);
200
 
void
201
 
softpipe_draw_range_elements(struct pipe_context *pipe,
202
 
                             struct pipe_buffer *indexBuffer,
203
 
                             unsigned indexSize,
204
 
                             unsigned min_index,
205
 
                             unsigned max_index,
206
 
                             unsigned mode, unsigned start, unsigned count);
207
 
 
208
 
void
209
 
softpipe_draw_arrays_instanced(struct pipe_context *pipe,
210
 
                               unsigned mode,
211
 
                               unsigned start,
212
 
                               unsigned count,
213
 
                               unsigned startInstance,
214
 
                               unsigned instanceCount);
215
 
 
216
 
void
217
 
softpipe_draw_elements_instanced(struct pipe_context *pipe,
218
 
                                 struct pipe_buffer *indexBuffer,
219
 
                                 unsigned indexSize,
220
 
                                 unsigned mode,
221
 
                                 unsigned start,
222
 
                                 unsigned count,
223
 
                                 unsigned startInstance,
224
 
                                 unsigned instanceCount);
 
231
void
 
232
softpipe_draw_vbo(struct pipe_context *pipe,
 
233
                  const struct pipe_draw_info *info);
 
234
 
 
235
void softpipe_draw_stream_output(struct pipe_context *pipe, unsigned mode);
225
236
 
226
237
void
227
238
softpipe_map_transfers(struct softpipe_context *sp);
242
253
struct vertex_info *
243
254
softpipe_get_vbuf_vertex_info(struct softpipe_context *softpipe);
244
255
 
 
256
void *
 
257
softpipe_create_stream_output_state(
 
258
   struct pipe_context *pipe,
 
259
   const struct pipe_stream_output_state *templ);
 
260
void
 
261
softpipe_bind_stream_output_state(struct pipe_context *pipe,
 
262
                                  void *so);
 
263
void
 
264
softpipe_delete_stream_output_state(struct pipe_context *pipe, void *so);
 
265
 
 
266
void
 
267
softpipe_set_stream_output_buffers(struct pipe_context *pipe,
 
268
                                   struct pipe_resource **buffers,
 
269
                                   int *offsets,
 
270
                                   int num_buffers);
245
271
 
246
272
#endif