Am 03.07.2014 18:29, schrieb Marek Olšák:
From: Marek Olšák marek.ol...@amd.com
This doesn't fix any known issue. In fact, radeon drivers ignore all
the discard flags for textures and implicitly do discard range
for any write transfer.
Cc: mesa-sta...@lists.freedesktop.org
---
src/gallium/auxiliary/util/u_transfer.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/auxiliary/util/u_transfer.c
b/src/gallium/auxiliary/util/u_transfer.c
index 7804f2a..71da35d 100644
--- a/src/gallium/auxiliary/util/u_transfer.c
+++ b/src/gallium/auxiliary/util/u_transfer.c
@@ -25,8 +25,8 @@ void u_default_transfer_inline_write( struct pipe_context
*pipe,
usage |= PIPE_TRANSFER_WRITE;
/* transfer_inline_write implicitly discards the rewritten buffer range */
- /* XXX this looks very broken for non-buffer resources having more than
one dim. */
- if (box-x == 0 box-width == resource-width0) {
+ if (resource-target == PIPE_BUFFER
+ box-x == 0 box-width == resource-width0) {
usage |= PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE;
} else {
usage |= PIPE_TRANSFER_DISCARD_RANGE;
Reviewed-by: Roland Scheidegger srol...@vmware.com
I guess it would be possible to also do this for non-buffer resources,
by checking all appropriate dimensions. But probably not worth it
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev