Patch 5 didn't make it to the list. It's here: https://cgit.freedesktop.org/~mareko/mesa/commit/?h=master&id=7018ab9ad34d26afc8da79891e4bf3f3724eac84
Marek On Fri, Sep 29, 2017 at 4:49 PM, Marek Olšák <[email protected]> wrote: > From: Marek Olšák <[email protected]> > > --- > src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c > b/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c > index eeb6eb2..1048e3b 100644 > --- a/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c > +++ b/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c > @@ -245,24 +245,25 @@ static void emit_not(const struct lp_build_tgsi_action > *action, > struct si_shader_context *ctx = si_shader_context(bld_base); > LLVMBuilderRef builder = bld_base->base.gallivm->builder; > LLVMValueRef v = ac_to_integer(&ctx->ac, emit_data->args[0]); > emit_data->output[emit_data->chan] = LLVMBuildNot(builder, v, ""); > } > > static void emit_arl(const struct lp_build_tgsi_action *action, > struct lp_build_tgsi_context *bld_base, > struct lp_build_emit_data *emit_data) > { > + struct si_shader_context *ctx = si_shader_context(bld_base); > LLVMBuilderRef builder = bld_base->base.gallivm->builder; > LLVMValueRef floor_index = lp_build_emit_llvm_unary(bld_base, > TGSI_OPCODE_FLR, emit_data->args[0]); > emit_data->output[emit_data->chan] = LLVMBuildFPToSI(builder, > - floor_index, bld_base->base.int_elem_type , ""); > + floor_index, ctx->i32, ""); > } > > static void emit_and(const struct lp_build_tgsi_action *action, > struct lp_build_tgsi_context *bld_base, > struct lp_build_emit_data *emit_data) > { > LLVMBuilderRef builder = bld_base->base.gallivm->builder; > emit_data->output[emit_data->chan] = LLVMBuildAnd(builder, > emit_data->args[0], emit_data->args[1], ""); > } > @@ -362,36 +363,36 @@ static void emit_ssg(const struct lp_build_tgsi_action > *action, > { > struct si_shader_context *ctx = si_shader_context(bld_base); > LLVMBuilderRef builder = bld_base->base.gallivm->builder; > > LLVMValueRef cmp, val; > > if (emit_data->inst->Instruction.Opcode == TGSI_OPCODE_I64SSG) { > cmp = LLVMBuildICmp(builder, LLVMIntSGT, emit_data->args[0], > bld_base->int64_bld.zero, ""); > val = LLVMBuildSelect(builder, cmp, bld_base->int64_bld.one, > emit_data->args[0], ""); > cmp = LLVMBuildICmp(builder, LLVMIntSGE, val, > bld_base->int64_bld.zero, ""); > - val = LLVMBuildSelect(builder, cmp, val, > LLVMConstInt(bld_base->int64_bld.elem_type, -1, true), ""); > + val = LLVMBuildSelect(builder, cmp, val, > LLVMConstInt(ctx->i64, -1, true), ""); > } else if (emit_data->inst->Instruction.Opcode == TGSI_OPCODE_ISSG) { > cmp = LLVMBuildICmp(builder, LLVMIntSGT, emit_data->args[0], > ctx->i32_0, ""); > val = LLVMBuildSelect(builder, cmp, ctx->i32_1, > emit_data->args[0], ""); > cmp = LLVMBuildICmp(builder, LLVMIntSGE, val, ctx->i32_0, ""); > - val = LLVMBuildSelect(builder, cmp, val, > LLVMConstInt(bld_base->int_bld.elem_type, -1, true), ""); > + val = LLVMBuildSelect(builder, cmp, val, > LLVMConstInt(ctx->i32, -1, true), ""); > } else if (emit_data->inst->Instruction.Opcode == TGSI_OPCODE_DSSG) { > cmp = LLVMBuildFCmp(builder, LLVMRealOGT, emit_data->args[0], > bld_base->dbl_bld.zero, ""); > val = LLVMBuildSelect(builder, cmp, bld_base->dbl_bld.one, > emit_data->args[0], ""); > cmp = LLVMBuildFCmp(builder, LLVMRealOGE, val, > bld_base->dbl_bld.zero, ""); > val = LLVMBuildSelect(builder, cmp, val, > LLVMConstReal(bld_base->dbl_bld.elem_type, -1), ""); > } else { // float SSG > cmp = LLVMBuildFCmp(builder, LLVMRealOGT, emit_data->args[0], > bld_base->base.zero, ""); > val = LLVMBuildSelect(builder, cmp, bld_base->base.one, > emit_data->args[0], ""); > cmp = LLVMBuildFCmp(builder, LLVMRealOGE, val, > bld_base->base.zero, ""); > - val = LLVMBuildSelect(builder, cmp, val, > LLVMConstReal(bld_base->base.elem_type, -1), ""); > + val = LLVMBuildSelect(builder, cmp, val, > LLVMConstReal(ctx->f32, -1), ""); > } > > emit_data->output[emit_data->chan] = val; > } > > static void emit_ineg(const struct lp_build_tgsi_action *action, > struct lp_build_tgsi_context *bld_base, > struct lp_build_emit_data *emit_data) > { > LLVMBuilderRef builder = bld_base->base.gallivm->builder; > @@ -694,22 +695,21 @@ static void emit_up2h(const struct lp_build_tgsi_action > *action, > unsigned i; > > i16 = LLVMInt16TypeInContext(context); > const16 = lp_build_const_int32(uint_bld->gallivm, 16); > input = emit_data->args[0]; > > for (i = 0; i < 2; i++) { > val = i == 1 ? LLVMBuildLShr(builder, input, const16, "") : > input; > val = LLVMBuildTrunc(builder, val, i16, ""); > val = ac_to_float(&ctx->ac, val); > - emit_data->output[i] = > - LLVMBuildFPExt(builder, val, > bld_base->base.elem_type, ""); > + emit_data->output[i] = LLVMBuildFPExt(builder, val, ctx->f32, > ""); > } > } > > static void emit_fdiv(const struct lp_build_tgsi_action *action, > struct lp_build_tgsi_context *bld_base, > struct lp_build_emit_data *emit_data) > { > struct si_shader_context *ctx = si_shader_context(bld_base); > > emit_data->output[emit_data->chan] = > -- > 2.7.4 > _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
