Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/dxil.c:
- if (!dxil_record_validate_operand_count(record, i + 2, i + 2, sm6))
return;- if (!(type = sm6_parser_get_type(sm6, record->operands[i++])))
return;- dst->type = type;
- if (sm6_type_is_pointer(type))
- {
*dst = *value;dst->type = type;ins->handler_idx = VKD3DSIH_NOP;return;- }
So, if the target type is a pointer the cast op doesn't have any meaning? The source type can be anything? Or is there some validation that could be done here?