On 07.09.2017 00:33, Marek Olšák wrote:
From: Marek Olšák <[email protected]>

It hangs with a high degree of reproducibility.

Interesting, I haven't actually seen this yet, but let's do it for now.

Acked-by: Nicolai Hähnle <[email protected]>

---
  src/gallium/winsys/amdgpu/drm/amdgpu_bo.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c 
b/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c
index 897b4f0..4e9022f 100644
--- a/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c
+++ b/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c
@@ -404,21 +404,22 @@ static struct amdgpu_winsys_bo *amdgpu_create_bo(struct 
amdgpu_winsys *ws,
     if (initial_domain & RADEON_DOMAIN_VRAM)
        request.preferred_heap |= AMDGPU_GEM_DOMAIN_VRAM;
     if (initial_domain & RADEON_DOMAIN_GTT)
        request.preferred_heap |= AMDGPU_GEM_DOMAIN_GTT;
if (flags & RADEON_FLAG_NO_CPU_ACCESS)
        request.flags |= AMDGPU_GEM_CREATE_NO_CPU_ACCESS;
     if (flags & RADEON_FLAG_GTT_WC)
        request.flags |= AMDGPU_GEM_CREATE_CPU_GTT_USWC;
     if (flags & RADEON_FLAG_NO_INTERPROCESS_SHARING &&
-       ws->info.drm_minor >= 20)
+       ws->info.drm_minor >= 20 &&
+       ws->info.family != CHIP_RAVEN)
        request.flags |= AMDGPU_GEM_CREATE_VM_ALWAYS_VALID;
r = amdgpu_bo_alloc(ws->dev, &request, &buf_handle);
     if (r) {
        fprintf(stderr, "amdgpu: Failed to allocate a buffer:\n");
        fprintf(stderr, "amdgpu:    size      : %"PRIu64" bytes\n", size);
        fprintf(stderr, "amdgpu:    alignment : %u bytes\n", alignment);
        fprintf(stderr, "amdgpu:    domains   : %u\n", initial_domain);
        goto error_bo_alloc;
     }



--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to