<div dir="ltr">Oops. Thanks for tracking that down.<div><br></div><div>Reviewed-by: Alex Smith <<a href="mailto:asmith@feralinteractive.com">asmith@feralinteractive.com</a>></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 2 June 2018 at 13:31, Bas Nieuwenhuizen <span dir="ltr"><<a href="mailto:bas@basnieuwenhuizen.nl" target="_blank">bas@basnieuwenhuizen.nl</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Otherwise on pre-GFX9, if the constant layout allows both TESS_EVAL and<br>
GEOMETRY shaders, but the PIPELINE has only GEOMETRY, it would return the<br>
GEOMETRY shader for the TESS_EVAL shader.<br>
<br>
This would cause the flush_constants code to emit the GEOMETRY constants<br>
to the TESS_EVAL registers and then conclude that it did not need to set<br>
the GEOMETRY shader registers.<br>
<br>
Fixes: dfff9fb6f8d "radv: Handle GFX9 merged shaders in radv_flush_constants()"<br>
CC: 18.1 <<a href="mailto:mesa-stable@lists.freedesktop.org">mesa-stable@lists.<wbr>freedesktop.org</a>><br>
CC: Alex Smith <<a href="mailto:asmith@feralinteractive.com">asmith@feralinteractive.com</a>><br>
CC: Samuel Pitoiset <<a href="mailto:samuel.pitoiset@gmail.com">samuel.pitoiset@gmail.com</a>><br>
---<br>
 src/amd/vulkan/radv_pipeline.c | 2 ++<br>
 1 file changed, 2 insertions(+)<br>
<br>
diff --git a/src/amd/vulkan/radv_<wbr>pipeline.c b/src/amd/vulkan/radv_<wbr>pipeline.c<br>
index ff647ed9af3..375f7c357d3 100644<br>
--- a/src/amd/vulkan/radv_<wbr>pipeline.c<br>
+++ b/src/amd/vulkan/radv_<wbr>pipeline.c<br>
@@ -1594,6 +1594,8 @@ radv_get_shader(struct radv_pipeline *pipeline,<br>
                if (pipeline->shaders[MESA_<wbr>SHADER_GEOMETRY])<br>
                        return pipeline->shaders[MESA_SHADER_<wbr>GEOMETRY];<br>
        } else if (stage == MESA_SHADER_TESS_EVAL) {<br>
+               if (!radv_pipeline_has_tess(<wbr>pipeline))<br>
+                       return NULL;<br>
                if (pipeline->shaders[MESA_<wbr>SHADER_TESS_EVAL])<br>
                        return pipeline->shaders[MESA_SHADER_<wbr>TESS_EVAL];<br>
                if (pipeline->shaders[MESA_<wbr>SHADER_GEOMETRY])<br>
<span class="HOEnZb"><font color="#888888">-- <br>
2.17.0<br>
<br>
</font></span></blockquote></div><br></div>