Segwit transaction from mixed addresses (segwit and non-segwit)
The right way to look at it is that every transaction input has a witness. For legacy outputs being spent, that witness is just empty.

So yes, mixed SegWit and legacy inputs are possible. SegWit transaction serialization will be used, and the witnesses for all legacy inputs will be empty.