summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_texture.c
diff options
context:
space:
mode:
authorChristian König <[email protected]>2011-07-13 16:35:19 +0200
committerChristian König <[email protected]>2011-07-13 16:37:15 +0200
commita0a22fead5e08b9ebfd2b64e6262e1e803a8e927 (patch)
tree25e9b493ec30f4883f8798a66b71375219c3924f /src/gallium/drivers/r600/r600_texture.c
parent5fe5d236c26b3b2428bc7395304e40cf21d3d3e1 (diff)
r600g: prevent hardware blitting based on resource usage
It doesn't make much sense for STAGING and STREAM resources to be hardware blitted into VRAM.
Diffstat (limited to 'src/gallium/drivers/r600/r600_texture.c')
-rw-r--r--src/gallium/drivers/r600/r600_texture.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c
index 37e75be6cf2..10c32c53a6d 100644
--- a/src/gallium/drivers/r600/r600_texture.c
+++ b/src/gallium/drivers/r600/r600_texture.c
@@ -313,7 +313,14 @@ static boolean permit_hardware_blit(struct pipe_screen *screen,
PIPE_BIND_SAMPLER_VIEW))
return FALSE;
- return TRUE;
+ switch (res->usage) {
+ case PIPE_USAGE_STREAM:
+ case PIPE_USAGE_STAGING:
+ return FALSE;
+
+ default:
+ return TRUE;
+ }
}
static boolean r600_texture_get_handle(struct pipe_screen* screen,