For cottons for shirts - try in the men's tailoring shops, lots of colours and conservative patterns (checks, stripes, etc.) the fabric quality is excellent.

There is a very nice shop on Al Sadd (same side as Opera) near Larissa (I think) - they have lots of linens, cottons and silks but it is pricier.

hope that helps