From d76746c1ffbcb4af1c457a56cda6dd848acebc2e Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Thu, 18 Jul 2019 15:51:32 +0200 Subject: [PATCH] radv/gfx10: emit the GS NGG prologue before the nested barrier Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- src/amd/vulkan/radv_nir_to_llvm.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c index 27b46d2e1ba..fa1413bf8d0 100644 --- a/src/amd/vulkan/radv_nir_to_llvm.c +++ b/src/amd/vulkan/radv_nir_to_llvm.c @@ -4455,6 +4455,7 @@ LLVMModuleRef ac_translate_nir_to_llvm(struct ac_llvm_compiler *ac_llvm, if (i) { if (shaders[i]->info.stage == MESA_SHADER_GEOMETRY && ctx.options->key.vs_common_out.as_ngg) { + gfx10_ngg_gs_emit_prologue(&ctx); nested_barrier = false; } else { nested_barrier = true; @@ -4497,12 +4498,6 @@ 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, "");