radv: never kill a NGG GS shader
[mesa.git] / src / amd / vulkan / radv_nir_to_llvm.c
index 4cc30aa23ad2c35ef6a6d216656e6a0902b6e69d..9d394fd6b0c0a6b58ba94b9ee5c8f3a96a1aa279 100644 (file)
@@ -4125,7 +4125,7 @@ static void gfx10_ngg_gs_emit_vertex(struct radv_shader_context *ctx,
        const LLVMValueRef can_emit =
                LLVMBuildICmp(builder, LLVMIntULT, vertexidx,
                              LLVMConstInt(ctx->ac.i32, ctx->shader->info.gs.vertices_out, false), "");
-       ac_build_kill_if_false(&ctx->ac, can_emit);
+       ac_build_ifcc(&ctx->ac, can_emit, 9001);
 
        tmp = LLVMBuildAdd(builder, vertexidx, ctx->ac.i32_1, "");
        tmp = LLVMBuildSelect(builder, can_emit, tmp, vertexidx, "");
@@ -4191,6 +4191,8 @@ static void gfx10_ngg_gs_emit_vertex(struct radv_shader_context *ctx,
        tmp = LLVMBuildLoad(builder, ctx->gs_generated_prims[stream], "");
        tmp = LLVMBuildAdd(builder, tmp, LLVMBuildZExt(builder, iscompleteprim, ctx->ac.i32, ""), "");
        LLVMBuildStore(builder, tmp, ctx->gs_generated_prims[stream]);
+
+       ac_build_endif(&ctx->ac, 9001);
 }
 
 static void