Lines Matching defs:info
35 * if (info->mode needs emulating) {
37 * util_primconvert_draw_vbo(ctx->primconvert, info);
107 const struct pipe_draw_info *info,
128 if (!info->primitive_restart &&
129 !u_trim_pipe_prim(info->mode, (unsigned*)&draw.count))
133 new_info->index_bounds_valid = info->index_bounds_valid;
134 new_info->min_index = info->min_index;
135 new_info->max_index = info->max_index;
136 new_info->start_instance = info->start_instance;
137 new_info->instance_count = info->instance_count;
138 new_info->primitive_restart = info->primitive_restart;
139 new_info->restart_index = info->restart_index;
140 if (info->index_size) {
141 enum pipe_prim_type mode = new_info->mode = u_index_prim_type_convert(pc->cfg.primtypes_mask, info->mode, true);
142 unsigned index_size = info->index_size;
143 unsigned offset = draw.start * info->index_size;
145 new_info->index_size = u_index_size_convert(info->index_size);
147 src = info->has_user_indices ? info->index.user : NULL;
150 src = pipe_buffer_map_range(pc->pipe, info->index.resource,
152 draw.count * info->index_size,
163 if (info->primitive_restart &&
165 !(pc->cfg.primtypes_mask & BITFIELD_BIT(info->mode)))) {
169 direct_draws = util_prim_restart_convert_to_direct(restart_src, info, &draw, &num_direct_draws,
176 info->mode, index_size, total_index_count,
196 info->mode, index_size, total_index_count,
209 info->mode, draw.start, draw.count,
221 new_draw->index_bias = info->index_size ? draw.index_bias : 0;
223 if (info->index_size) {
233 unsigned tmp_count = u_index_count_converted_indices(pc->cfg.primtypes_mask, true, info->mode, direct_draws[i].count);
237 direct_draw_func(src, direct_draws[i].start, direct_draws[i].count, direct_draws[i].count, info->restart_index, ptr);
239 trans_func(ptr, 0, direct_draws[i].count, tmp_count, info->restart_index, dst_ptr);
245 new_draw->count = u_index_count_converted_indices(pc->cfg.primtypes_mask, true, info->mode, total_index_count);
247 trans_func(src, draw.start, draw.count, new_draw->count, info->restart_index, dst);
251 if (info->restart_index != new_info->restart_index)
254 info->restart_index);
260 new_info->was_line_loop = info->mode == PIPE_PRIM_LINE_LOOP;
274 const struct pipe_draw_info *info,
281 if (!primconvert_init_draw(pc, info, draw, &new_info, &new_draw))
291 const struct pipe_draw_info *info,
302 struct u_indirect_params *new_draws = util_draw_indirect_read(pc->pipe, info, indirect, &draw_count);
307 util_primconvert_draw_single_vbo(pc, &new_draws[i].info, drawid_offset + i, &new_draws[i].draw);
312 if (draws[i].count && info->instance_count)
313 util_primconvert_draw_single_vbo(pc, info, drawid, &draws[i]);
314 if (info->increment_draw_id)
320 if (info->take_index_buffer_ownership) {
321 struct pipe_resource *buffer = info->index.resource;
330 struct pipe_draw_vertex_state_info info,
337 if (pc->cfg.primtypes_mask & BITFIELD_BIT(info.mode)) {
338 pc->pipe->draw_vertex_state(pc->pipe, vstate, partial_velem_mask, info, draws, num_draws);
345 util_primconvert_draw_vertex_state(pc, vstate, partial_velem_mask, info, &draws[i], 1);
351 dinfo.mode = info.mode;
371 if (info.take_vertex_state_ownership)