summaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys
diff options
context:
space:
mode:
authorMathias Fröhlich <[email protected]>2011-10-08 21:33:23 +0200
committerMarek Olšák <[email protected]>2011-10-24 18:20:07 +0200
commit2717b8f034db16cf551e167aa5ce3a9be3bf730b (patch)
tree16dbfadf8f95ba3eee83991542e8bdfe1c621acf /src/gallium/winsys
parent50b0069fc18f9d4d3c4469897b379df55eece547 (diff)
winsys/radeon: restore the old r600g winsys memory characteristics.
Use VRAM for static and immutable buffers. This restores the recently removed r600g winsys behaviour for memory locations. This also improoves rendering times on the gpu for some OpenSceneGraph based test cases by about 15%. Signed-off-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/winsys')
-rw-r--r--src/gallium/winsys/radeon/drm/radeon_drm_bo.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
index 2dca3b9d958..4bb433a41ee 100644
--- a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
+++ b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
@@ -530,6 +530,11 @@ radeon_winsys_bo_create(struct radeon_winsys *rws,
desc.initial_domains = RADEON_GEM_DOMAIN_GTT;
desc.reloc_domains = RADEON_GEM_DOMAIN_GTT;
break;
+ case PIPE_USAGE_IMMUTABLE:
+ case PIPE_USAGE_STATIC:
+ desc.initial_domains = RADEON_GEM_DOMAIN_VRAM;
+ desc.reloc_domains = RADEON_GEM_DOMAIN_VRAM;
+ break;
default:
if (bind & (PIPE_BIND_VERTEX_BUFFER | PIPE_BIND_INDEX_BUFFER |
PIPE_BIND_CONSTANT_BUFFER)) {