radeonsi: remove upload code for zero-stride vertex attribs
authorMarek Olšák <marek.olsak@amd.com>
Sat, 29 Apr 2017 23:24:29 +0000 (01:24 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 10 May 2017 17:29:08 +0000 (19:29 +0200)
st/mesa takes care of it now.

Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/gallium/drivers/radeonsi/si_state.c

index 1bac07e2341f269254de231f3db0e2fcede740b3..130ffa0e23b38ddfac9e881814cc15a10375dd23 100644 (file)
@@ -3844,32 +3844,14 @@ static void si_set_vertex_buffers(struct pipe_context *ctx,
                for (i = 0; i < count; i++) {
                        const struct pipe_vertex_buffer *src = buffers + i;
                        struct pipe_vertex_buffer *dsti = dst + i;
-
-                       if (unlikely(src->is_user_buffer)) {
-                               /* Zero-stride attribs only. */
-                               assert(src->stride == 0);
-
-                               /* Assume that the user_buffer comes from
-                                * gl_current_attrib, which implies it has
-                                * 4 * 8 bytes (for dvec4 attributes).
-                                *
-                                * Use const_uploader to upload into VRAM directly.
-                                */
-                               u_upload_data(sctx->b.b.const_uploader, 0, 32, 32,
-                                             src->buffer.user,
-                                             &dsti->buffer_offset,
-                                             &dsti->buffer.resource);
-                               dsti->stride = 0;
-                       } else {
-                               struct pipe_resource *buf = src->buffer.resource;
-
-                               pipe_resource_reference(&dsti->buffer.resource, buf);
-                               dsti->buffer_offset = src->buffer_offset;
-                               dsti->stride = src->stride;
-                               r600_context_add_resource_size(ctx, buf);
-                               if (buf)
-                                       r600_resource(buf)->bind_history |= PIPE_BIND_VERTEX_BUFFER;
-                       }
+                       struct pipe_resource *buf = src->buffer.resource;
+
+                       pipe_resource_reference(&dsti->buffer.resource, buf);
+                       dsti->buffer_offset = src->buffer_offset;
+                       dsti->stride = src->stride;
+                       r600_context_add_resource_size(ctx, buf);
+                       if (buf)
+                               r600_resource(buf)->bind_history |= PIPE_BIND_VERTEX_BUFFER;
                }
        } else {
                for (i = 0; i < count; i++) {