What you may have is water etching. Minerals left over when water dries up leaves some marks that may or may not be easy to remove. It could be industrial fallout (acid rain) which is very harsh on paint, glass and plastic. Also, maybe your water is very hard. Some car wash solutions like Armor-All have water softening agents on them.
If white vinegar won't work, try using clay bar, it's safe to use on glass as well. I used it on OEM mirrors and they did the job OK but not on aftermarket (uncoated) mirror lenses which tend to scratch easily.
Wal-mart has a product called "Glass Stripper" which is very abrasive but works very well on glass. Scrub it on while washing the car using a bug sponge (net covered) and avoid leaving it on the paint.
Another method is to get a glass-specific polish. Auto-Glym, a european brand, makes a glass polish and compound that can be used with a porter cable DA polisher and may remove water spots. You can also use it by hand.
I also apply Rain-X quite regularly and pre-clean the glass with pure alcohol (isopropanol) I let the Rain-X cloud to a haze then buff off and it seem to get rid of a lot of the water spots.