Lines Matching defs:softpipe

91    struct softpipe_context *softpipe = softpipe_context( pipe );
95 if (softpipe->pstipple.sampler)
96 pipe->delete_sampler_state(pipe, softpipe->pstipple.sampler);
98 pipe_resource_reference(&softpipe->pstipple.texture, NULL);
99 pipe_sampler_view_reference(&softpipe->pstipple.sampler_view, NULL);
102 if (softpipe->draw)
103 draw_destroy( softpipe->draw );
105 if (softpipe->quad.shade)
106 softpipe->quad.shade->destroy( softpipe->quad.shade );
108 if (softpipe->quad.depth_test)
109 softpipe->quad.depth_test->destroy( softpipe->quad.depth_test );
111 if (softpipe->quad.blend)
112 softpipe->quad.blend->destroy( softpipe->quad.blend );
114 if (softpipe->quad.pstipple)
115 softpipe->quad.pstipple->destroy( softpipe->quad.pstipple );
118 sp_destroy_tile_cache(softpipe->cbuf_cache[i]);
119 pipe_surface_reference(&softpipe->framebuffer.cbufs[i], NULL);
122 sp_destroy_tile_cache(softpipe->zsbuf_cache);
123 pipe_surface_reference(&softpipe->framebuffer.zsbuf, NULL);
125 for (sh = 0; sh < Elements(softpipe->tex_cache); sh++) {
126 for (i = 0; i < Elements(softpipe->tex_cache[0]); i++) {
127 sp_destroy_tex_tile_cache(softpipe->tex_cache[sh][i]);
128 pipe_sampler_view_reference(&softpipe->sampler_views[sh][i], NULL);
132 for (sh = 0; sh < Elements(softpipe->constants); sh++) {
133 for (i = 0; i < Elements(softpipe->constants[0]); i++) {
134 if (softpipe->constants[sh][i]) {
135 pipe_resource_reference(&softpipe->constants[sh][i], NULL);
140 for (i = 0; i < softpipe->num_vertex_buffers; i++) {
141 pipe_resource_reference(&softpipe->vertex_buffer[i].buffer, NULL);
144 tgsi_exec_machine_destroy(softpipe->fs_machine);
146 FREE( softpipe );
163 struct softpipe_context *softpipe = softpipe_context( pipe );
170 if (softpipe->dirty_render_cache) {
171 for (i = 0; i < softpipe->framebuffer.nr_cbufs; i++) {
172 if (softpipe->framebuffer.cbufs[i] &&
173 softpipe->framebuffer.cbufs[i]->texture == texture) {
177 if (softpipe->framebuffer.zsbuf &&
178 softpipe->framebuffer.zsbuf->texture == texture) {
184 for (sh = 0; sh < Elements(softpipe->tex_cache); sh++) {
185 for (i = 0; i < Elements(softpipe->tex_cache[0]); i++) {
186 if (softpipe->tex_cache[sh][i] &&
187 softpipe->tex_cache[sh][i]->texture == texture)
203 struct softpipe_context *softpipe = softpipe_context( pipe );
205 softpipe->render_cond_query = query;
206 softpipe->render_cond_mode = mode;
216 struct softpipe_context *softpipe = CALLOC_STRUCT(softpipe_context);
221 softpipe->dump_fs = debug_get_bool_option( "SOFTPIPE_DUMP_FS", FALSE );
222 softpipe->dump_gs = debug_get_bool_option( "SOFTPIPE_DUMP_GS", FALSE );
224 softpipe->pipe.screen = screen;
225 softpipe->pipe.destroy = softpipe_destroy;
226 softpipe->pipe.priv = priv;
229 softpipe_init_blend_funcs(&softpipe->pipe);
230 softpipe_init_clip_funcs(&softpipe->pipe);
231 softpipe_init_query_funcs( softpipe );
232 softpipe_init_rasterizer_funcs(&softpipe->pipe);
233 softpipe_init_sampler_funcs(&softpipe->pipe);
234 softpipe_init_shader_funcs(&softpipe->pipe);
235 softpipe_init_streamout_funcs(&softpipe->pipe);
236 softpipe_init_texture_funcs( &softpipe->pipe );
237 softpipe_init_vertex_funcs(&softpipe->pipe);
239 softpipe->pipe.set_framebuffer_state = softpipe_set_framebuffer_state;
241 softpipe->pipe.draw_vbo = softpipe_draw_vbo;
243 softpipe->pipe.clear = softpipe_clear;
244 softpipe->pipe.flush = softpipe_flush_wrapped;
246 softpipe->pipe.render_condition = softpipe_render_condition;
248 softpipe->pipe.create_video_decoder = vl_create_decoder;
249 softpipe->pipe.create_video_buffer = vl_video_buffer_create;
256 softpipe->cbuf_cache[i] = sp_create_tile_cache( &softpipe->pipe );
257 softpipe->zsbuf_cache = sp_create_tile_cache( &softpipe->pipe );
260 for (sh = 0; sh < Elements(softpipe->tex_cache); sh++) {
261 for (i = 0; i < Elements(softpipe->tex_cache[0]); i++) {
262 softpipe->tex_cache[sh][i] = sp_create_tex_tile_cache(&softpipe->pipe);
263 if (!softpipe->tex_cache[sh][i])
268 softpipe->fs_machine = tgsi_exec_machine_create();
271 softpipe->quad.shade = sp_quad_shade_stage(softpipe);
272 softpipe->quad.depth_test = sp_quad_depth_test_stage(softpipe);
273 softpipe->quad.blend = sp_quad_blend_stage(softpipe);
274 softpipe->quad.pstipple = sp_quad_polygon_stipple_stage(softpipe);
281 softpipe->draw = draw_create(&softpipe->pipe);
283 softpipe->draw = draw_create_no_llvm(&softpipe->pipe);
284 if (!softpipe->draw)
287 draw_texture_samplers(softpipe->draw,
291 softpipe->tgsi.samplers_list[PIPE_SHADER_VERTEX]);
293 draw_texture_samplers(softpipe->draw,
297 softpipe->tgsi.samplers_list[PIPE_SHADER_GEOMETRY]);
300 softpipe->no_rast = TRUE;
302 softpipe->vbuf_backend = sp_create_vbuf_backend(softpipe);
303 if (!softpipe->vbuf_backend)
306 softpipe->vbuf = draw_vbuf_stage(softpipe->draw, softpipe->vbuf_backend);
307 if (!softpipe->vbuf)
310 draw_set_rasterize_stage(softpipe->draw, softpipe->vbuf);
311 draw_set_render(softpipe->draw, softpipe->vbuf_backend);
315 draw_install_aaline_stage(softpipe->draw, &softpipe->pipe);
316 draw_install_aapoint_stage(softpipe->draw, &softpipe->pipe);
320 draw_install_pstipple_stage(softpipe->draw, &softpipe->pipe);
323 draw_wide_point_sprites(softpipe->draw, TRUE);
325 sp_init_surface_functions(softpipe);
329 softpipe->pstipple.sampler = util_pstipple_create_sampler(&softpipe->pipe);
332 return &softpipe->pipe;
335 softpipe_destroy(&softpipe->pipe);