I would prime before painting.
But, before you do that, you should check the ceiling by shining a bright light on it at a sharp angle to the ceiling. The sharp lighting angle will make any little bumps and ridges stand out like mountains, making them easy to find. Scrape them off with a tungsten carbide paint scraper (which are sharp enough to easily scrape off texture, but not sharp enough to damage plaster or drywall unintentionally).
PS: (you don't need to know the rest)
Most latex and oil based primers will call themselves "Primer/Sealer"s. The reason why is because in your case, you don't really need a primer, you need a sealer. A primer is a coating that not only sticks well to the substrate, but improves the adhesion of the top coat. A sealer is something that prevents fluid (gas or liquid) movement into or out of the substrate. In paints, both of these functions are accomplished by "extender pigments" which are huge rocks that are almost large enough to see with the naked eye. As the primer is drawn into the porous surface of the substrate by capillary action, it's those huge rocks that plug up the porous surface of the substrate (sealing). Those very same rocks are what cause the primer to dry to a rough surface, thereby providing "tooth" for better adhesion of the top coat (priming).
Since those huge rocks do both jobs in both latex and oil based primers, most primers call themselves "Primer/Sealer"s. Grout sealers, for example, don't have big rocks in them that cause them to dry to a matte finish unless they are advertised as Matte Sealers. If they are advertised as drying to a matte finish, it's because they do have those big rocks in them. They're still not primers because the purpose of them rocks causing the sealer to dry rough is NOT to improve adhesion of a subsequent top coat, it's purely esthetic. There's no top coat in the game plan.
Hope this helps.