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?