JDK-7181438 : [OGL] Incorrect alpha used, during blit from SW to the texture.
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 7u6
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: os_x
  • CPU: x86
  • Submitted: 2012-07-03
  • Updated: 2013-06-26
  • Resolved: 2012-07-24
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.
7u40Fixed 8 b49Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
I found this bug when I implemented the shaped windows on macosx(7124244). 
Before 7124244 we always draw our transparent window to the BufferedImage and then blit it to the window surface(and this bug was invisible). But now we draw it directly to the window surface. So when we try to draw the BufferedImage to the surface 2 times, we see incorrect result. This happen because for the first drawImage we use SWtoSurfaceBlit and for the second we use SWtoTextureBlit(when "managed buffered image" enabled).

I assume that code for alpha verification should be the same for both blits(see suggested fix).

Small testcase attached. It is passed on jdk6 on macosx and on non opengl pipelines in jdk 7, tested on ubuntu and windows 7.


EVALUATION http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/4624486823a7

EVALUATION We should use correct alpha.

SUGGESTED FIX http://hg.openjdk.java.net/jdk8/awt/jdk/rev/4624486823a7