From: Nicolai Hähnle Date: Wed, 13 Sep 2017 12:38:17 +0000 (+0200) Subject: amd/common: remove has_ds_bpermute argument from ac_build_ddxy X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6772452e4c75dd3d6880333fc98fd9035dd42717;p=mesa.git amd/common: remove has_ds_bpermute argument from ac_build_ddxy Reviewed-by: Marek Olšák --- diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c index 4077bd81bbc..6c010e8c3a6 100644 --- a/src/amd/common/ac_llvm_build.c +++ b/src/amd/common/ac_llvm_build.c @@ -972,7 +972,6 @@ ac_get_thread_id(struct ac_llvm_context *ctx) */ LLVMValueRef ac_build_ddxy(struct ac_llvm_context *ctx, - bool has_ds_bpermute, uint32_t mask, int idx, LLVMValueRef val) @@ -980,7 +979,7 @@ ac_build_ddxy(struct ac_llvm_context *ctx, LLVMValueRef tl, trbl, args[2]; LLVMValueRef result; - if (has_ds_bpermute) { + if (ctx->chip_class >= VI) { LLVMValueRef thread_id, tl_tid, trbl_tid; thread_id = ac_get_thread_id(ctx); diff --git a/src/amd/common/ac_llvm_build.h b/src/amd/common/ac_llvm_build.h index b6434893cfa..3f93551330c 100644 --- a/src/amd/common/ac_llvm_build.h +++ b/src/amd/common/ac_llvm_build.h @@ -194,7 +194,6 @@ ac_get_thread_id(struct ac_llvm_context *ctx); LLVMValueRef ac_build_ddxy(struct ac_llvm_context *ctx, - bool has_ds_bpermute, uint32_t mask, int idx, LLVMValueRef val); diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index 870620e7870..217d1e67ae2 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -1414,7 +1414,6 @@ static LLVMValueRef emit_ddxy(struct ac_nir_context *ctx, unsigned mask; int idx; LLVMValueRef result; - bool has_ds_bpermute = ctx->abi->chip_class >= VI; if (op == nir_op_fddx_fine || op == nir_op_fddx) mask = AC_TID_MASK_LEFT; @@ -1431,9 +1430,7 @@ static LLVMValueRef emit_ddxy(struct ac_nir_context *ctx, else idx = 2; - result = ac_build_ddxy(&ctx->ac, has_ds_bpermute, - mask, idx, - src0); + result = ac_build_ddxy(&ctx->ac, mask, idx, src0); return result; } diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index c47e6558049..1989574511e 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.c +++ b/src/gallium/drivers/radeonsi/si_pipe.c @@ -1045,7 +1045,6 @@ struct pipe_screen *radeonsi_screen_create(struct radeon_winsys *ws, sscreen->b.info.pfp_fw_version >= 79 && sscreen->b.info.me_fw_version >= 142); - sscreen->has_ds_bpermute = sscreen->b.chip_class >= VI; sscreen->has_msaa_sample_loc_bug = (sscreen->b.family >= CHIP_POLARIS10 && sscreen->b.family <= CHIP_POLARIS12) || sscreen->b.family == CHIP_VEGA10 || diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h index 8db7028c9a1..10215a35886 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.h +++ b/src/gallium/drivers/radeonsi/si_pipe.h @@ -94,7 +94,6 @@ struct si_screen { bool has_clear_state; bool has_distributed_tess; bool has_draw_indirect_multi; - bool has_ds_bpermute; bool has_msaa_sample_loc_bug; bool dpbb_allowed; bool dfsm_allowed; diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index c4e7f225a8f..aea199d3efd 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -3653,8 +3653,7 @@ static void si_llvm_emit_ddxy( idx = (opcode == TGSI_OPCODE_DDX || opcode == TGSI_OPCODE_DDX_FINE) ? 1 : 2; val = LLVMBuildBitCast(gallivm->builder, emit_data->args[0], ctx->i32, ""); - val = ac_build_ddxy(&ctx->ac, ctx->screen->has_ds_bpermute, - mask, idx, val); + val = ac_build_ddxy(&ctx->ac, mask, idx, val); emit_data->output[emit_data->chan] = val; }