There is absolutely no reason for you to feel like "dogshit".  This is all on him.  You've acted maturely, respectfully, and are a better person than he deserves.  

Drug abuse is very often symptomatic of deeper psychological issues (citation needed) and unless you're a therapist or psychiatrist, there's no reason to be down on yourself for not being able to help him.  ESPECIALLY since he's not ready to be helped. When he bottoms out, there may be some hope he can redeem himself, but that's entirely HIS responsibility.   You bear no blame here.