From 4e757d591db8d7e5038be0d22c5de1efa61cb724 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Fri, 28 Jul 2017 23:01:10 +0200 Subject: [PATCH] ac/surface: add RADEON_SURF_SHAREABLE MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Shareable textures won't use tile swizzle. Reviewed-by: Dave Airlie Reviewed-by: Nicolai Hähnle --- src/amd/common/ac_surface.h | 1 + src/gallium/drivers/radeon/r600_texture.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/amd/common/ac_surface.h b/src/amd/common/ac_surface.h index 3c9e13e3f21..01a71f32b2f 100644 --- a/src/amd/common/ac_surface.h +++ b/src/amd/common/ac_surface.h @@ -67,6 +67,7 @@ enum radeon_micro_mode { #define RADEON_SURF_TC_COMPATIBLE_HTILE (1 << 23) #define RADEON_SURF_IMPORTED (1 << 24) #define RADEON_SURF_OPTIMIZE_FOR_SPACE (1 << 25) +#define RADEON_SURF_SHAREABLE (1 << 26) struct legacy_surf_level { uint64_t offset; diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c index 3aac3c78a98..2d58dc96499 100644 --- a/src/gallium/drivers/radeon/r600_texture.c +++ b/src/gallium/drivers/radeon/r600_texture.c @@ -280,8 +280,10 @@ static int r600_init_surface(struct r600_common_screen *rscreen, flags |= RADEON_SURF_SCANOUT; } + if (ptex->bind & PIPE_BIND_SHARED) + flags |= RADEON_SURF_SHAREABLE; if (is_imported) - flags |= RADEON_SURF_IMPORTED; + flags |= RADEON_SURF_IMPORTED | RADEON_SURF_SHAREABLE; if (!(ptex->flags & R600_RESOURCE_FLAG_FORCE_TILING)) flags |= RADEON_SURF_OPTIMIZE_FOR_SPACE; -- 2.30.2