Mesa (master): st/mesa: finalize NIR after shader variant passes for TCS/TES/GS/CS

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Oct 17 00:12:00 UTC 2019


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Tue Oct 15 21:08:35 2019 -0400

st/mesa: finalize NIR after shader variant passes for TCS/TES/GS/CS

Same as VS and FS.

This might fix vertex color clamping.

Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>

---

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

diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c
index 0e231618044..9f0aaba4430 100644
--- a/src/mesa/state_tracker/st_program.c
+++ b/src/mesa/state_tracker/st_program.c
@@ -1449,8 +1449,6 @@ st_translate_common_program(struct st_context *st,
    /* We have already compiled to NIR so just return */
    if (stcp->shader_program) {
       /* No variants */
-      st_finalize_nir(st, &stcp->Base, stcp->shader_program,
-                      stcp->tgsi.ir.nir);
       if (stcp->Base.info.stage == MESA_SHADER_TESS_EVAL ||
           stcp->Base.info.stage == MESA_SHADER_GEOMETRY)
          st_translate_stream_output_info(&stcp->Base);
@@ -1678,6 +1676,9 @@ st_get_basic_variant(struct st_context *st,
                NIR_PASS_V(tgsi.ir.nir, nir_lower_clamp_color_outputs);
 
             tgsi.stream_output = prog->tgsi.stream_output;
+
+            st_finalize_nir(st, &prog->Base, prog->shader_program,
+                            tgsi.ir.nir);
 	 } else {
             if (key->lower_depth_clamp) {
                struct gl_program_parameter_list *params = prog->Base.Parameters;




More information about the mesa-commit mailing list