Lines Matching refs:indirect

205                               const struct pipe_draw_indirect_info *indirect,
213 if (indirect && indirect->buffer) {
214 pipe_resource_reference(&draw_params->res, indirect->buffer);
216 indirect->offset + (info->index_size ? 12 : 8);
276 struct pipe_draw_indirect_info indirect = *dindirect;
279 if (devinfo->verx10 >= 75 && indirect.indirect_draw_count &&
288 for (int i = 0; i < indirect.draw_count; i++) {
294 crocus_update_draw_parameters(ice, &info, drawid_offset + i, &indirect, draws);
296 screen->vtbl.upload_render_state(ice, batch, &info, drawid_offset + i, &indirect, draws);
301 indirect.offset += indirect.stride;
304 if (devinfo->verx10 >= 75 && indirect.indirect_draw_count &&
319 const struct pipe_draw_indirect_info *indirect,
330 crocus_update_draw_parameters(ice, draw, drawid_offset, indirect, sc);
332 screen->vtbl.upload_render_state(ice, batch, draw, drawid_offset, indirect, sc);
339 const struct pipe_draw_indirect_info *indirect)
345 uint32_t val = screen->vtbl.get_so_offset(indirect->count_from_stream_output);
359 const struct pipe_draw_indirect_info *indirect,
364 util_draw_multi(ctx, info, drawid_offset, indirect, draws, num_draws);
368 if (!indirect && (!draws[0].count || !info->instance_count))
380 indirect, draws);
385 indirect && indirect->count_from_stream_output) {
386 crocus_draw_vbo_get_vertex_count(ctx, info, drawid_offset, indirect);
435 if (indirect && indirect->buffer)
436 crocus_indirect_draw_vbo(ice, info, drawid_offset, indirect, draws);
438 crocus_simple_draw_vbo(ice, info, drawid_offset, indirect, draws);
456 if (grid->indirect) {
457 pipe_resource_reference(&grid_ref->res, grid->indirect);
460 /* Zero out the grid size so that the next non-indirect grid launch will