summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2020-08-12 11:09:43 -0400
committerDylan Baker <dylan.c.baker@intel.com>2020-08-28 11:26:49 -0700
commit83df231acd2e311334d084c178ff82f262b0b800 (patch)
tree37bfad49575e37eb9ac1b75a271f9480de12d107
parent786e6a2af8e4ab0c9170637aca7601575ed944c2 (diff)
st/mesa: don't generate NIR for ARB_vp/fp if NIR is not preferred
Fixes: 5d0630e5043fc2 "st/mesa: call prog_to_nir sooner for ARB_fp" Fixes: a3de63fbb3d63e "st/mesa: don't generate VS TGSI if NIR is enabled" Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6442> (cherry picked from commit 2424485fb436b2abeca2dc801ffda156e3d1fe78)
-rw-r--r--.pick_status.json2
-rw-r--r--src/mesa/state_tracker/st_program.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/.pick_status.json b/.pick_status.json
index 0d72c2bd3ca..7dca7b22bd0 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -1597,7 +1597,7 @@
"description": "st/mesa: don't generate NIR for ARB_vp/fp if NIR is not preferred",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"master_sha": null,
"because_sha": "5d0630e5043fc25aea3788c6a94059e2aceedf06"
},
diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c
index 0b5deea61d6..1cb96f60879 100644
--- a/src/mesa/state_tracker/st_program.c
+++ b/src/mesa/state_tracker/st_program.c
@@ -510,7 +510,8 @@ st_translate_vertex_program(struct st_context *st,
stp->affected_states |= ST_NEW_VS_CONSTANTS;
/* Translate to NIR if preferred. */
- if (st->pipe->screen->get_shader_param(st->pipe->screen,
+ if (PIPE_SHADER_IR_NIR ==
+ st->pipe->screen->get_shader_param(st->pipe->screen,
PIPE_SHADER_VERTEX,
PIPE_SHADER_CAP_PREFERRED_IR)) {
assert(!stp->glsl_to_tgsi);
@@ -889,6 +890,7 @@ st_translate_fragment_program(struct st_context *st,
/* Translate to NIR. */
if (!stfp->ati_fs &&
+ PIPE_SHADER_IR_NIR ==
st->pipe->screen->get_shader_param(st->pipe->screen,
PIPE_SHADER_FRAGMENT,
PIPE_SHADER_CAP_PREFERRED_IR)) {