diff options
author | Michel Dänzer <[email protected]> | 2011-08-22 15:44:43 +0200 |
---|---|---|
committer | Michel Dänzer <[email protected]> | 2011-08-26 18:21:18 +0200 |
commit | 702838a7061cde91a6bcdd3382817deb61218bf1 (patch) | |
tree | 4a5786042924df2e95d816f3b89c3d42e6f9ecf9 | |
parent | f5a4e04cdb37069bc5b92798137588fed6eda39b (diff) |
r600g: Handle PIPE_TRANSFER_MAP_DIRECTLY.
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 <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
-rw-r--r-- | 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 e41fe11ac97..7c1bd9d8ec6 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; |