Bug 106 - JOGL fails to startup on Inter extreme graphics hardware - Exception with wglGetPixelFormatAttribivARB
Summary: JOGL fails to startup on Inter extreme graphics hardware - Exception with wgl...
Status: VERIFIED FIXED
Alias: None
Product: Jogl
Classification: JogAmp
Component: core (show other bugs)
Version: 1
Hardware: All windows
: P5 normal
Assignee: Sven Gothel
URL:
Depends on:
Blocks:
 
Reported: 2004-08-30 01:46 CEST by Sven Gothel
Modified: 2010-03-24 07:46 CET (History)
0 users

See Also:
Type: DEFECT
SCM Refs:
Workaround: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sven Gothel 2010-03-24 07:46:53 CET


---- Reported by bjannu 2004-08-30 13:46:24 ----

JOGL doesn work on Intel extreme graphics (its shared memory graphics hardware).

any JOGL apps fails to start up. 
following is the exception.

------------------------------------------------------------------

net.java.games.jogl.GLException: Unable to enumerate pixel formats of window
using wglGetPixelFormatAttribivARB: 0
	at
net.java.games.jogl.impl.windows.WindowsGLContext.choosePixelFormatAndCreateContext(WindowsGLContext.java:412)
	at
net.java.games.jogl.impl.windows.WindowsOnscreenGLContext.create(WindowsOnscreenGLContext.java:211)
	at
net.java.games.jogl.impl.windows.WindowsGLContext.makeCurrent(WindowsGLContext.java:135)
	at
net.java.games.jogl.impl.windows.WindowsOnscreenGLContext.makeCurrent(WindowsOnscreenGLContext.java:110)
	at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:254)
	at net.java.games.jogl.GLCanvas.reshape(GLCanvas.java:112)
	at java.awt.Component.setBounds(Component.java:1664)
	at java.awt.GridBagLayout.ArrangeGrid(GridBagLayout.java:1519)
	at java.awt.GridBagLayout.arrangeGrid(GridBagLayout.java:1337)
	at java.awt.GridBagLayout.layoutContainer(GridBagLayout.java:706)
	at java.awt.Container.layout(Container.java:1020)
	at java.awt.Container.doLayout(Container.java:1010)
	at java.awt.Container.validateTree(Container.java:1092)
	at java.awt.Container.validateTree(Container.java:1099)
	at java.awt.Container.validateTree(Container.java:1099)
	at java.awt.Container.validateTree(Container.java:1099)
	at java.awt.Container.validateTree(Container.java:1099)
	at java.awt.Container.validate(Container.java:1067)
	at java.awt.Window.pack(Window.java:444)
	at cseo.viz.app.psiviewer.PsiViewerFrame.<init>(PsiViewerFrame.java:485)
	at cseo.gui.DesktopFrame.initPsiViewer(DesktopFrame.java:709)
	at cseo.gui.DesktopFrame.actionPerformed(DesktopFrame.java:1001)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
	at
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
	at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
	at java.awt.Component.processMouseEvent(Component.java:5100)
	at java.awt.Component.processEvent(Component.java:4897)
	at java.awt.Container.processEvent(Container.java:1569)
	at java.awt.Component.dispatchEventImpl(Component.java:3615)
	at java.awt.Container.dispatchEventImpl(Container.java:1627)
	at java.awt.Component.dispatchEvent(Component.java:3477)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
	at java.awt.Container.dispatchEventImpl(Container.java:1613)
	at java.awt.Window.dispatchEventImpl(Window.java:1606)
	at java.awt.Component.dispatchEvent(Component.java:3477)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
	at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)



---- Additional Comments From kbr 2005-01-26 17:50:16 ----

This has been fixed by providing a fall-through path in
WindowsGLContext.choosePixelFormatAndCreateContext(); if
wglGetPixelFormatAttribivARB fails with an error code of 0, it falls back to
using ChoosePixelFormat.

This allows at least simple JOGL programs to work on Intel Extreme graphics
hardware. Note that issues have still been seen where if any OpenGL rendering is
done from the AWT thread, attempting to swap the buffers on another thread will
fail. This is a bug in Intel's drivers that can be worked around with careful
organization of the application's JOGL initialization code.




--- Bug imported by sgothel@jausoft.com 2010-03-24 07:46 EDT  ---

This bug was previously known as _bug_ 106 at https://jogl.dev.java.net/bugs/show_bug.cgi?id=106

The original assignee of this bug does not have
   an account here. Reassigning to the default assignee
   for the component, sgothel@jausoft.com.
   Previous assignee was gkw.