From: Michel Dänzer <michel.daen...@amd.com>

If the state tracker tries to map the resource directly but we can't or don't
want to do that, fail to create a transfer.

Signed-off-by: Michel Dänzer <michel.daen...@amd.com>
---
 src/gallium/drivers/r600/r600_texture.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_texture.c 
b/src/gallium/drivers/r600/r600_texture.c
index e41fe11..7c1bd9d 100644
--- a/src/gallium/drivers/r600/r600_texture.c
+++ b/src/gallium/drivers/r600/r600_texture.c
@@ -647,6 +647,9 @@ struct pipe_transfer* r600_texture_get_transfer(struct 
pipe_context *ctx,
                (texture->flags & R600_RESOURCE_FLAG_TRANSFER))
                use_staging_texture = FALSE;
 
+       if (use_staging_texture && (usage & PIPE_TRANSFER_MAP_DIRECTLY))
+               return NULL;
+
        trans = CALLOC_STRUCT(r600_transfer);
        if (trans == NULL)
                return NULL;
-- 
1.7.5.4


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to