Mesa (master): mesa/st/nir: fix missing nir_compact_varyings

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Dec 11 21:02:38 UTC 2018


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

Author: Rob Clark <robdclark at gmail.com>
Date:   Sat Dec  8 13:21:52 2018 -0500

mesa/st/nir: fix missing nir_compact_varyings

LinkedTransformFeedback is normally populated, which had nerf'd varying
packing since the check was introduced.

Fixes: dbd52585fa9 st/nir: Disable varying packing when doing transform feedback.
Signed-off-by: Rob Clark <robdclark at gmail.com>
Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>

---

 src/mesa/state_tracker/st_glsl_to_nir.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp b/src/mesa/state_tracker/st_glsl_to_nir.cpp
index d0475fb538..7406e26e2f 100644
--- a/src/mesa/state_tracker/st_glsl_to_nir.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_nir.cpp
@@ -758,7 +758,8 @@ st_link_nir(struct gl_context *ctx,
           * the pipe_stream_output->output_register field is based on the
           * pre-compacted driver_locations.
           */
-         if (!prev_shader->sh.LinkedTransformFeedback)
+         if (!(prev_shader->sh.LinkedTransformFeedback &&
+               prev_shader->sh.LinkedTransformFeedback->NumVarying > 0))
             nir_compact_varyings(shader_program->_LinkedShaders[prev]->Program->nir,
                               nir, ctx->API != API_OPENGL_COMPAT);
       }




More information about the mesa-commit mailing list