radeonsi/gfx10: create the GS copy shader if using legacy streamout
authorMarek Olšák <marek.olsak@amd.com>
Wed, 21 Aug 2019 00:08:38 +0000 (20:08 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 27 Aug 2019 20:16:08 +0000 (16:16 -0400)
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
src/gallium/drivers/radeonsi/si_state_shaders.c

index 72719d8c47599f1862fe7d5d19bf7bca60e20dd0..d0a82ac47df49e4427984983846eac01723341c4 100644 (file)
@@ -2565,7 +2565,9 @@ static void si_init_shader_selector_async(void *job, int thread_index)
 
        /* The GS copy shader is always pre-compiled. */
        if (sel->type == PIPE_SHADER_GEOMETRY &&
-           (!sscreen->use_ngg || sel->tess_turns_off_ngg)) {
+           (!sscreen->use_ngg ||
+            !sscreen->use_ngg_streamout || /* also for PRIMITIVES_GENERATED */
+            sel->tess_turns_off_ngg)) {
                sel->gs_copy_shader = si_generate_gs_copy_shader(sscreen, compiler, sel, debug);
                if (!sel->gs_copy_shader) {
                        fprintf(stderr, "radeonsi: can't create GS copy shader\n");