Citation: 6B_1231/2018 E. 3

Il s'ensuit que le recours doit être partiellement admis (cf. supra consid. 2.2 et 2.3), l'arrêt attaqué annulé et la cause renvoyée à l'autorité précédente pour nouvelle décision. Pour le surplus, le recours est rejeté dans la mesure où il est recevable. Le recourant, qui n'obtient que partiellement gain de cause, doit supporter une partie des frais (art. 65 al. 2 et 66 al. 1 LTF). Il peut prétendre à des dépens réduits à la charge du canton de Genève (art. 68 al. 1 LTF), lequel est dispensé de tout frais (art. 66 al. 4 LTF). Par ces motifs, le Tribunal fédéral prononce :