Module: Mesa
Branch: main
Commit: 5c3c80be45a69997969f95566bf034af2bc26915
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5c3c80be45a69997969f95566bf034af2bc26915

Author: Samuel Pitoiset <[email protected]>
Date:   Thu Mar 23 17:22:45 2023 +0100

radv: emit the GS copy shader outside of radv_pipeline_emit_hw_gs()

Signed-off-by: Samuel Pitoiset <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22095>

---

 src/amd/vulkan/radv_pipeline.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c
index 5dd44b3fa0f..ad4d5447dae 100644
--- a/src/amd/vulkan/radv_pipeline.c
+++ b/src/amd/vulkan/radv_pipeline.c
@@ -4080,8 +4080,6 @@ radv_pipeline_emit_hw_gs(const struct radv_device 
*device, struct radeon_cmdbuf
                                            
S_00B204_SPI_SHADER_LATE_ALLOC_GS_GFX10(0),
                                            C_00B204_CU_EN_GFX10, 16, 
&pdevice->rad_info));
    }
-
-   radv_pipeline_emit_hw_vs(device, ctx_cs, cs, pipeline, 
pipeline->base.gs_copy_shader);
 }
 
 static void
@@ -4095,10 +4093,12 @@ radv_pipeline_emit_geometry_shader(const struct 
radv_device *device, struct rade
    if (!gs)
       return;
 
-   if (gs->info.is_ngg)
+   if (gs->info.is_ngg) {
       radv_pipeline_emit_hw_ngg(device, ctx_cs, cs, pipeline, gs);
-   else
+   } else {
       radv_pipeline_emit_hw_gs(device, ctx_cs, cs, pipeline, gs);
+      radv_pipeline_emit_hw_vs(device, ctx_cs, cs, pipeline, 
pipeline->base.gs_copy_shader);
+   }
 
    radeon_set_context_reg(ctx_cs, R_028B38_VGT_GS_MAX_VERT_OUT, 
gs->info.gs.vertices_out);
 }

Reply via email to