From: Michel Dänzer Date: Wed, 25 Jun 2014 09:36:43 +0000 (+0900) Subject: r600g/radeonsi: Prefer VRAM for CPU -> GPU streaming buffers X-Git-Tag: upstream/10.3~786 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=150ac07b855b5c5f879bf6ce9ca421ccd1a6c938;p=platform%2Fupstream%2Fmesa.git r600g/radeonsi: Prefer VRAM for CPU -> GPU streaming buffers Reviewed-by: Marek Olšák --- diff --git a/src/gallium/drivers/radeon/r600_buffer_common.c b/src/gallium/drivers/radeon/r600_buffer_common.c index 154c33d..d747cbc 100644 --- a/src/gallium/drivers/radeon/r600_buffer_common.c +++ b/src/gallium/drivers/radeon/r600_buffer_common.c @@ -110,14 +110,21 @@ bool r600_init_resource(struct r600_common_screen *rscreen, enum radeon_bo_flag flags = 0; switch (res->b.b.usage) { - case PIPE_USAGE_DYNAMIC: - case PIPE_USAGE_STREAM: - flags = RADEON_FLAG_GTT_WC; - /* fall through */ case PIPE_USAGE_STAGING: /* Transfers are likely to occur more often with these resources. */ res->domains = RADEON_DOMAIN_GTT; break; + case PIPE_USAGE_STREAM: + case PIPE_USAGE_DYNAMIC: + /* Older kernels didn't always flush the HDP cache before + * CS execution + */ + if (rscreen->info.drm_minor < 40) { + res->domains = RADEON_DOMAIN_GTT; + flags = RADEON_FLAG_GTT_WC; + break; + } + /* fall through */ case PIPE_USAGE_DEFAULT: case PIPE_USAGE_IMMUTABLE: default: