Lines Matching refs:dinfo
93 barrier_draw_buffers(struct zink_context *ctx, const struct pipe_draw_info *dinfo,
236 const struct pipe_draw_info *dinfo,
243 if (dinfo->increment_draw_id && needs_drawid) {
247 draws[i].count, dinfo->instance_count,
248 0, draws[i].index_bias, dinfo->start_instance);
256 draws[i].count, dinfo->instance_count,
257 0, draws[i].index_bias, dinfo->start_instance);
265 const struct pipe_draw_info *dinfo,
272 if (dinfo->increment_draw_id && needs_drawid) {
276 draws[i].count, dinfo->instance_count,
277 draws[i].start, draws[i].index_bias, dinfo->start_instance);
285 dinfo->instance_count,
286 dinfo->start_instance, sizeof(struct pipe_draw_start_count_bias),
287 dinfo->index_bias_varies ? NULL : &draws[0].index_bias);
291 draws[i].count, dinfo->instance_count,
292 draws[i].start, draws[i].index_bias, dinfo->start_instance);
300 const struct pipe_draw_info *dinfo,
307 if (dinfo->increment_draw_id && needs_drawid) {
310 VKCTX(CmdDraw)(cmdbuf, draws[i].count, dinfo->instance_count, draws[i].start, dinfo->start_instance);
318 dinfo->instance_count, dinfo->start_instance,
322 VKCTX(CmdDraw)(cmdbuf, draws[i].count, dinfo->instance_count, draws[i].start, dinfo->start_instance);
379 const struct pipe_draw_info *dinfo,
398 pctx->draw_vbo(pctx, dinfo, drawid_offset, dindirect, draws, num_draws);
408 const struct pipe_draw_info *dinfo,
416 if (!dindirect && (!draws[0].count || !dinfo->instance_count))
430 bool mode_changed = ctx->gfx_pipeline_state.gfx_prim_mode != dinfo->mode;
434 enum pipe_prim_type mode = (enum pipe_prim_type)dinfo->mode;
437 if (!hack_conditional_render(pctx, dinfo, drawid_offset, dindirect, draws, num_draws))
455 unsigned index_size = dinfo->index_size;
458 if (dinfo->has_user_indices) {
459 if (!util_upload_index_buffer(pctx, dinfo, &draws[0], &index_buffer, &index_offset, 4)) {
469 index_buffer = dinfo->index.resource;
496 barrier_draw_buffers(ctx, dinfo, dindirect, index_buffer);
511 zink_query_update_gs_states(ctx, dinfo->was_line_loop);
539 (HAS_MULTIDRAW && num_draws > 1 && !dinfo->increment_draw_id));
566 if (ctx->gfx_pipeline_state.dyn_state2.primitive_restart != dinfo->primitive_restart)
568 ctx->gfx_pipeline_state.dyn_state2.primitive_restart = dinfo->primitive_restart;
756 if (DYNAMIC_STATE >= ZINK_DYNAMIC_STATE2 && (BATCH_CHANGED || ctx->primitive_restart != dinfo->primitive_restart)) {
757 VKCTX(CmdSetPrimitiveRestartEnableEXT)(batch->state->cmdbuf, dinfo->primitive_restart);
758 ctx->primitive_restart = dinfo->primitive_restart;
824 draw_indexed_need_index_buffer_unref(ctx, dinfo, draws, num_draws, drawid_offset, needs_drawid);
826 draw_indexed<HAS_MULTIDRAW>(ctx, dinfo, draws, num_draws, drawid_offset, needs_drawid);
839 VKCTX(CmdDrawIndirectByteCountEXT)(batch->state->cmdbuf, dinfo->instance_count, dinfo->start_instance,
858 draw<HAS_MULTIDRAW>(ctx, dinfo, draws, num_draws, drawid_offset, needs_drawid);
902 struct pipe_draw_info dinfo = {};
904 dinfo.mode = info.mode;
905 dinfo.index_size = 4;
906 dinfo.instance_count = 1;
907 dinfo.index.resource = vstate->input.indexbuf;
916 zink_draw<HAS_MULTIDRAW, DYNAMIC_STATE, BATCH_CHANGED, true>(pctx, &dinfo, 0, NULL, draws, num_draws, vstate, partial_velem_mask);
1058 const struct pipe_draw_info *dinfo,