summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2017-09-14 15:40:45 +0200
committerMarek Olšák <marek.olsak@amd.com>2017-09-18 17:47:49 +0200
commit7b616f7b714b31976f96845ac727504bcf4e4f65 (patch)
tree3c6b13c675f51e3c2b2e5bc0fe147571a0145a7c
parentf0233ac82da7fa14f98f340e239148950781741a (diff)
radeonsi: PIPE_BIND_SHARED should allow inter-process sharing
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
-rw-r--r--src/gallium/drivers/radeon/r600_buffer_common.c9
1 files 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