In San Diego county, as long is its above a certain size, yes it needs a permit. The limit, with certain exceptions, is 300 sq ft of roof area, or 12 feet above grade. 12×20 would be 240 sq ft, so that might not need a permit. There are also special rules for certain coastal zones. So to be sure, you need to research SD patio cover codes, which you can find here:
By the way, the process for obtaining a permit for a custom patio cover, is a mega PITA. If you use the county’s plans for a patio cover, you can get approval for a “no plan permit” which is easier, but still not fun. Count on 3 trips to city hall downtown to get through the process. Long live bureaucracy.