From 9f4d8d759571e1c927cdac2a9691d6f48bb2a486 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Thu, 12 Jan 2023 21:43:29 -0500 Subject: [PATCH] mesa: Set info.separate_shader for ARB programs ARB programs are logically separate, and Mesa will happily mix and match them. We need to alert backends of this fact, by setting nir->info.separate_shader. Otherwise, backends may link shaders invalidly. Fixes fp-abs-01 on Bifrost. (We don't use separate_shader for anything on Valhall, so the issue doesn't appear there.) Compare 151aa19c215 ("ttn: Set nir->info.separate_shader"), which fixed a similar issue with TGSI. Signed-off-by: Alyssa Rosenzweig Reviewed-by: Emma Anholt Reviewed-by: Adam Jackson Cc: mesa-stable Part-of: (cherry picked from commit 7e68cf91d74e6bd9a88c2b52417451d9afec4782) --- .pick_status.json | 2 +- src/mesa/program/prog_to_nir.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 96009a069dd..410e7d8f4cc 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -3334,7 +3334,7 @@ "description": "mesa: Set info.separate_shader for ARB programs", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/mesa/program/prog_to_nir.c b/src/mesa/program/prog_to_nir.c index 16116f62ec3..a86df264a82 100644 --- a/src/mesa/program/prog_to_nir.c +++ b/src/mesa/program/prog_to_nir.c @@ -1036,7 +1036,7 @@ prog_to_nir(const struct gl_context *ctx, const struct gl_program *prog, s->info.uses_texture_gather = false; s->info.clip_distance_array_size = 0; s->info.cull_distance_array_size = 0; - s->info.separate_shader = false; + s->info.separate_shader = true; s->info.io_lowered = false; s->info.internal = false;