Mesa (master): ac: move tg_size to the ABI

Samuel Pitoiset hakzsam at kemper.freedesktop.org
Mon Feb 12 10:55:01 UTC 2018


Module: Mesa
Branch: master
Commit: 460d3ce7264f0da6db537fe8f99f6872d33ed269
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=460d3ce7264f0da6db537fe8f99f6872d33ed269

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri Feb  9 13:54:19 2018 +0100

ac: move tg_size to the ABI

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

---

 src/amd/common/ac_nir_to_llvm.c | 5 ++---
 src/amd/common/ac_shader_abi.h  | 1 +
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index e82348b83b..9d149b49ea 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -87,7 +87,6 @@ struct nir_to_llvm_context {
 	LLVMValueRef ring_offsets;
 	LLVMValueRef push_constants;
 	LLVMValueRef view_index;
-	LLVMValueRef tg_size;
 
 	LLVMValueRef vertex_buffers;
 	LLVMValueRef rel_auto_id;
@@ -789,7 +788,7 @@ static void create_function(struct nir_to_llvm_context *ctx,
 		}
 
 		if (ctx->shader_info->info.cs.uses_local_invocation_idx)
-			add_arg(&args, ARG_SGPR, ctx->ac.i32, &ctx->tg_size);
+			add_arg(&args, ARG_SGPR, ctx->ac.i32, &ctx->abi.tg_size);
 		add_arg(&args, ARG_VGPR, ctx->ac.v3i32,
 			&ctx->abi.local_invocation_ids);
 		break;
@@ -3906,7 +3905,7 @@ visit_load_local_invocation_index(struct nir_to_llvm_context *ctx)
 {
 	LLVMValueRef result;
 	LLVMValueRef thread_id = ac_get_thread_id(&ctx->ac);
-	result = LLVMBuildAnd(ctx->builder, ctx->tg_size,
+	result = LLVMBuildAnd(ctx->builder, ctx->abi.tg_size,
 			      LLVMConstInt(ctx->ac.i32, 0xfc0, false), "");
 
 	return LLVMBuildAdd(ctx->builder, result, thread_id, "");
diff --git a/src/amd/common/ac_shader_abi.h b/src/amd/common/ac_shader_abi.h
index 9499c1a15f..5d52584996 100644
--- a/src/amd/common/ac_shader_abi.h
+++ b/src/amd/common/ac_shader_abi.h
@@ -58,6 +58,7 @@ struct ac_shader_abi {
 	LLVMValueRef local_invocation_ids;
 	LLVMValueRef num_work_groups;
 	LLVMValueRef workgroup_ids[3];
+	LLVMValueRef tg_size;
 
 	/* For VS and PS: pre-loaded shader inputs.
 	 *




More information about the mesa-commit mailing list