From: Marek Olšák Date: Fri, 14 Aug 2020 05:30:49 +0000 (-0400) Subject: st/mesa: don't pass NIR to draw module if IO is lowered X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=493fdcf44647ee471e934de3e63d193c6a3b6ff0;p=mesa.git st/mesa: don't pass NIR to draw module if IO is lowered The draw module can't handle it. Reviewed-by: Eric Anholt Part-of: --- 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;