[OpenJDK 2D-Dev] [8] request for review: 7124347: [macosx] "java.lang.InternalError: not implemented yet" on call Graphics2D.drawRend

Andrew Brygin andrew.brygin at oracle.com
Mon Nov 26 12:38:01 UTC 2012


  could you please review a fix for 7124347?

  This fix does not implement getRater() in ogl surfaces.
  Instead, it provides a blit for custom composite, which
  prepares a snapshot of the destination surface (which
  is one of ogl surfaces) and delegates the work to the
  general blit, which now extracts raster from the snapshot.
  A result of general blit's work is transferred to the
  original destination.

  Changes in OGLSurfaceDataProcy are required in order to prevent
  getting an accelerated copy of original source image as an
  operand of the blit. Now we first check for composite type,
  and only then (if composite is not specified, or is a kind
  of alpha composite) we take into account other conditions.

  So this fix does not change anything for the case of alpha composites
  but affects only XOR and custom composites case.

  Note that the fix solves the problem only for the case of blits
  (i.e. drawImage()). Other operations may result into the same
  problem if custom composite is used. However, in case of XOR,
  this change solves the problem completely, because other rendering
  operations in the ogl pipeline are ready for XOR composite.

  Supplied regression test verifies that the fix makes the problem gone.
  I have verified both windows and macosx platforms.

  Please take a look and share your comments.

Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124347
Webrev: http://cr.openjdk.java.net/~bae/7124347/8/webrev.00/


More information about the 2d-dev mailing list