radeonsi: PIPE_BIND_SHARED should allow inter-process sharing

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
Marek Olšák 2017-09-14 15:40:45 +02:00
parent f0233ac82d
commit 7b616f7b71
1 changed files with 4 additions and 5 deletions

View File

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