Currently we use CGL to get GPU information, which is very vague. For example, for NVIDIA cards, it only tells whether the card is a Geforce 8 or newer, or not. We need to switch to using IOKit like Chrome does: bug 678053 comment 3: "We use IOKit to scan for PCI-based GPUs. See http://src.chromium.org/viewvc/chrome/trunk/src/content/gpu/gpu_info_collector_mac.mm?view=markup " Once this is done, we can stop blacklisting all Geforce 7 and older cards (bug 678053) and only blacklist the cards known to have issues (Geforce 7300 GT).
Created attachment 561598 [details] [diff] [review] Use IOKit some
This patch borrows some of the code from Chromium. It doesn't try to detect dual GPU situations and assumes that CGDisplayIOServicePort(kCGDirectMainDisplay) will do the correct thing. This assumption is supported by testing.