[Mesa-dev] [PATCH 2/3] mesa/st/nir: fix missing nir_compact_varyings
Rob Clark
robdclark at gmail.com
Sat Dec 8 18:28:46 UTC 2018
Not entirely sure when this changed, but it seem like
LinkedTransformFeedback is (usually?) populated, even if
NumVaryings is zero. So make the check about whether it
is safe to nir_compact_varyings() a bit more complete.
Signed-off-by: Rob Clark <robdclark at gmail.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 d0475fb538a..7406e26e2f8 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);
}
--
2.19.2
More information about the mesa-dev
mailing list