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?