Mesa (main): u_primconvert: Handle take_index_buffer_ownership

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon May 2 17:43:19 UTC 2022


Module: Mesa
Branch: main
Commit: 8de1e310a768539c093f1d86d0f7d7fc5d7668c6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8de1e310a768539c093f1d86d0f7d7fc5d7668c6

Author: Jesse Natalie <jenatali at microsoft.com>
Date:   Tue Apr 26 16:24:04 2022 -0700

u_primconvert: Handle take_index_buffer_ownership

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Reviewed-by: Sil Vilerino <sivileri at microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182>

---

 src/util/indices/u_primconvert.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/util/indices/u_primconvert.c b/src/util/indices/u_primconvert.c
index 1ee4f39e786..dcbc9052dac 100644
--- a/src/util/indices/u_primconvert.c
+++ b/src/util/indices/u_primconvert.c
@@ -301,7 +301,7 @@ util_primconvert_draw_vbo(struct primconvert_context *pc,
       unsigned draw_count = 0;
       struct u_indirect_params *new_draws = util_draw_indirect_read(pc->pipe, info, indirect, &draw_count);
       if (!new_draws)
-         return;
+         goto cleanup;
 
       for (unsigned i = 0; i < draw_count; i++)
          util_primconvert_draw_single_vbo(pc, &new_draws[i].info, drawid_offset + i, &new_draws[i].draw);
@@ -315,6 +315,12 @@ util_primconvert_draw_vbo(struct primconvert_context *pc,
             drawid++;
       }
    }
+
+cleanup:
+   if (info->take_index_buffer_ownership) {
+      struct pipe_resource *buffer = info->index.resource;
+      pipe_resource_reference(&buffer, NULL);
+   }
 }
 
 void



More information about the mesa-commit mailing list