United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6614214 D3D: the pipeline does not enumerate adapters correctly
JDK-6614214 : D3D: the pipeline does not enumerate adapters correctly

Details
Type:
Bug
Submit Date:
2007-10-08
Status:
Closed
Updated Date:
2010-10-14
Project Name:
JDK
Resolved Date:
2007-10-23
Component:
client-libs
OS:
windows_xp
Sub-Component:
2d
CPU:
generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
6u5
Fixed Versions:
6u10 (b06)

Related Reports

Sub Tasks

Description
In the pipeline we assume that the numeration of the d3d
adapters is the same as GDI monitors. This may not be the case
if the user changed the primary display in the control panel.

This happens quite often on notebooks which are connected to 
external monitors - the external monitor often becomes the
primary.

The result of this is that the pipeline could create surfaces
on wrong devices. Also, a full-screen window may appear on
the wrong screen (since wrong device will enter the FS mode).

                                    

Comments
EVALUATION

As per description.

To fix this, when creating a surface we'll convert the GDI
screen number to the d3d adapter number.

Another improvement is better detection of addition
and removal of displays. Currently we only recreate
the pipeline if the new number of displays is different
from the current one, in which case we re-init the
pipeline.

But this will not work in all cases: if the user added one
monitor and removed another at the same time, for example.

To detect this case we will compare the new the monitor handles
which change when new monitor is added/removed, to the ones
we have already.
                                     
2007-10-08
SUGGESTED FIX

http://sa.sfbay.sun.com/projects/java2d_data/6u5/6614214.0
                                     
2007-10-09



Hardware and Software, Engineered to Work Together