radeonsi: map PIPE_USAGE_STREAM to VRAM if all VRAM is visible
authorMarek Olšák <marek.olsak@amd.com>
Sun, 6 Dec 2020 19:49:28 +0000 (14:49 -0500)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 9 Dec 2020 15:34:02 +0000 (10:34 -0500)
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7951>

src/gallium/drivers/radeonsi/si_buffer.c

index 66ca3dc..14c5069 100644 (file)
@@ -55,8 +55,12 @@ void si_init_resource_fields(struct si_screen *sscreen, struct si_resource *res,
 
    switch (res->b.b.usage) {
    case PIPE_USAGE_STREAM:
-      res->flags = RADEON_FLAG_GTT_WC;
-      FALLTHROUGH;
+      res->flags |= RADEON_FLAG_GTT_WC;
+      if (sscreen->info.all_vram_visible)
+         res->domains = RADEON_DOMAIN_VRAM;
+      else
+         res->domains = RADEON_DOMAIN_GTT;
+      break;
    case PIPE_USAGE_STAGING:
       /* Transfers are likely to occur more often with these
        * resources. */