radv/gfx10: enable NGG_WAVE_ID_EN for NGG streamout
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 10 Sep 2019 19:45:57 +0000 (21:45 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 16 Sep 2019 10:08:22 +0000 (12:08 +0200)
Otherwise the wave IDs are probably 0 and it hangs. NGG_WAVE_ID_EN
generates wave IDs for GDS OA.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_pipeline.c

index 56d63e5f50f52b1d816b6b23ce3e4b96a2c2c3dd..52e5df038092beaaf9e623f7854d6b9691bf2d3f 100644 (file)
@@ -4284,6 +4284,8 @@ radv_compute_vgt_shader_stages_en(const struct radv_pipeline *pipeline)
 
        if (radv_pipeline_has_ngg(pipeline)) {
                stages |= S_028B54_PRIMGEN_EN(1);
+               if (pipeline->streamout_shader)
+                       stages |= S_028B54_NGG_WAVE_ID_EN(1);
        } else if (radv_pipeline_has_gs(pipeline)) {
                stages |= S_028B54_VS_EN(V_028B54_VS_STAGE_COPY_SHADER);
        }