diff --git a/src/gallium/drivers/radeonsi/si_texture.c b/src/gallium/drivers/radeonsi/si_texture.c index c5d7357ab28..5fa695fe122 100644 --- a/src/gallium/drivers/radeonsi/si_texture.c +++ b/src/gallium/drivers/radeonsi/si_texture.c @@ -804,10 +804,12 @@ static bool si_texture_get_handle(struct pipe_screen *screen, struct pipe_contex } const bool debug_disable_dcc = sscreen->debug_flags & DBG(NO_EXPORTED_DCC); - /* Since shader image stores don't support DCC on GFX9 and older, - * disable it for external clients that want write access. + /* Disable DCC for external clients that might use shader image stores. + * They don't support DCC on GFX9 and older. GFX10/10.3 is also problematic + * if the view formats between clients are incompatible or if DCC clear is + * used. */ - const bool shader_write = sscreen->info.gfx_level <= GFX9 && + const bool shader_write = sscreen->info.gfx_level < GFX11 && usage & PIPE_HANDLE_USAGE_SHADER_WRITE && !tex->is_depth && tex->surface.meta_offset;