diff --git a/.pick_status.json b/.pick_status.json index e2525e57d14..5b80c293ad1 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1111,7 +1111,7 @@ "description": "radeonsi: disable sparse buffers on gfx7-8", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c index a12c42a875e..5944bef76d2 100644 --- a/src/gallium/drivers/radeonsi/si_get.c +++ b/src/gallium/drivers/radeonsi/si_get.c @@ -229,7 +229,9 @@ static int si_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return LLVM_VERSION_MAJOR < 9 && !sscreen->info.has_unaligned_shader_loads; case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE: - return sscreen->info.has_sparse_vm_mappings ? RADEON_SPARSE_PAGE_SIZE : 0; + /* Gfx8 (Polaris11) hangs, so don't enable this on Gfx8 and older chips. */ + return sscreen->info.chip_class >= GFX9 && + sscreen->info.has_sparse_vm_mappings ? RADEON_SPARSE_PAGE_SIZE : 0; case PIPE_CAP_UMA: case PIPE_CAP_PREFER_IMM_ARRAYS_AS_CONSTBUF: