Lines Matching defs:indirect
125 const struct pipe_draw_indirect_info *indirect,
133 if (indirect && indirect->buffer) {
134 pipe_resource_reference(&draw_params->res, indirect->buffer);
136 indirect->offset + (info->index_size ? 12 : 8);
193 struct pipe_draw_indirect_info indirect = *dindirect;
195 iris_emit_buffer_barrier_for(batch, iris_resource_bo(indirect.buffer),
198 if (indirect.indirect_draw_count) {
200 iris_resource_bo(indirect.indirect_draw_count);
213 for (int i = 0; i < indirect.draw_count; i++) {
216 iris_update_draw_parameters(ice, &info, drawid_offset + i, &indirect, draw);
218 batch->screen->vtbl.upload_render_state(ice, batch, &info, drawid_offset + i, &indirect, draw);
223 indirect.offset += indirect.stride;
226 if (indirect.indirect_draw_count &&
241 const struct pipe_draw_indirect_info *indirect,
248 iris_update_draw_parameters(ice, draw, drawid_offset, indirect, sc);
250 batch->screen->vtbl.upload_render_state(ice, batch, draw, drawid_offset, indirect, sc);
259 const struct pipe_draw_indirect_info *indirect,
264 util_draw_multi(ctx, info, drawid_offset, indirect, draws, num_draws);
268 if (!indirect && (!draws[0].count || !info->instance_count))
312 if (indirect && indirect->buffer)
313 iris_indirect_draw_vbo(ice, info, drawid_offset, indirect, &draws[0]);
315 iris_simple_draw_vbo(ice, info, drawid_offset, indirect, &draws[0]);
338 if (grid->indirect) {
339 pipe_resource_reference(&grid_ref->res, grid->indirect);
342 /* Zero out the grid size so that the next non-indirect grid launch will