Mesa (main): util/primconvert: map index buffer before getting index translator function
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jun 23 03:52:35 UTC 2021
Module: Mesa
Branch: main
Commit: f3fe70f10e5000e704ca010555140ef82a5af281
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f3fe70f10e5000e704ca010555140ef82a5af281
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date: Fri May 21 06:33:52 2021 -0400
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 at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10973>
---
src/gallium/auxiliary/indices/u_primconvert.c | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/src/gallium/auxiliary/indices/u_primconvert.c b/src/gallium/auxiliary/indices/u_primconvert.c
index c37dbe11dc7..8c92bcb1ebc 100644
--- a/src/gallium/auxiliary/indices/u_primconvert.c
+++ b/src/gallium/auxiliary/indices/u_primconvert.c
@@ -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;
More information about the mesa-commit
mailing list