summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/r600/r600_texture.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c
index b7600e90eb5..ec7bd0d75cd 100644
--- a/src/gallium/drivers/r600/r600_texture.c
+++ b/src/gallium/drivers/r600/r600_texture.c
@@ -531,6 +531,9 @@ static boolean permit_hardware_blit(struct pipe_screen *screen,
PIPE_BIND_SAMPLER_VIEW, 0))
return FALSE;
+ if (res->format == PIPE_FORMAT_R16_SNORM)
+ return FALSE;
+
return TRUE;
}
@@ -571,8 +574,8 @@ struct pipe_transfer* r600_texture_get_transfer(struct pipe_context *ctx,
PIPE_TRANSFER_UNSYNCHRONIZED)))
use_staging_texture = TRUE;
- /*if (!permit_hardware_blit(ctx->screen, texture) ||
- (texture->flags & R600_RESOURCE_FLAG_TRANSFER))*/
+ if (!permit_hardware_blit(ctx->screen, texture) ||
+ (texture->flags & R600_RESOURCE_FLAG_TRANSFER))
use_staging_texture = FALSE;
trans = CALLOC_STRUCT(r600_transfer);