Mesa (staging/20.1): st/mesa: don't generate NIR for ARB_vp/fp if NIR is not preferred

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Aug 25 13:04:22 UTC 2020


Module: Mesa
Branch: staging/20.1
Commit: 93a5feb1c55522c5235e2bb9ec2d6447c0aa3746
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=93a5feb1c55522c5235e2bb9ec2d6447c0aa3746

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Wed Aug 12 11:09:43 2020 -0400

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 at anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6442>
(cherry picked from commit 2424485fb436b2abeca2dc801ffda156e3d1fe78)

---

 .pick_status.json                   | 2 +-
 src/mesa/state_tracker/st_program.c | 4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index df217b1b94c..d53d97a2570 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -130,7 +130,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 cb9fcfdbdd6..e4cc3408fd8 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);
@@ -883,6 +884,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)) {



More information about the mesa-commit mailing list