radeonsi: emit LDEXP opcode
The LLVM intrinsic has existed for a long time. The current name was established in LLVM 3.9. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
This commit is contained in:
@@ -748,6 +748,7 @@ static int si_get_shader_param(struct pipe_screen* pscreen,
|
||||
case PIPE_SHADER_CAP_TGSI_ANY_INOUT_DECL_RANGE:
|
||||
case PIPE_SHADER_CAP_TGSI_SKIP_MERGE_REGISTERS:
|
||||
case PIPE_SHADER_CAP_TGSI_DROUND_SUPPORTED:
|
||||
case PIPE_SHADER_CAP_TGSI_LDEXP_SUPPORTED:
|
||||
return 1;
|
||||
|
||||
case PIPE_SHADER_CAP_INDIRECT_INPUT_ADDR:
|
||||
@@ -768,7 +769,6 @@ static int si_get_shader_param(struct pipe_screen* pscreen,
|
||||
case PIPE_SHADER_CAP_SUBROUTINES:
|
||||
case PIPE_SHADER_CAP_SUPPORTED_IRS:
|
||||
case PIPE_SHADER_CAP_TGSI_DFRACEXP_DLDEXP_SUPPORTED:
|
||||
case PIPE_SHADER_CAP_TGSI_LDEXP_SUPPORTED:
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
||||
@@ -800,6 +800,8 @@ void si_shader_context_init_alu(struct lp_build_tgsi_context *bld_base)
|
||||
bld_base->op_actions[TGSI_OPCODE_KILL_IF].fetch_args = kill_if_fetch_args;
|
||||
bld_base->op_actions[TGSI_OPCODE_KILL_IF].emit = kil_emit;
|
||||
bld_base->op_actions[TGSI_OPCODE_KILL].emit = kil_emit;
|
||||
bld_base->op_actions[TGSI_OPCODE_LDEXP].emit = build_tgsi_intrinsic_nomem;
|
||||
bld_base->op_actions[TGSI_OPCODE_LDEXP].intr_name = "llvm.amdgcn.ldexp.f32";
|
||||
bld_base->op_actions[TGSI_OPCODE_LSB].emit = emit_lsb;
|
||||
bld_base->op_actions[TGSI_OPCODE_LG2].emit = build_tgsi_intrinsic_nomem;
|
||||
bld_base->op_actions[TGSI_OPCODE_LG2].intr_name = "llvm.log2.f32";
|
||||
|
||||
Reference in New Issue
Block a user