24 May
2023
24 May
'23
11:09 a.m.
Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/hlsl_codegen.c:
}
+static bool lower_int_dot(struct hlsl_ctx *ctx, struct hlsl_ir_node *instr, void *context) +{ + struct hlsl_ir_node *arg1, *arg2, *mult, *comps[4] = {0}, *res; + struct hlsl_type *type = instr->data_type; + struct hlsl_ir_expr *expr; + unsigned int i, dimx; + + if (instr->type != HLSL_IR_EXPR) + return false; + expr = hlsl_ir_expr(instr); + + if (expr->op != HLSL_OP2_DOT) + return false; + if (type->base_type == HLSL_TYPE_FLOAT) Maybe you should skip `HALF` too, so that the dot product operation is emitted?
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/207#note_33668