Lines Matching refs:softpipe

49 invalidate_vertex_layout(struct softpipe_context *softpipe)  in invalidate_vertex_layout()  argument
51 softpipe->setup_info.valid = 0; in invalidate_vertex_layout()
63 softpipe_compute_vertex_info(struct softpipe_context *softpipe) in softpipe_compute_vertex_info() argument
65 struct sp_setup_info *sinfo = &softpipe->setup_info; in softpipe_compute_vertex_info()
68 const struct tgsi_shader_info *fsInfo = &softpipe->fs_variant->info; in softpipe_compute_vertex_info()
69 struct vertex_info *vinfo = &softpipe->vertex_info; in softpipe_compute_vertex_info()
88 softpipe->viewport_index_slot = -1; in softpipe_compute_vertex_info()
89 softpipe->layer_slot = -1; in softpipe_compute_vertex_info()
90 softpipe->psize_slot = -1; in softpipe_compute_vertex_info()
97 vs_index = draw_find_shader_output(softpipe->draw, in softpipe_compute_vertex_info()
133 if (softpipe->rasterizer->flatshade) in softpipe_compute_vertex_info()
144 vs_index = draw_find_shader_output(softpipe->draw, in softpipe_compute_vertex_info()
155 vs_index = draw_find_shader_output(softpipe->draw, in softpipe_compute_vertex_info()
171 softpipe->viewport_index_slot = (int)vinfo->num_attribs; in softpipe_compute_vertex_info()
174 softpipe->layer_slot = (int)vinfo->num_attribs; in softpipe_compute_vertex_info()
195 vs_index = draw_find_shader_output(softpipe->draw, in softpipe_compute_vertex_info()
199 softpipe->psize_slot = (int)vinfo->num_attribs; in softpipe_compute_vertex_info()
204 if (softpipe->viewport_index_slot < 0) { in softpipe_compute_vertex_info()
205 vs_index = draw_find_shader_output(softpipe->draw, in softpipe_compute_vertex_info()
209 softpipe->viewport_index_slot =(int)vinfo->num_attribs; in softpipe_compute_vertex_info()
215 if (softpipe->layer_slot < 0) { in softpipe_compute_vertex_info()
216 vs_index = draw_find_shader_output(softpipe->draw, in softpipe_compute_vertex_info()
220 softpipe->layer_slot = (int)vinfo->num_attribs; in softpipe_compute_vertex_info()
226 softpipe->setup_info.valid = 1; in softpipe_compute_vertex_info()
239 softpipe_get_vbuf_vertex_info(struct softpipe_context *softpipe) in softpipe_get_vbuf_vertex_info() argument
241 softpipe_compute_vertex_info(softpipe); in softpipe_get_vbuf_vertex_info()
242 return &softpipe->vertex_info; in softpipe_get_vbuf_vertex_info()
284 set_shader_sampler(struct softpipe_context *softpipe, in set_shader_sampler() argument
290 softpipe->tgsi.sampler[shader]->sp_sampler[i] = in set_shader_sampler()
291 (struct sp_sampler *)(softpipe->samplers[shader][i]); in set_shader_sampler()
296 softpipe_update_compute_samplers(struct softpipe_context *softpipe) in softpipe_update_compute_samplers() argument
298 set_shader_sampler(softpipe, PIPE_SHADER_COMPUTE, softpipe->cs->max_sampler); in softpipe_update_compute_samplers()
302 update_tgsi_samplers( struct softpipe_context *softpipe ) in update_tgsi_samplers() argument
306 set_shader_sampler(softpipe, PIPE_SHADER_VERTEX, in update_tgsi_samplers()
307 softpipe->vs->max_sampler); in update_tgsi_samplers()
308 set_shader_sampler(softpipe, PIPE_SHADER_FRAGMENT, in update_tgsi_samplers()
309 softpipe->fs_variant->info.file_max[TGSI_FILE_SAMPLER]); in update_tgsi_samplers()
310 if (softpipe->gs) { in update_tgsi_samplers()
311 set_shader_sampler(softpipe, PIPE_SHADER_GEOMETRY, in update_tgsi_samplers()
312 softpipe->gs->max_sampler); in update_tgsi_samplers()
316 for (sh = 0; sh < ARRAY_SIZE(softpipe->tex_cache); sh++) { in update_tgsi_samplers()
318 struct softpipe_tex_tile_cache *tc = softpipe->tex_cache[sh][i]; in update_tgsi_samplers()
335 update_fragment_shader(struct softpipe_context *softpipe, unsigned prim) in update_fragment_shader() argument
342 key.polygon_stipple = softpipe->rasterizer->poly_stipple_enable; in update_fragment_shader()
344 if (softpipe->fs) { in update_fragment_shader()
345 softpipe->fs_variant = softpipe_find_fs_variant(softpipe, in update_fragment_shader()
346 softpipe->fs, &key); in update_fragment_shader()
349 softpipe->fs_variant->prepare(softpipe->fs_variant, in update_fragment_shader()
350 softpipe->fs_machine, in update_fragment_shader()
351 (struct tgsi_sampler *) softpipe-> in update_fragment_shader()
353 (struct tgsi_image *)softpipe->tgsi.image[PIPE_SHADER_FRAGMENT], in update_fragment_shader()
354 … (struct tgsi_buffer *)softpipe->tgsi.buffer[PIPE_SHADER_FRAGMENT]); in update_fragment_shader()
357 softpipe->fs_variant = NULL; in update_fragment_shader()
369 if (softpipe->fs_variant) { in update_fragment_shader()
370 draw_bind_fragment_shader(softpipe->draw, in update_fragment_shader()
371 softpipe->fs_variant->draw_shader); in update_fragment_shader()
374 draw_bind_fragment_shader(softpipe->draw, NULL); in update_fragment_shader()
386 update_polygon_stipple_pattern(struct softpipe_context *softpipe) in update_polygon_stipple_pattern() argument
391 tex = util_pstipple_create_stipple_texture(&softpipe->pipe, in update_polygon_stipple_pattern()
392 softpipe->poly_stipple.stipple); in update_polygon_stipple_pattern()
393 pipe_resource_reference(&softpipe->pstipple.texture, tex); in update_polygon_stipple_pattern()
396 view = util_pstipple_create_sampler_view(&softpipe->pipe, in update_polygon_stipple_pattern()
397 softpipe->pstipple.texture); in update_polygon_stipple_pattern()
398 pipe_sampler_view_reference(&softpipe->pstipple.sampler_view, view); in update_polygon_stipple_pattern()
412 update_polygon_stipple_enable(struct softpipe_context *softpipe, unsigned prim) in update_polygon_stipple_enable() argument
415 softpipe->fs_variant->key.polygon_stipple) { in update_polygon_stipple_enable()
416 const unsigned unit = softpipe->fs_variant->stipple_sampler_unit; in update_polygon_stipple_enable()
419 softpipe->samplers[PIPE_SHADER_FRAGMENT][unit] = softpipe->pstipple.sampler; in update_polygon_stipple_enable()
422 softpipe_set_sampler_views(&softpipe->pipe, PIPE_SHADER_FRAGMENT, in update_polygon_stipple_enable()
423 unit, 1, 0, false, &softpipe->pstipple.sampler_view); in update_polygon_stipple_enable()
425 softpipe->dirty |= SP_NEW_SAMPLER; in update_polygon_stipple_enable()
434 softpipe_update_derived(struct softpipe_context *softpipe, unsigned prim) in softpipe_update_derived() argument
436 struct softpipe_screen *sp_screen = softpipe_screen(softpipe->pipe.screen); in softpipe_update_derived()
440 if (softpipe->tex_timestamp != sp_screen->timestamp) { in softpipe_update_derived()
441 softpipe->tex_timestamp = sp_screen->timestamp; in softpipe_update_derived()
442 softpipe->dirty |= SP_NEW_TEXTURE; in softpipe_update_derived()
446 if (softpipe->dirty & SP_NEW_STIPPLE) in softpipe_update_derived()
448 update_polygon_stipple_pattern(softpipe); in softpipe_update_derived()
451 if (softpipe->dirty & (SP_NEW_RASTERIZER | in softpipe_update_derived()
453 update_fragment_shader(softpipe, prim); in softpipe_update_derived()
456 if (softpipe->dirty & (SP_NEW_RASTERIZER | in softpipe_update_derived()
459 update_polygon_stipple_enable(softpipe, prim); in softpipe_update_derived()
463 if (softpipe->dirty & (SP_NEW_SAMPLER | in softpipe_update_derived()
467 update_tgsi_samplers( softpipe ); in softpipe_update_derived()
469 if (softpipe->dirty & (SP_NEW_RASTERIZER | in softpipe_update_derived()
472 invalidate_vertex_layout( softpipe ); in softpipe_update_derived()
474 if (softpipe->dirty & (SP_NEW_SCISSOR | in softpipe_update_derived()
477 compute_cliprect(softpipe); in softpipe_update_derived()
479 if (softpipe->dirty & (SP_NEW_BLEND | in softpipe_update_derived()
484 sp_build_quad_pipeline(softpipe); in softpipe_update_derived()
486 softpipe->dirty = 0; in softpipe_update_derived()