JDK-6253734 : OGL: Java2Demo demos.Transforms.SelectTx shows thin black outline with Render Quality attribute
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 6
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2005-04-12
  • Updated: 2010-04-02
  • Resolved: 2005-04-12
Related Reports
Duplicate :  
Description
With OGL enabled, running Java2Demo, Transforms Tab, demos.Transforms.SelectTx demo shows a thin black (hairline) outline within the animated duke yellow box.

- The hairline outline appears as a thin black line just inside the borders of the animated yellow box (with the Duke image).

- The outline appears as soon as the "Rendering Quality" attribute is enabled (it makes no difference if anti-aliasing is enabled).

- With latest 2d PIT build, 03-2005-04-09.mustang, the bug is reproducible always.  Unable to reproduce with prior Mustang Promoted build 1.6.0-b31.

- Only seeing the bug with OGL enabled

- The bug seems to be generic for all platforms as it's reproducible on WinXP, Solaris, and Linux.

Steps to reproduce:
==================
1) Set JAVA_HOME environment variable
2) Launch Java2Demo with OGL
$JAVA_HOME/bin/java -Dsun.java2d.opengl=True -jar Java2Demo.jar

3) Click on the Transforms Tab
4) Click on the Global Control "Rendering Quality"

The hailine border will appear in the animated yellow box with duke image.

###@###.### 2005-04-12 00:36:24 GMT

Comments
EVALUATION This is actually an existing bug that has been made more visible in the SelectTx demo due to the recent fix for 6240664. The SelectTx demo uses createImage() to create the Duke image that is transformed by the demo. Before the fix for 6240664, that image would have been backed by a pbuffer. So when the "Render Quality" box is checked, we would read back from that pbuffer into a sysmem-based image, and then transform that (with bilinear filtering) image to the screen using our software transform loops. After the fix for 6240664, createImage() returns a regular managed image, so that image is first cached in an OpenGL texture, and then we transform the texture to the screen using OpenGL. The black lines seen here are caused by an existing bug (5009033) in the way we transform textures when bilinear filtering is enabled. This same problem is seen in other demos, such as FireStarter. Closing as a dup of the existing bug. ###@###.### 2005-04-12 02:51:52 GMT
12-04-2005