Closed Bug 591057 Opened 10 years ago Closed 9 years ago

Handle multiple GPUs in about:support

Categories

(Core :: Graphics, defect)

x86
Windows 7
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla8

People

(Reporter: jrmuizel, Assigned: ajuma)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file, 2 obsolete files)

Currently we only show the primary device detected at start up. I'm not sure how this interacts with multiple gpus.
Blocks: 628129
Assignee: nobody → ajuma
This is a revised version of Attachment 544601 [details] [diff] from Bug 628129.

This patch checks the Windows registry for the presence of dual GPUs. If dual GPUs are present:
-D3D9 is used to determine which GPU is active
-both the active and inactive GPUs are listed in about:support and in crash reports

There are no changes to the blacklisting logic. The current objective is to identify dual GPU systems and gather information that will help us decide whether we should later change the blacklisting logic to rely on what D3D9 tells us.
Attachment #549122 - Flags: review?(jmuizelaar)
Comment on attachment 549122 [details] [diff] [review]
Identify active GPU in about:support and crash reports

Yes please.
Attachment #549122 - Flags: review?(jmuizelaar) → review+
Patch updated to include stubs for GetAdapter*2, GetDriver*2, and GetIsGPU2Active in all non-Windows implementors of GfxInfo.
Attachment #549122 - Attachment is obsolete: true
Attachment #551742 - Flags: review?(jmuizelaar)
Attachment #551742 - Flags: review?(jmuizelaar) → review+
http://hg.mozilla.org/mozilla-central/rev/02d5f1c5d438
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla8
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
This regression was surprising since the likely cause of it -- the D3D9 code -- should only run on machines where multiple GPUs are detected, but the Talos machines have a single GPU.

It turns out that the Windows registry on the Talos machines has entries for two display devices, even though there is only one GPU actually present (the additional entry is for an Intel 945GM). As a result, the D3D9 code is being run on the Talos machines. I verified that the D3D9 code increases Ts by about 4.1%, accounting for the entire regression. 

Since the display device entries in the registry seem to retain stale information, we need a better way to determine which GPUs are actually present on a machine.
This is the previous patch without any D3D9 code. That is, when the Windows registry lists more than one GPU, both GPUs will be included in about:support and in crash reports. However, no attempt is made to determine which GPU is currently active.

This seems like a reasonable approach to use for now, while we are still investigating better approaches.
Attachment #551742 - Attachment is obsolete: true
Attachment #553216 - Flags: review?(jmuizelaar)
Attachment #553216 - Attachment description: Lisst both GPUs in about:support and crash reports → List both GPUs in about:support and crash reports
Attachment #553216 - Flags: review?(jmuizelaar) → review+
http://hg.mozilla.org/mozilla-central/rev/f597467fac5e
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
I've filed a follow-up bug (Bug 679110) for improving the way we determine which GPUs are actually present.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.