David Peralta ends homer drought as Padres top Rangers