From 34b9e3e44c1939e9773bb26a2cac2871b2579f03 Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Fri, 5 Aug 2022 19:55:41 +0200 Subject: [PATCH] r600/sfn: Add GS thread fix just like the TGSI code path The old code does the same for R600. Fixes: 33765aa92aa5c150873fc210e9d6c1fe22cf8646 r600/sfn: Enable NIR for pre RG hardware Signed-off-by: Gert Wollny Part-of: --- src/gallium/drivers/r600/sfn/sfn_shader_gs.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/gallium/drivers/r600/sfn/sfn_shader_gs.cpp b/src/gallium/drivers/r600/sfn/sfn_shader_gs.cpp index 6a37e2aa0c2..6f809893240 100644 --- a/src/gallium/drivers/r600/sfn/sfn_shader_gs.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_shader_gs.cpp @@ -179,6 +179,15 @@ int GeometryShader::do_allocate_reserved_registers() m_ring_item_sizes[0] = m_next_input_ring_offset; + + /* GS thread with no output workaround - emit a cut at start of GS */ + if (chip_class() == ISA_CC_R600) { + emit_instruction(new EmitVertexInstr(0, true)); + start_new_block(0); + } + + + if (m_tri_strip_adj_fix) emit_adj_fix();