JDK-5008045 : OGL: add OpenGL-based pipeline for Windows
  • Type: Enhancement
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 5.0
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2004-03-04
  • Updated: 2004-04-06
  • Resolved: 2004-04-06
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.
5.0 b46Fixed
Related Reports
Relates :  
We should add an (alternate) OpenGL-based Java 2D pipeline for Windows.
Initially this will be enabled only by a flag (similar to the current situation
on Solaris and Linux).  This pipeline has the potential to offer better
performance (in some cases) than the existing GDI/DD/D3D pipelines, and may
also integrate better with other OGL-based libraries, such as Java3D and JOGL.

CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: tiger-beta2 FIXED IN: tiger-beta2 INTEGRATED IN: tiger-b46 tiger-beta2

EVALUATION An initial prototype has been developed that demonstrates the viability of this pipeline. As we've found with the DirectDraw and Direct3D pipelines, there are many driver inconsistencies that can produce unexpected results with the OpenGL pipeline enabled (rendering artifacts, etc), so we'll have to deal with those eventually. There is one major difference in WGL compared to GLX: most drivers use the WGL_render_texture extension as the only approach to getting pbuffer contents to the screen (as opposed to the GLX/WGL_make_current_read approach). So it looks like we'll need a couple new blit loops that know how to get a RTT surface copied to another surface. ###@###.### 2004-03-04 The pipeline can be enabled with the -Dsun.java2d.opengl=true system property. There are still many video cards out there for which we cannot enable the OGL pipeline (required extensions not implemented by the drivers, etc). There are also many driver versions that can cause the OGL-based 2D pipeline to crash, so it is strongly recommended that this flag not be used for deployment purposes (e.g. in a JNLP descriptor). Future releases will automatically be able to determine whether the OGL pipeline can be enabled. For Tiger, this flag should be used for testing purposes only (so that developers can test their applications with the OGL pipeline and submit feedback so that we can refine the pipeline accordingly). ###@###.### 2004-03-30