r600g: disable handling of DISCARD_RANGE
authorMarek Olšák <maraeo@gmail.com>
Wed, 15 Aug 2012 17:11:51 +0000 (19:11 +0200)
committerMarek Olšák <maraeo@gmail.com>
Wed, 15 Aug 2012 17:20:58 +0000 (19:20 +0200)
https://bugs.freedesktop.org/show_bug.cgi?id=53130

src/gallium/drivers/r600/r600_buffer.c

index 27dddcc1cf7617ee039af0ee7535b6b2d27433c8..907ac9691ba50ec582d6d0a1dec7c3f1c76f86df 100644 (file)
@@ -130,6 +130,7 @@ static void *r600_buffer_transfer_map(struct pipe_context *pipe,
                        r600_set_constants_dirty_if_bound(rctx, &rctx->ps_constbuf_state, rbuffer);
                }
        }
+#if 0 /* this is broken (see Bug 53130) */
        else if ((transfer->usage & PIPE_TRANSFER_DISCARD_RANGE) &&
                 !(transfer->usage & PIPE_TRANSFER_UNSYNCHRONIZED) &&
                 rctx->screen->has_streamout &&
@@ -149,6 +150,7 @@ static void *r600_buffer_transfer_map(struct pipe_context *pipe,
                        return rctx->ws->buffer_map(rtransfer->staging->cs_buf, rctx->cs, PIPE_TRANSFER_WRITE);
                }
        }
+#endif
 
        data = rctx->ws->buffer_map(rbuffer->cs_buf, rctx->cs, transfer->usage);
        if (!data)