[Mesa-dev] [PATCH 2/7] winsys/amdgpu: don't allow interprocess resource sharing for IBs

Marek Olšák maraeo at gmail.com
Wed Sep 6 09:34:25 UTC 2017


From: Marek Olšák <marek.olsak at amd.com>

Now we should get IB submissions with bo_list == NULL when DRI buffers
aren't referenced.

"Local" BOs are still rather unstable on Raven. Not sure about other GPUs.
---
 src/gallium/winsys/amdgpu/drm/amdgpu_cs.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
index f68071a..83f0310 100644
--- a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
+++ b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
@@ -568,21 +568,22 @@ static bool amdgpu_ib_new_buffer(struct amdgpu_winsys *ws, struct amdgpu_ib *ib)
    switch (ib->ib_type) {
    case IB_MAIN:
       buffer_size = MAX2(buffer_size, 8 * 1024 * 4);
       break;
    default:
       unreachable("unhandled IB type");
    }
 
    pb = ws->base.buffer_create(&ws->base, buffer_size,
                                ws->info.gart_page_size,
-                               RADEON_DOMAIN_GTT, 0);
+                               RADEON_DOMAIN_GTT,
+                               RADEON_FLAG_NO_INTERPROCESS_SHARING);
    if (!pb)
       return false;
 
    mapped = ws->base.buffer_map(pb, NULL, PIPE_TRANSFER_WRITE);
    if (!mapped) {
       pb_reference(&pb, NULL);
       return false;
    }
 
    pb_reference(&ib->big_ib_buffer, pb);
-- 
2.7.4



More information about the mesa-dev mailing list