mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-08 02:00:21 +01:00
util/primconvert: map index buffer before getting index translator function
also set other local values on init using new util functions no functional changes Reviewed-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10973>
This commit is contained in:
parent
26e718fb37
commit
f3fe70f10e
1 changed files with 12 additions and 10 deletions
|
|
@ -157,23 +157,25 @@ util_primconvert_draw_vbo(struct primconvert_context *pc,
|
|||
new_info.primitive_restart = info->primitive_restart;
|
||||
new_info.restart_index = info->restart_index;
|
||||
if (info->index_size) {
|
||||
enum pipe_prim_type mode = 0;
|
||||
unsigned index_size;
|
||||
enum pipe_prim_type mode = new_info.mode = u_index_prim_type_convert(pc->cfg.primtypes_mask, info->mode, true);
|
||||
unsigned index_size = info->index_size;
|
||||
new_info.index_size = u_index_size_convert(info->index_size);
|
||||
|
||||
u_index_translator(pc->cfg.primtypes_mask,
|
||||
info->mode, info->index_size, draw->count,
|
||||
pc->api_pv, pc->api_pv,
|
||||
info->primitive_restart ? PR_ENABLE : PR_DISABLE,
|
||||
&mode, &index_size, &new_draw.count,
|
||||
&trans_func);
|
||||
new_info.mode = mode;
|
||||
new_info.index_size = index_size;
|
||||
src = info->has_user_indices ? info->index.user : NULL;
|
||||
if (!src) {
|
||||
src = pipe_buffer_map(pc->pipe, info->index.resource,
|
||||
PIPE_MAP_READ, &src_transfer);
|
||||
}
|
||||
src = (const uint8_t *)src;
|
||||
|
||||
u_index_translator(pc->cfg.primtypes_mask,
|
||||
info->mode, index_size, draws->count,
|
||||
pc->api_pv, pc->api_pv,
|
||||
new_info.primitive_restart ? PR_ENABLE : PR_DISABLE,
|
||||
&mode, &index_size, &new_draw.count,
|
||||
&trans_func);
|
||||
assert(new_info.mode == mode);
|
||||
assert(new_info.index_size == index_size);
|
||||
}
|
||||
else {
|
||||
enum pipe_prim_type mode = 0;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue