James McAvoy and Anya Taylor-Joy in Glass. Image Credit: AP

‘Glass’ proved shatter-proof atop North American box offices for a third straight week, earning $9.5 million (Dh34.8 million), industry estimates showed on Sunday.

Directed and financed by M Night Shyamalan, Universal’s superhero thriller unites narratives from his ‘Unbreakable’ (2000) and ‘Split’ (2016).

Much of the film, starring Bruce Willis, Samuel L Jackson and James McAvoy, takes place in a psychiatric facility.

Keeping it company in the number two spot was buddy drama ‘The Upside,’ with earnings of $8.9 million over the three-day weekend, according to industry tracker Exhibitor Relations.

‘The Upside’ stars Bryan Cranston as a wealthy quadriplegic who hires ex-convict Kevin Hart as his caretaker.

‘Miss Bala,’ in which Gina Rodriguez features as a Los Angeles Latina who finds herself mixed up in the dark world of drug trafficking on the Mexican border, made its entry at third place to earn $6.7 million.

Catherine Hardwicke directs this remake of the 2011 Mexican original.

Rodriguez, Golden Globe-winning star of the TV comedy ‘Jane the Virgin,’ is among 95 per cent of the film’s cast and crew who are Latino — which is still something of a Hollywood rarity but a figure Rodriguez hopes will become more normal.