Mesa (master): r600g: re-enable handling of DISCARD_RANGE, improving performance

Marek Olšák mareko at kemper.freedesktop.org
Thu Nov 1 02:18:52 UTC 2012


Module: Mesa
Branch: master
Commit: 1eedebc65b02130ef7a27062a1ed67972a317a08
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1eedebc65b02130ef7a27062a1ed67972a317a08

Author: Marek Olšák <maraeo at gmail.com>
Date:   Thu Nov  1 02:00:37 2012 +0100

r600g: re-enable handling of DISCARD_RANGE, improving performance

It seems to work for me now. Even the graphics corruption is gone.

This also boosts performance in Reaction Quake.

---

 src/gallium/drivers/r600/r600_buffer.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_buffer.c b/src/gallium/drivers/r600/r600_buffer.c
index 116ab51..968824e 100644
--- a/src/gallium/drivers/r600/r600_buffer.c
+++ b/src/gallium/drivers/r600/r600_buffer.c
@@ -136,7 +136,6 @@ static void *r600_buffer_transfer_map(struct pipe_context *ctx,
 			r600_set_constants_dirty_if_bound(rctx, rbuffer);
 		}
 	}
-#if 0 /* this is broken (see Bug 53130) */
 	else if ((usage & PIPE_TRANSFER_DISCARD_RANGE) &&
 		 !(usage & PIPE_TRANSFER_UNSYNCHRONIZED) &&
 		 rctx->screen->has_streamout &&
@@ -159,7 +158,6 @@ static void *r600_buffer_transfer_map(struct pipe_context *ctx,
 							ptransfer, data, staging);
 		}
 	}
-#endif
 
 	data = rctx->ws->buffer_map(rbuffer->cs_buf, rctx->cs, usage);
 	if (!data) {




More information about the mesa-commit mailing list