radv: set writes_memory for global memory stores/atomics
[mesa.git] / src / gallium / auxiliary / util / u_index_modify.c
index 7b072b29a0faba202623316636312069b608b9ad..4e9349a7db66efb5af9f2274a94087567c9f9ade 100644 (file)
@@ -27,7 +27,7 @@
 /* Ubyte indices. */
 
 void util_shorten_ubyte_elts_to_userptr(struct pipe_context *context,
-                                       struct pipe_index_buffer *ib,
+                                       const struct pipe_draw_info *info,
                                         unsigned add_transfer_flags,
                                        int index_bias,
                                        unsigned start,
@@ -39,10 +39,10 @@ void util_shorten_ubyte_elts_to_userptr(struct pipe_context *context,
     unsigned short *out_map = out;
     unsigned i;
 
-    if (ib->user_buffer) {
-       in_map = ib->user_buffer;
+    if (info->has_user_indices) {
+       in_map = info->index.user;
     } else {
-       in_map = pipe_buffer_map(context, ib->buffer,
+       in_map = pipe_buffer_map(context, info->index.resource,
                                 PIPE_TRANSFER_READ |
                                 add_transfer_flags,
                                 &src_transfer);
@@ -62,7 +62,7 @@ void util_shorten_ubyte_elts_to_userptr(struct pipe_context *context,
 /* Ushort indices. */
 
 void util_rebuild_ushort_elts_to_userptr(struct pipe_context *context,
-                                        struct pipe_index_buffer *ib,
+                                        const struct pipe_draw_info *info,
                                          unsigned add_transfer_flags,
                                         int index_bias,
                                         unsigned start, unsigned count,
@@ -73,10 +73,10 @@ void util_rebuild_ushort_elts_to_userptr(struct pipe_context *context,
     unsigned short *out_map = out;
     unsigned i;
 
-    if (ib->user_buffer) {
-       in_map = ib->user_buffer;
+    if (info->has_user_indices) {
+       in_map = info->index.user;
     } else {
-       in_map = pipe_buffer_map(context, ib->buffer,
+       in_map = pipe_buffer_map(context, info->index.resource,
                                 PIPE_TRANSFER_READ |
                                 add_transfer_flags,
                                 &in_transfer);
@@ -96,7 +96,7 @@ void util_rebuild_ushort_elts_to_userptr(struct pipe_context *context,
 /* Uint indices. */
 
 void util_rebuild_uint_elts_to_userptr(struct pipe_context *context,
-                                      struct pipe_index_buffer *ib,
+                                      const struct pipe_draw_info *info,
                                        unsigned add_transfer_flags,
                                       int index_bias,
                                       unsigned start, unsigned count,
@@ -107,10 +107,10 @@ void util_rebuild_uint_elts_to_userptr(struct pipe_context *context,
     unsigned int *out_map = out;
     unsigned i;
 
-    if (ib->user_buffer) {
-       in_map = ib->user_buffer;
+    if (info->has_user_indices) {
+       in_map = info->index.user;
     } else {
-       in_map = pipe_buffer_map(context, ib->buffer,
+       in_map = pipe_buffer_map(context, info->index.resource,
                                 PIPE_TRANSFER_READ |
                                 add_transfer_flags,
                                 &in_transfer);