[Mesa-dev] [PATCH] r600g: don't enable tiling for STAGING and STREAM usage cases

Marek Olšák maraeo at gmail.com
Mon Mar 5 05:35:40 PST 2012


This is a follow-up to my series.

Cc: Christian König <deathsimple at vodafone.de>
---
 src/gallium/drivers/r600/r600_texture.c |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c
index 6222410..e55e0d2 100644
--- a/src/gallium/drivers/r600/r600_texture.c
+++ b/src/gallium/drivers/r600/r600_texture.c
@@ -623,12 +623,13 @@ struct pipe_resource *r600_texture_create(struct pipe_screen *screen,
 	unsigned array_mode = 0;
 	int r;
 
-	if (!(templ->flags & R600_RESOURCE_FLAG_TRANSFER) &&
-	    !(templ->bind & PIPE_BIND_SCANOUT)) {
-		if (rscreen->use_surface_alloc) {
-			if (permit_hardware_blit(screen, templ)) {
-				array_mode = V_038000_ARRAY_2D_TILED_THIN1;
-			}
+	if (!(templ->flags & R600_RESOURCE_FLAG_TRANSFER)) {
+		if (rscreen->use_surface_alloc &&
+		    !(templ->bind & PIPE_BIND_SCANOUT) &&
+		    templ->usage != PIPE_USAGE_STAGING &&
+		    templ->usage != PIPE_USAGE_STREAM &&
+		    permit_hardware_blit(screen, templ)) {
+			array_mode = V_038000_ARRAY_2D_TILED_THIN1;
 		} else if (util_format_is_compressed(templ->format)) {
 			array_mode = V_038000_ARRAY_1D_TILED_THIN1;
 		}
-- 
1.7.5.4



More information about the mesa-dev mailing list