JDK-4507322 : REGRESSION: Transformed image copies wrong in 16 bpp on win32
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 1.4.0,1.4.1
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS:
    linux,windows_nt,windows_2000,windows_xp linux,windows_nt,windows_2000,windows_xp
  • CPU: x86
  • Submitted: 2001-09-26
  • Updated: 2003-10-12
  • Resolved: 2003-10-12
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Relates :  
Description
On win32, set the display to 16 bpp.
Run the SelectTx demo of Java2Demo:
	java -cp Java2Demo.jar demos.java2d.Transforms.SelectTx
Note how Duke does not look right - most of the image looks translucent or
simply colored wrong.

Comments
EVALUATION Delta 1.71 or awt_ImagingLib.c (on 8/7/01) changed how we manipulate the bytes of an image. Apparently this was a fix for an endian problem on Solaris x86. However, this change created an endian problem on win32; if we go back to the old version of this file, the SelectTx bug no longer appears. Also, if we reverse the order that we store the byte values in in the function that was changed the bug goes away (we now increment outP - if we decrement outP per int value we don't see the bug). I'm not sure of the proper fix to this problem to solve the endian problem across platforms; forward the bug to someone that might know better. ###@###.### 2001-09-26 Name: abR10136 Date: 10/11/2003 This bug was fixed as part of bug 4886732. The fix idea was to assemble/disassemble integer pixel vaues by using shifting and masking and to avoid the direct manipulation of the byte components. ======================================================================
21-08-2004