Mesa (master): st/mesa: don't pass NIR to draw module if IO is lowered

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Aug 24 19:25:32 UTC 2020


Module: Mesa
Branch: master
Commit: 493fdcf44647ee471e934de3e63d193c6a3b6ff0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=493fdcf44647ee471e934de3e63d193c6a3b6ff0

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Fri Aug 14 01:30:49 2020 -0400

st/mesa: don't pass NIR to draw module if IO is lowered

The draw module can't handle it.

Reviewed-by: Eric Anholt <eric at anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6442>

---

 src/mesa/state_tracker/st_program.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c
index bfc6d90922a..f968073cc59 100644
--- a/src/mesa/state_tracker/st_program.c
+++ b/src/mesa/state_tracker/st_program.c
@@ -546,7 +546,8 @@ st_translate_vertex_program(struct st_context *st,
          /* For st_draw_feedback, we need to generate TGSI too if draw doesn't
           * use LLVM.
           */
-         if (draw_has_llvm()) {
+         /* TODO: Draw can't handle lowered IO. */
+         if (draw_has_llvm() && !stp->Base.info.io_lowered) {
             st_prepare_vertex_program(stp);
             return true;
          }
@@ -731,7 +732,9 @@ st_create_vp_variant(struct st_context *st,
    state.stream_output = stvp->state.stream_output;
 
    if (stvp->state.type == PIPE_SHADER_IR_NIR &&
-       (!key->is_draw_shader || draw_has_llvm())) {
+       (!key->is_draw_shader ||
+        /* TODO: Draw can't handle lowered IO. */
+        (draw_has_llvm() && !stvp->Base.info.io_lowered))) {
       bool finalize = false;
 
       state.type = PIPE_SHADER_IR_NIR;



More information about the mesa-commit mailing list