Faits:
A. M._ exerce la profession d'opérateur en chimie au service de l'entreprise X._ S.A. Le 10 septembre 2008, il a déposé une demande de prestations de l'assurance-invalidité tendant à l'octroi de mesures de réadaptation professionnelle ou d'une rente, alléguant en particulier souffrir des séquelles d'une intervention chirurgicale au tendon d'Achille gauche, d'une tendinite au tendon d'Achille droit et d'un infarctus.
Dans un rapport du 26 janvier 2009, le docteur T._, médecin au Service médical régional AI, a attesté que l'assuré n'avait plus de capacité de travail dans son activité habituelle d'opérateur en chimie depuis le 21 mai 2008, mais qu'il conservait une capacité entière dans une activité adaptée, à savoir un travail sédentaire ou sémi-sedentaire tenant compte de ses limitations fonctionnelles. Le 6 février 2009, l'Office cantonal de l'assurance-invalidité du canton de Genève (ci-après: OAI-GE) a informé l'assuré que des mesures de réadaptation n'étaient momentanément pas envisageables en raison de son état de santé, mais qu'elles pourraient faire l'objet d'une nouvelle analyse ultérieurement; l'administration a précisé qu'elle examinait le droit à d'autres prestations de l'AI. Dans une évaluation du 16 février 2009, l'OAI-GE a fixé le taux d'invalidité à 48,4 %.
Le 27 mai 2009, l'OAI-GE a pris en charge une mesure de réentraînement au travail, laquelle a été mise en oeuvre sous la forme d'un stage de six mois, du 4 mai au 8 novembre 2009, auprès de X._ S.A. Depuis le 20 juillet 2009, l'assuré a travaillé à 100 % (reprise thérapeutique); il a perçu des indemnités journalières pendant la durée du stage (décision de l'OAI-GE du 9 juillet 2009). A partir du 1er novembre 2009, M._ a été réintégré définitivement au sein de l'entreprise, le poste de travail ayant été aménagé en fonction de ses limitations; son salaire de 7'493 fr., versé treize fois l'an et majoré des primes d'équipe mensuelles de 1'124 fr., est resté inchangé.
Par lettre du 11 mai 2010, l'assuré a fait savoir à l'OAI-GE que son employeur avait supprimé la prime d'équipe de 1'124 fr. avec effet au 30 avril 2010; il a invité l'administration à examiner la question du versement d'indemnités journalières. Dans un projet de décision du 28 mai 2010, l'OAI-GE a nié le droit de l'assuré à des prestations de l'AI, compte tenu du succès de la mesure de réadaptation et de l'absence de perte de gain. Par décision du 16 juillet 2010, l'Office AI pour les assurés résidant à l'étranger (ci-après: OAIE), désormais compétent, a rejeté la demande de prestations de l'AI. Il a précisé que la suppression des primes d'équipe résultait de motifs économiques et étrangers à l'invalidité et qu'elle n'engendrait pas de perte économique justifiant de nouvelles prestations de l'AI.
B. M._ a déféré cette décision au Tribunal administratif fédéral en concluant principalement à l'allocation d'une demi-rente d'invalidité, subsidiairement à ce que sa capacité de gain soit à nouveau évaluée.
Il a été débouté par jugement du 24 avril 2012.
C. M._ interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation, avec suite de dépens, en concluant à titre principal au versement d'une demi-rente d'invalidité au moins, subsidiairement au renvoi de la cause à l'OAIE pour mise en oeuvre d'une nouvelle évaluation de sa capacité de gain.
L'intimé et l'Office fédéral des assurances sociales n'ont pas été invités à se déterminer.

Considérant en droit:
1. Le présent litige porte sur le degré d'invalidité du recourant.
Le jugement entrepris expose correctement les dispositions légales et les principes jurisprudentiels applicables à la solution du cas, de sorte qu'il suffit d'y renvoyer.
2. 2.1 Le recourant reproche au Tribunal administratif fédéral de n'avoir pas vérifié si la suppression de la prime d'équipe mensuelle de 1'124 fr. était en lien avec son état de santé ou si elle résultait plutôt de motifs économiques. A son avis, cette perte serait la conséquence directe des restrictions imposées pour des raisons médicales qui lui ôteraient la flexibilité nécessaire pour continuer à travailler selon les anciens horaires de service et donc la possibilité de bénéficier de la prime d'équipe.
2.2 Le rôle principal de l'assurance-invalidité consiste à éliminer ou atténuer les effets préjudiciables d'une atteinte à la santé sur la capacité de gain de la personne assurée. L'objectif de la réinsertion dans la vie professionnelle active est au premier plan, le versement de prestations en espèces n'arrivant qu'en second (arrêt 9C_602/2009 du 21 décembre 2009, consid. 4.1). D'après le principe de la priorité de la réadaptation sur la rente, aucune rente ne saurait être allouée dès lors qu'une mesure de réadaptation est susceptible d'avoir une incidence sur la capacité de gain de la personne assurée (arrêts 9C_368/2010 du 31 janvier 2011 consid. 5.2.2.1 et 9C_163/2009 du 10 septembre 2010 consid. 4.2.2 et les arrêts cités [SVR 2011 IV n° 30 p. 88]).
Dans le cas d'espèce, la mesure de réadaptation a été couronnée de succès, dès lors que le recourant a pu réintégrer sa place de travail et conserver son ancien salaire. La question de savoir si le recourant a subi une perte de gain par la suppression de la prime d'équipe peut toutefois demeurer ouverte. En effet, même en tenant compte de cette suppression, on parviendrait à un degré d'invalidité de 13 % (résultant de la comparaison d'un salaire mensuel sans invalidité 8'617 fr. avec un gain d'invalide de 7'493 fr.), soit un taux largement inférieur au seuil de 40 % ouvrant droit à la rente (<ref-law>), voire à celui de 20 % environ nécessaire pour bénéficier d'une mesure de reclassement (<ref-ruling>). Dans ce contexte, le taux d'invalidité de 48,4 % (calculé le 16 février 2009) n'a aucune incidence pour l'issue du litige, dès lors que la mesure professionnelle n'avait pas encore débuté (cf. <ref-law>) et que les conditions de l'<ref-law> n'étaient pas réalisées.
3. 3.1 Dans un autre moyen, le recourant estime qu'il est choquant que l'autorité précédente n'ait pas pris en compte la perte économique qu'il aurait subie dans l'éventualité où il n'aurait pas déployé d'efforts pour éviter de perdre sa place de travail chez X._ S. A. Il souligne que son engagement et sa volonté de conserver son emploi lui ont permis de ne pas être mis au bénéfice de la rente fondée sur le degré d'invalidité de 48,4 % calculé avant l'achèvement de la mesure de réinsertion.
3.2 Dans le domaine de l'assurance-invalidité, on applique de manière générale le principe selon lequel une personne invalide doit, avant de requérir des prestations, entreprendre de son propre chef tout ce qu'on peut raisonnablement attendre d'elle pour atténuer le mieux possible les conséquences de son invalidité; c'est pourquoi un assuré n'a pas droit à une rente lorsqu'il serait en mesure, au besoin en changeant de profession, d'obtenir un revenu excluant une invalidité ouvrant droit à une rente. La réadaptation par soi-même est un aspect de l'obligation de diminuer le dommage et prime aussi bien le droit à une rente que celui à des mesures de réadaptation (<ref-ruling> consid. 3.2 p. 209).
En l'espèce, le recourant a pleinement satisfait à son obligation de réduire le dommage et ne subit plus de perte de gain susceptible de justifier l'octroi de prestations de l'AI, que ce soit une rente ou un reclassement. Il s'ensuit que le versement d'une rente, que l'on pourrait assimiler à une forme de "récompense", viderait le principe de l'obligation de réduire le dommage de son sens et procéderait d'une violation manifeste de la lettre et de l'esprit de la loi (<ref-law> et 28 al. 2 LAI).
4. Vu ce qui précède, il n'y a pas lieu de s'écarter du jugement du Tribunal administratif fédéral ni de lui renvoyer la cause pour qu'il complète l'instruction et statue à nouveau.
5. Compte tenu de l'issue du litige, les frais judiciaires sont mis à la charge du recourant (<ref-law>) qui ne saurait prétendre des dépens (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. Les frais judiciaires, arrêtés à 500 fr., sont mis à la charge du recourant.
3. Le présent arrêt est communiqué aux parties, au Tribunal administratif fédéral et à l'Office fédéral des assurances sociales.
Lucerne, le 5 novembre 2012
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
Le Président: Meyer
Le Greffier: Berthoud