diff --git a/.pick_status.json b/.pick_status.json index faa6972c817..883c9b25b52 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1300,7 +1300,7 @@ "description": "radeonsi: disable ngg culling on llvm < 12", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index 862b0daafdf..a8fbc6c0f48 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.c +++ b/src/gallium/drivers/radeonsi/si_pipe.c @@ -1224,7 +1224,9 @@ static struct pipe_screen *radeonsi_screen_create_impl(struct radeon_winsys *ws, sscreen->info.chip_class >= GFX10 && (sscreen->info.family != CHIP_NAVI14 || sscreen->info.is_pro_graphics); - sscreen->use_ngg_culling = sscreen->use_ngg && !(sscreen->debug_flags & DBG(NO_NGG_CULLING)); + sscreen->use_ngg_culling = sscreen->use_ngg && + !((sscreen->debug_flags & DBG(NO_NGG_CULLING)) || + LLVM_VERSION_MAJOR <= 11 /* hangs on 11, see #4874 */); sscreen->use_ngg_streamout = false; /* Only set this for the cases that are known to work, which are: