JDK-6653860 : D3D: rendering artifacts with the pipeline on [NVIDIA Quadro PCI-E Series]
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 6u10
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2008-01-23
  • Updated: 2010-10-14
  • Resolved: 2008-03-04
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6
6u10 b13Fixed
Description
Swing applications have rendering artifacts on this board.
It is likely due to driver bugs.

The system does have the latest driver available for this
board for WinXP.

Unfortunately this version is way behind the latest driver 
available for Quadro boards:
This one has version
    6.14.10.6127
while the current on nvidia.com one is
    6.14.11.9136

(This driver is for Nvidia Quadro NVS 280 which is the same
chip as "PCI-E series" - only the chip revision is different)

It might work for this chip as well - needs testing.

C:\>java -version
java version "1.6.0_10-ea"
Java(TM) SE Runtime Environment (build 1.6.0_10-ea-b09)
Java HotSpot(TM) Client VM (build 11.0-b09, mixed mode, sharing)

[I] OS Version = OS_WINXP Pro
[I] CheckAdaptersInfo
[I] ------------------
[I] Adapter Ordinal  : 0
[I] Adapter Handle   : 0x10001
[I] Description      : NVIDIA Quadro PCI-E Series
[I] GDI Name, Driver : \\.\DISPLAY1, nv4_disp.dll
[I] Vendor Id        : 0x10de
[I] Device Id        : 0x00fd
[I] SubSys Id        : 0x21510de
[I] Driver Version   : 6.14.10.6127
[I] GUID             : {D7B71E3E-43BD-11CF-8164-1F2203C2CB35}
[I] D3DPPLM::CheckDeviceCaps: adapter 0: Passed
[I] ------------------
[I] Adapter Ordinal  : 1
[I] Adapter Handle   : 0x10003
[I] Description      : NVIDIA Quadro PCI-E Series
[I] GDI Name, Driver : \\.\DISPLAY2, nv4_disp.dll
[I] Vendor Id        : 0x10de
[I] Device Id        : 0x00fd
[I] SubSys Id        : 0x21510de
[I] Driver Version   : 6.14.10.6127
[I] GUID             : {D7B71E3E-43BD-11CF-8164-1F2203C2CB35}
[I] D3DPPLM::CheckDeviceCaps: adapter 1: Passed
[I] ------------------
[I] D3DGD_getDeviceCapsNative
[I] D3DContext::InitContext device 0
[I] D3DContext::ConfigureContext device 0
[V] dwBehaviorFlags=D3DCREATE_FPU_PRESERVE|D3DCREATE_HARDWARE_VERTEXPROCESSING
[I] D3DContext::ConfigureContext: successfully created device: 0
[I] D3DContext::InitDevice: device 0
[I] D3DContext::InitDefice: successfully initialized device 0
[V]   | CAPS_DEVICE_OK
[V]   | CAPS_RT_PLAIN_ALPHA
[V]   | CAPS_RT_TEXTURE_ALPHA
[V]   | CAPS_RT_TEXTURE_OPAQUE
[V]   | CAPS_LCD_SHADER | CAPS_BIOP_SHADER | CAPS_PS20
[V]   | CAPS_MULTITEXTURE
[V]   | CAPS_TEXNONSQUARE
[I] D3DGD_getDeviceCapsNative
[I] D3DContext::InitContext device 1
[I] D3DContext::ConfigureContext device 1
[V] dwBehaviorFlags=D3DCREATE_FPU_PRESERVE|D3DCREATE_HARDWARE_VERTEXPROCESSING
[I] D3DContext::ConfigureContext: successfully created device: 1
[I] D3DContext::InitDevice: device 1
[I] D3DContext::InitDefice: successfully initialized device 1
[V]   | CAPS_DEVICE_OK
[V]   | CAPS_RT_PLAIN_ALPHA
[V]   | CAPS_RT_TEXTURE_ALPHA
[V]   | CAPS_RT_TEXTURE_OPAQUE
[V]   | CAPS_LCD_SHADER | CAPS_BIOP_SHADER | CAPS_PS20
[V]   | CAPS_MULTITEXTURE
[V]   | CAPS_TEXNONSQUARE

Comments
SUGGESTED FIX http://sa.sfbay.sun.com/projects/java2d_data/6u10/6653860.0
22-02-2008

EVALUATION I'll check in a fix for this bug restricting the pipeline to drivers with version at least 6.14.10.6573 or newer on WinXP.
21-02-2008

EVALUATION I have found this page with the archive of old nvidia drivers: http://www.nvidia.com/object/winxp-2k_archive.html I have tried one revision newer than the one on the customer machine - 61.76 (July 2004), and it worked fine. I haven't been able to reproduce any artifacts with jdk demos or the customer's applet. The closes older driver to customer's 61.27 is 56.72 and it didn't work for this board (after installing it the adapter was identified as unaccelerated VGA Adapter). So either the customer was lucky to end up with the only driver that didn't work well or I can't reproduce the problem. Anyway, here's a direct download page for the latest driver: http://www.nvidia.com/object/winxp_169.61.html
19-02-2008

EVALUATION I have installed the same video board into the test system with Windows XP. Somehow I ended up with a slightly newer driver than the customer's. I didn't install a newer driver though, it was whatever driver for this board was found in the system. It could be that it's newer because I had other nvidia boards in this system before and installed drivers for those (Nvidia's uses unified driver architecture so the same driver can be used for pretty much any recent board). Output with J2D_TRACE_LEVEL=4 : [I] CheckAdaptersInfo [I] ------------------ [I] Adapter Ordinal : 0 [I] Adapter Handle : 0x10001 [I] Description : NVIDIA Quadro PCI-E Series [I] GDI Name, Driver : \\.\DISPLAY1, nv4_disp.dll [I] Vendor Id : 0x10de [I] Device Id : 0x00fd [I] SubSys Id : 0x21510de [I] Driver Version : 6.14.10.6573 [I] GUID : {D7B71E3E-43BD-11CF-C36A-1F2203C2CB35} Unfortunately I couldn't reproduce the rendering artifacts using 6u10 b11 (with a newer plugin, the one in promoted b11 had issues loading the applet) on this setup. It could be that the newer driver fixed the issue, or that I don't know the exact steps to cause the bug to manifest. I will need more information from the customer about how to reproduce the bug. Also, one can install the very latest nvidia driver from this website (they patch the .inf files allowing to install the driver on pretty much any nvidia board): http://www.laptopvideo2go.com/drivers (note that even though it says "laptop" they have drivers for all systems)
30-01-2008

EVALUATION Driver bug. Need to find out if the latest driver for NVS 280 (same chip, different revision) addresses this issue.
23-01-2008