Rupert Everett says he lost out on three or four roles in big Hollywood films because he is gay.
The actor described the film industry as "aggressively heterosexual", adding that gay performers are treated like second-class citizens.
"There's tons of roles that I haven't got for lots of different reasons, some of them probably for not being a good enough actor or doing a lousy audition, all that counts," Everett said.
"But there were three or four big films, when I was successful, that the director and the other actors wanted me to be in and that I was absolutely blocked from by a studio, just for the fact of being gay."
The star of My Best Friend's Wedding and the St Trinian's films now serves as the writer, director and star of The Happy Prince, in which he plays Oscar Wilde living in exile after his release from prison.
"I think my career as a writer would not have happened if I had been heterosexual, active, working non-stop," he said.
"Maybe things are changing a bit now, things are loosening up and I hope they go further.
He thinks gay actors still exist for a "certain function".
"My function was as a gay best friend, a confidante, a kind of hairdresser, constantly there with the curling tongs, which is fair enough but as a performer there is not very far you can go with that before you bore everyone s**tless," he said.
The Happy Prince is released in London on June 15.
Australian Associated Press