Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/hlsl_codegen.c:
if (!(mul = hlsl_new_binary_expr(ctx, HLSL_OP2_MUL, sub, sub)))
return false;
hlsl_block_add_instr(block, mul);
if (ctx->profile->major_version >= 3)
{
if (!(abs = hlsl_new_unary_expr(ctx, HLSL_OP1_ABS, sub, &instr->loc)))
return false;
hlsl_block_add_instr(block, abs);
}
else
{
/* Use MUL as a precarious ABS. */
if (!(abs = hlsl_new_binary_expr(ctx, HLSL_OP2_MUL, sub, sub)))
return false;
hlsl_block_add_instr(block, abs);
}
Any reason I'm missing for not introducing this directly in 2/6?