Lines Matching defs:info
134 etna_update_state_for_draw(struct etna_context *ctx, const struct pipe_draw_info *info)
145 if (info->index_size) {
148 if (info->primitive_restart)
154 (info->primitive_restart && ctx->index_buffer.FE_PRIMITIVE_RESTART_INDEX != info->restart_index)) {
156 ctx->index_buffer.FE_PRIMITIVE_RESTART_INDEX = info->restart_index;
215 etna_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info,
222 util_draw_multi(pctx, info, drawid_offset, indirect, draws, num_draws);
226 if (!indirect && (!draws[0].count || !info->instance_count))
236 !info->primitive_restart &&
237 !u_trim_pipe_prim(info->mode, (unsigned*)&draws[0].count))
244 u_decomposed_prim(info->mode) == PIPE_PRIM_TRIANGLES))
247 int prims = u_decomposed_prims_for_vertices(info->mode, draws[0].count);
249 DBG("Invalid draw primitive mode=%i or no primitives to be drawn", info->mode);
253 draw_mode = translate_draw_mode(info->mode);
263 if (info->index_size) {
264 indexbuf = info->has_user_indices ? NULL : info->index.resource;
265 if (info->has_user_indices &&
266 !util_upload_index_buffer(pctx, info, &draws[0], &indexbuf, &index_offset, 4)) {
271 index_offset += draws[0].start * info->index_size;
276 ctx->index_buffer.FE_INDEX_STREAM_CONTROL = translate_index_size(info->index_size);
367 ctx->stats.prims_generated += u_reduced_prims_for_vertices(info->mode, draws[0].count);
371 etna_update_state_for_draw(ctx, info);
395 etna_draw_instanced(ctx->stream, info->index_size, draw_mode, info->instance_count,
396 draws[0].count, info->index_size ? draws->index_bias : draws[0].start);
398 if (info->index_size)
418 if (info->index_size && indexbuf != info->index.resource)