summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2017-09-06 02:53:20 +0200
committerMarek Olšák <[email protected]>2017-09-11 16:29:52 +0200
commit46e7478986b022d5c912a63aacce5025afff8b24 (patch)
treef11af67a2751ed88412eae6b89afe0b7437e2d97
parent03203b74486357c2bc77c53302f0f667f1df3ffa (diff)
radeonsi/gfx9: fix interprocess resource sharing on Raven
This kinda fragiile, but it at least unbreaks the driver. Reviewed-by: Nicolai Hähnle <[email protected]>
-rw-r--r--src/gallium/drivers/radeon/r600_buffer_common.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeon/r600_buffer_common.c b/src/gallium/drivers/radeon/r600_buffer_common.c
index 4f5e17d5c89..f35bc2c813b 100644
--- a/src/gallium/drivers/radeon/r600_buffer_common.c
+++ b/src/gallium/drivers/radeon/r600_buffer_common.c
@@ -171,7 +171,9 @@ void r600_init_resource_fields(struct r600_common_screen *rscreen,
* processes. */
if (res->b.b.target == PIPE_BUFFER ||
res->b.b.nr_samples >= 2 ||
- rtex->surface.micro_tile_mode != RADEON_MICRO_MODE_DISPLAY)
+ (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)))
res->flags |= RADEON_FLAG_NO_INTERPROCESS_SHARING;
/* If VRAM is just stolen system memory, allow both VRAM and