diff --git a/.pick_status.json b/.pick_status.json index bbbd5f315b1..69d86b55a54 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -174,7 +174,7 @@ "description": "radeonsi: add si_screen::use_aco to shader cache key to fix shader cache failures", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index 1e97b19e4a5..dd38419d01d 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.c +++ b/src/gallium/drivers/radeonsi/si_pipe.c @@ -1121,6 +1121,11 @@ static void si_disk_cache_create(struct si_screen *sscreen) return; #endif + /* NIR options depend on si_screen::use_aco, which affects all shaders, including GLSL + * compilation. + */ + _mesa_sha1_update(&ctx, &sscreen->use_aco, sizeof(sscreen->use_aco)); + _mesa_sha1_final(&ctx, sha1); mesa_bytes_to_hex(cache_id, sha1, 20);