summaryrefslogtreecommitdiffstats
path: root/src/net/java/games/gluegen/runtime/ProcAddressHelper.java
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2005-01-31 01:09:48 +0000
committerKenneth Russel <[email protected]>2005-01-31 01:09:48 +0000
commiteb6ed9455e33975a9933b6ccf98ac9810a63683a (patch)
treed5d6e919169f2412e926e6e1c75375cd65f22f66 /src/net/java/games/gluegen/runtime/ProcAddressHelper.java
parentd78bfcde3e1e860568ab4e8045ffe279f5d144b7 (diff)
Fixed Issue 118: EXCEPTION_ACCESS_VIOLATION on show of 2nd canvas (ATI-specific)
The root cause of this bug was not the new DummyGL code, but severe bugs in ATI's OpenGL drivers where it appears that if an OpenGL context is ever made current on more than one thread during the lifetime of an application, problems begin to occur such as the SetPixelFormat call failing on the just the next newly-created HDC, or all subsequent SetPixelFormat calls failing on all subsequently-created HDCs. This was occurring because the single-threaded ATI workaround's automatic detection mechanism was not being enabled until the first time a context was made current, but by then it was typically too late; the context was made current on the end user's thread during e.g. Frame.show(), and if it was ever made current on another thread (like the AWT event queue thread, which is where all OpenGL operations are performed when the single-threaded workaround is enabled) then the problems would begin. The failure has only been seen on Windows so far; ATI's drivers on X11 seem to be better behaved. The workaround is to check for the presence of ATI's drivers very early during JOGL's initialization, by looking in the system directory for atioglxx.dll, and enabling the single-threaded workaround if it was found. This workaround causes the attached test case to work properly. Also added some more debugging code to make diagnosing problems like these easier in the future. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@196 232f8b59-042b-4e1e-8c03-345bb8c30851
Diffstat (limited to 'src/net/java/games/gluegen/runtime/ProcAddressHelper.java')
0 files changed, 0 insertions, 0 deletions