Revert "st/mesa: add a simple path to BufferData if it only discards buffer contents"
authorJosé Fonseca <jfonseca@vmware.com>
Mon, 29 Apr 2013 14:12:26 +0000 (15:12 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Mon, 29 Apr 2013 14:13:57 +0000 (15:13 +0100)
This reverts commit 5649f886f76023532538b8792605a3578cec1ed1.

It causes segfaults when size is zero.

src/mesa/state_tracker/st_cb_bufferobjects.c

index 1b3991c3f6d3dc31a103e7c3d6e3d5bb2e71aecd..8ff32c8429186dd250866ea0a7b3691236bf6deb 100644 (file)
@@ -182,20 +182,6 @@ st_bufferobj_data(struct gl_context *ctx,
    struct st_buffer_object *st_obj = st_buffer_object(obj);
    unsigned bind, pipe_usage;
 
-   if (st_obj->Base.Size == size && st_obj->Base.Usage == usage && data) {
-      /* Just discard the old contents and write new data.
-       * This should be the same as creating a new buffer, but we avoid
-       * a lot of validation in Mesa.
-       */
-      struct pipe_box box;
-
-      u_box_1d(0, size, &box);
-      pipe->transfer_inline_write(pipe, st_obj->buffer, 0,
-                                  PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE,
-                                  &box, data, 0, 0);
-      return GL_TRUE;
-   }
-
    st_obj->Base.Size = size;
    st_obj->Base.Usage = usage;