Mesa (master): radeonsi: PIPE_BIND_SHARED should allow inter-process sharing

Marek Olšák mareko at kemper.freedesktop.org
Mon Sep 18 15:57:15 UTC 2017


Module: Mesa
Branch: master
Commit: 7b616f7b714b31976f96845ac727504bcf4e4f65
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b616f7b714b31976f96845ac727504bcf4e4f65

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Thu Sep 14 15:40:45 2017 +0200

radeonsi: PIPE_BIND_SHARED should allow inter-process sharing

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

---

 src/gallium/drivers/radeon/r600_buffer_common.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/gallium/drivers/radeon/r600_buffer_common.c b/src/gallium/drivers/radeon/r600_buffer_common.c
index f35bc2c813..7515f7d615 100644
--- a/src/gallium/drivers/radeon/r600_buffer_common.c
+++ b/src/gallium/drivers/radeon/r600_buffer_common.c
@@ -169,11 +169,10 @@ void r600_init_resource_fields(struct r600_common_screen *rscreen,
 
 	/* Only displayable single-sample textures can be shared between
 	 * processes. */
-	if (res->b.b.target == PIPE_BUFFER ||
-	    res->b.b.nr_samples >= 2 ||
-	    (rtex->surface.micro_tile_mode != RADEON_MICRO_MODE_DISPLAY &&
-	     /* Raven doesn't use display micro mode for 32bpp, so check this: */
-	     !(res->b.b.bind & PIPE_BIND_SCANOUT)))
+	if (!(res->b.b.bind & (PIPE_BIND_SHARED | PIPE_BIND_SCANOUT)) &&
+	    (res->b.b.target == PIPE_BUFFER ||
+	     res->b.b.nr_samples >= 2 ||
+	     rtex->surface.micro_tile_mode != RADEON_MICRO_MODE_DISPLAY))
 		res->flags |= RADEON_FLAG_NO_INTERPROCESS_SHARING;
 
 	/* If VRAM is just stolen system memory, allow both VRAM and




More information about the mesa-commit mailing list