QoS at Layer-2 and Layer-3

I have some questions and am seeking some clarifications regarding L2 and L3 QoS mechanisms.

I understand at L2 I can implement 802.1p in conjunction with 802.1q VLAN tagging. My question becomes, MUST I implement 802.1q in order to implement 802.1p?

If I choose to implement QoS at L3 and choose to use DiffServ, MUST all of my switches in the network be L3 capable in order to “process” the DSCP markings? In other words, will a L2 switch NOT apply priority configurations to a DSCP marked packet because the marking occurs at L3 instead of L3?

Last but not least, my assumption would be that if QoS is implemented on one switch in a network, it should be implemented on all switches that they traffic may need to traverse to arrive at the ultimate destination?

Thanks,

Matt