From advice I've been given (obviously take it with a grain of salt because everyone always has different situations and outcomes), that GPA is a red flag. Obviously a near perfect MCAT score/very good, like you said (515+) will obviously alleviate concerns of ADCOMS but not completely. A 2.9 stands out as "Will s/he be able to handle the rigorous medical school curriculum" since GPA and MCAT scores seem to be heavily weighted in ADCOMS at this time. That being said, in order to boost your chances, as pms_testosterone said, "take more courses ... get good grades in them", maybe a Post-Bac is necessary to prove you can handle those Med school classes.
As an addition: a GPA is a GPA, just because you're "Top 20 competitive undergrad" that doesn't necessarily give you a pass. From experiences I've had and heard of, just because you're from a "competitive" undergrad gives nobody a free pass. If you can rightfully justify your 2.9 in a personal statement, and you feel that justification can be heard in ADCOMs, then go for it, you can probably compete at at least the DO level. Your degree is in Comp sci, so what exactly is making it the 2.9? Is it the science/pre-med requirements if you're taking those? or is it your comp-sci courses?
Good luck with everything and I hope it works out!