For the series: Reviewed-by: Marek Olšák <marek.ol...@amd.com>
Marek On Mon, Jan 16, 2017 at 5:20 PM, Nicolai Hähnle <nhaeh...@gmail.com> wrote: > From: Nicolai Hähnle <nicolai.haeh...@amd.com> > > Fixes GL45-CTS.gpu_shader_fp64.built_in_functions. > --- > src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > index 9356707..d1059a9 100644 > --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > @@ -955,7 +955,7 @@ glsl_to_tgsi_visitor::get_opcode(unsigned op, > case3fid(MUL, UMUL, DMUL); > case3fid(MAD, UMAD, DMAD); > case3fid(FMA, UMAD, DFMA); > - case3(DIV, IDIV, UDIV); > + case4d(DIV, IDIV, UDIV, DDIV); > case4d(MAX, IMAX, UMAX, DMAX); > case4d(MIN, IMIN, UMIN, DMIN); > case2iu(MOD, UMOD); > @@ -1710,10 +1710,7 @@ glsl_to_tgsi_visitor::visit_expression(ir_expression* > ir, st_src_reg *op) > emit_asm(ir, TGSI_OPCODE_MUL, result_dst, op[0], op[1]); > break; > case ir_binop_div: > - if (result_dst.type == GLSL_TYPE_FLOAT || result_dst.type == > GLSL_TYPE_DOUBLE) > - assert(!"not reached: should be handled by ir_div_to_mul_rcp"); > - else > - emit_asm(ir, TGSI_OPCODE_DIV, result_dst, op[0], op[1]); > + emit_asm(ir, TGSI_OPCODE_DIV, result_dst, op[0], op[1]); > break; > case ir_binop_mod: > if (result_dst.type == GLSL_TYPE_FLOAT) > @@ -6904,7 +6901,9 @@ st_link_shader(struct gl_context *ctx, struct > gl_shader_program *prog) > do_mat_op_to_vec(ir); > lower_instructions(ir, > MOD_TO_FLOOR | > - DIV_TO_MUL_RCP | > + FDIV_TO_MUL_RCP | > + (pscreen->get_param(pscreen, PIPE_CAP_TGSI_DDIV) > + ? 0 : DDIV_TO_MUL_RCP) | > EXP_TO_EXP2 | > LOG_TO_LOG2 | > LDEXP_TO_ARITH | > -- > 2.7.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev