radeonsi: disable dcc when external shader stores are used
See comment.
Fixes: 666a6eb871 ("radeonsi/gfx12: disable display dcc for front buffer rendering")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12552
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33469>
This commit is contained in:
committed by
Marge Bot
parent
18c3b296a6
commit
6b20b06584
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user