summaryrefslogtreecommitdiffstats
path: root/src/amd/common
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2018-02-19 06:19:07 +0000
committerDave Airlie <[email protected]>2018-02-21 00:01:23 +0000
commit77fd1b9187a3aec665257ced5e58fae6fc89290f (patch)
tree6a3fbf2cfb878505fde0a48da5a6411b89792722 /src/amd/common
parent0e6f0d400b9078262844de6664f5f83f6566b567 (diff)
ac/radv: cleanup some tcs output values access
Just consolidates some code to make it easier to change. Reviewed-by: Samuel Pitoiset <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/amd/common')
-rw-r--r--src/amd/common/ac_nir_to_llvm.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 88b1abd2ae3..ec4dd098ed1 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -383,6 +383,12 @@ get_tcs_out_patch_stride(struct radv_shader_context *ctx)
}
static LLVMValueRef
+get_tcs_out_vertex_stride(struct radv_shader_context *ctx)
+{
+ return unpack_param(&ctx->ac, ctx->tcs_out_layout, 13, 8);
+}
+
+static LLVMValueRef
get_tcs_out_patch0_offset(struct radv_shader_context *ctx)
{
return LLVMBuildMul(ctx->ac.builder,
@@ -2899,7 +2905,7 @@ load_tcs_varyings(struct ac_shader_abi *abi,
dw_addr = get_tcs_in_current_patch_offset(ctx);
} else {
if (!is_patch) {
- stride = unpack_param(&ctx->ac, ctx->tcs_out_layout, 13, 8);
+ stride = get_tcs_out_vertex_stride(ctx);
dw_addr = get_tcs_out_current_patch_offset(ctx);
} else {
dw_addr = get_tcs_out_current_patch_data_offset(ctx);
@@ -2955,7 +2961,7 @@ store_tcs_output(struct ac_shader_abi *abi,
}
if (!is_patch) {
- stride = unpack_param(&ctx->ac, ctx->tcs_out_layout, 13, 8);
+ stride = get_tcs_out_vertex_stride(ctx);
dw_addr = get_tcs_out_current_patch_offset(ctx);
} else {
dw_addr = get_tcs_out_current_patch_data_offset(ctx);