From: Bas Nieuwenhuizen <[email protected]>

Mirror radeonsi.

Reviewed-by: Samuel Pitoiset <[email protected]>
---
 src/amd/vulkan/radv_nir_to_llvm.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/amd/vulkan/radv_nir_to_llvm.c 
b/src/amd/vulkan/radv_nir_to_llvm.c
index dc37c937155..490b16a1f25 100644
--- a/src/amd/vulkan/radv_nir_to_llvm.c
+++ b/src/amd/vulkan/radv_nir_to_llvm.c
@@ -4372,6 +4372,12 @@ LLVMModuleRef ac_translate_nir_to_llvm(struct 
ac_llvm_compiler *ac_llvm,
 
                LLVMBasicBlockRef merge_block;
                if (shader_count >= 2 || is_ngg) {
+
+                       if (shaders[i]->info.stage == MESA_SHADER_GEOMETRY &&
+                           ctx.options->key.vs_common_out.as_ngg) {
+                               gfx10_ngg_gs_emit_prologue(&ctx);
+                       }
+
                        LLVMValueRef fn = 
LLVMGetBasicBlockParent(LLVMGetInsertBlock(ctx.ac.builder));
                        LLVMBasicBlockRef then_block = 
LLVMAppendBasicBlockInContext(ctx.ac.context, fn, "");
                        merge_block = 
LLVMAppendBasicBlockInContext(ctx.ac.context, fn, "");
@@ -4383,11 +4389,6 @@ LLVMModuleRef ac_translate_nir_to_llvm(struct 
ac_llvm_compiler *ac_llvm,
                        LLVMBuildCondBr(ctx.ac.builder, cond, then_block, 
merge_block);
 
                        LLVMPositionBuilderAtEnd(ctx.ac.builder, then_block);
-
-                       if (shaders[i]->info.stage == MESA_SHADER_GEOMETRY &&
-                           ctx.options->key.vs_common_out.as_ngg) {
-                               gfx10_ngg_gs_emit_prologue(&ctx);
-                       }
                }
 
                if (shaders[i]->info.stage == MESA_SHADER_FRAGMENT)
-- 
2.22.0

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to