Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/hlsl.y:
struct hlsl_ir_node *cond = node_from_list($1), *first = node_from_list($3), *second = node_from_list($5); + struct hlsl_type *common_type;
list_move_tail($1, $3); list_move_tail($1, $5); vkd3d_free($3); vkd3d_free($5);
+ if (!(common_type = get_common_numeric_type(ctx, first, second, &@3))) + YYABORT; + + if (!(first = add_implicit_conversion(ctx, $1, first, common_type, &@3))) + YYABORT; + + if (!(second = add_implicit_conversion(ctx, $1, second, common_type, &@5))) + YYABORT;
I wonder if those should rather go inside `hlsl_add_conditional()`. I don't a strong opinion though. -- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/201#note_32141