If he wasn't so tired, he would have laughed.
If he weren't so tired, he would have laughed.
Ditto on the reference to the subjunctive thread; your first sentence is incorrect because it needs to be subjunctive ("were"). But there's also a problem of tense agreement here (I don't mean agreements that are stressful, haha.) Example of two correct sentences:
A (describing something that's true now): If I
weren't so tired, I
would laugh. (As in, if I weren't so tired right now, I would laugh.)
B (describing something that was true at some moment in the past): If I
hadn't been so tired, I
would have laughed. (As in, if I hadn't been so tired yesterday when you made that joke, I would have laughed.)
Those are correct. But your second sentence mixes and matches them--you start with a present moment and finish in the past. Can't have it both ways--when is this happening, now or in the past?