From b3b5bb9ddb05989b2dc5fc17f88491bbd0e6ecac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Wed, 15 Aug 2012 19:11:51 +0200 Subject: [PATCH] r600g: disable handling of DISCARD_RANGE https://bugs.freedesktop.org/show_bug.cgi?id=53130 --- src/gallium/drivers/r600/r600_buffer.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gallium/drivers/r600/r600_buffer.c b/src/gallium/drivers/r600/r600_buffer.c index 27dddcc1cf7..907ac9691ba 100644 --- a/src/gallium/drivers/r600/r600_buffer.c +++ b/src/gallium/drivers/r600/r600_buffer.c @@ -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)