aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* GLCapabilities enhancements: Choosing, All-Available, Data Handling (X11, ↵Sven Gothel2011-01-3138-1020/+1822
| | | | | | | | | | | | | | | | | | | | | | | | | | WGL and EGL) - GLDrawableFactory exposes: public final List/*GLCapabilitiesImmutable*/ getAvailableCapabilities(AbstractGraphicsDevice device) - GLCapabilities platform specialization containing native ids (XVisual/FBConfig, PFD, EGLConfig, ..) - GLCapabilities setPbuffer(true) disables onscreen - Capabilities setOnscreen(true) disables pbuffer - Capabilities implements Comparable - *Capabilities: enhanced 'toString(..)' - CapabilitiesChooser.chooseCapabilities: 'CapabilitiesImmutable[] available' -> 'List /*<CapabilitiesImmutable>*/ available' - VersionApplet, GLCanvas.main, GLWindow.main, GLProfile/debug: dumps all available GLCaps - WGLGLCapabilities: proper non-displayeble (pbuffer) pfdid handling TODO: ES/EGL test with emulation
* Fix: GLX exception message / sorted importsSven Gothel2011-01-314-7/+11
|
* AMD/X11: Added AMD/X11 workaroundSven Gothel2010-12-232-17/+52
| | | | | On AMD/X11 the create/destroy sequence must be the same even though this is agains the chicken/egg logic here ..
* Fix WindowClosingProtocol test, using new AWTRobotUtilsSven Gothel2010-12-233-79/+39
|
* TestCloseNewtAWT: Use new AWTRobotUtil.closeWindow()Sven Gothel2010-12-231-18/+2
|
* GLCanvas: lock/sync drawable usage ; remove destroyed refs (context, ↵Sven Gothel2010-12-231-17/+104
| | | | drawable, awtConfig) ; Try create/destroy AbstractGraphicsDevice on EDT
* Cleanup / DebugSven Gothel2010-12-234-5/+15
|
* NEWT: Add WindowListener.windowDestroyed() ; Remove WindowImpl.windowDestroyed()Sven Gothel2010-12-2316-58/+158
| | | | | | | | | | | | | Add WindowListener.windowDestroyed() To expose a proper window lifecycle, ie destroy-notify and destroyed, this notification is added. This will be used at least in unit tests, where we verify destruction. Remove WindowImpl.windowDestroyed(): This native hook (planned to be called by native destroy notification) is unreliable or not supported for all platforms. NEWT relies on the pre destroy native hooks and handles the final destroy notification itself.
* Always issue GLEventListener's initialization, if provoked by ctx creationSven Gothel2010-12-221-1/+8
|
* Fix WGL bitmap regression while fixing it ↵Sven Gothel2010-12-221-2/+1
| | | | (96a0e0706258824c1dd524d4cbd7682a904b84f4)
* JOGL/NEWT: Introduce WindowClosingProtocol (solves Bug/Request 444)Sven Gothel2010-12-1919-170/+1104
| | | | | | | | | | | | | | | | | Similar to JFrame's closing behavior, the following components window closing follow the new WindowClosingProtocol: - GLCanvas - GLJPanel - NEWT Window, GLWindow - NEWT NewtCanvasAWT The implementation obeys either 1) the user value set by this interface, 2) an underlying toolkit set user value (JFrame, ..) 3) or it's default, eg. {@link #DO_NOTHING_ON_CLOSE DO_NOTHING_ON_CLOSE} within an AWT environment. If none of the above determines the operation, this protocol default behavior {@link #DISPOSE_ON_CLOSE DISPOSE_ON_CLOSE} shall be used.
* Adding NVIDIA 'Threaded optimization' workaround/fix at initialization on ↵Sven Gothel2010-12-193-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows for javaws/applets. It has been observed that for some combinations, eg: - Windows 7 64bit (other variants may apply too) - NVIDIA 8600M GT - 260.99 the NVIDIA setting of 'Threaded optimization' := 'auto' (default) causes the JVM to simply crash in case of javaws and [jnlp] applets. 'Threaded Optimization' := 'off' works reliable 'Threaded Optimization' := 'on' never works with javaws and applets on the above configuration A user could workaround this by setting 'Threaded Optimization' := 'off', however, this would disable many users on the spot, since you cannot ask the average user for such a task, if she only wants to see a web page. This patch 'fixes' the 'auto' mode by running the eager GL profile initialization within a block of single CPU affinity: SetProcessAffinityMask(pid, 1); try { initProfilesForDeviceImpl(device); } finally { SetProcessAffinityMask(pid, sysValue); } Hopefully we can remove this hack with a driver fix. However this workaround is as little invasive as possible.
* GLDrawableFactory: Add getFactory(AbstractGraphicsDevice device)Sven Gothel2010-12-191-1/+20
|
* Fix GLProfile initProfilesForDevice and DEBUG ; Fix JoglVersion.getGLInfoSven Gothel2010-12-192-35/+36
| | | | | | | | GLProfile.initProfilesForDevice: use either desktop or egl factory on one device GLProfile.DEBUG: Print proper factory instance, full device JoglVersion.getGLInfo: Print only availability of used device, otherwise we could kick off initialization
* Debug/Cleanup: toString: print base classname only; Misc ..Sven Gothel2010-12-1910-11/+26
|
* WindowsWGLContext: Proper var names, misc cleanupSven Gothel2010-12-181-17/+22
|
* convenient internal queries for sharedSven Gothel2010-12-181-0/+12
|
* GLCanvas: init drawable by paint/display makes the init sequence more equal ↵Sven Gothel2010-12-181-1/+3
| | | | for all launch flavors (applet/javaws/..)
* NativeWindow Debug: Early stack trace info w/ thread nameSven Gothel2010-12-181-3/+7
|
* Version Applet as JavaWSSven Gothel2010-12-181-7/+64
|
* GLProfile: refine docSven Gothel2010-12-181-1/+2
|
* debug node: WindowsDummyWGLDrawableSven Gothel2010-12-171-0/+1
|
* SharedResourceRunner: Expose convenient 'getShared()' w/o creationSven Gothel2010-12-171-0/+5
|
* debug: print thread name only; simplify mapGLVersion(..) callSven Gothel2010-12-171-16/+12
|
* Version Applet: set GLCanvas size, otherwise it won't realize GL drawableSven Gothel2010-12-161-0/+1
|
* Fix WGL Bitmap Offscreen DrawableSven Gothel2010-12-169-203/+286
| | | | | | | | | | | In conjunction with the gluegen investigation (gluegen: fbdedff789077b5ffa07811590f771b6f9a4f3a7), on Windows the type LONG is always 32bit, hence we have to declare: typedef __int32 LONG; Besides, WGL_DRAW_TO_PBUFFER_ARB and WGL_DRAW_TO_BITMAP_ARB were missing in the WGL/ARB attribute query, and the latter was not set in caps -> attributes. Added fail safe exception for null chosen caps, if X11/WGL algo fails to determine.
* Add Version AppletSven Gothel2010-12-151-0/+88
|
* JAWTUtil: Fix case when init is run on AWT EDT (which is odd, ie not using ↵Sven Gothel2010-12-151-11/+16
| | | | GLProfile.initSingleton(..)
* Cleanup (removed obsolete class / imports) ; Cg fixSven Gothel2010-12-134-79/+0
|
* tests: test.auto.run (junit.run) and test.manual.runSven Gothel2010-12-131-4/+4
|
* Cleanup test/junit structure. com.jogamp.test -> com.jogamp.opengl.text; ↵Sven Gothel2010-12-1391-179/+1105
| | | | Compile posted Issue* Bug* snippets
* Fix API doc: firstUIActionOnProcessSven Gothel2010-12-122-31/+77
|
* NativeWindow: Move RegisteredClass to private impl packageSven Gothel2010-12-125-7/+7
|
* GLJPanel/GLPbufferImpl: destroy pbuffer reentrance fix; disable device close ↵Sven Gothel2010-12-124-21/+26
| | | | (X11 error on nvidia); reenable GLJPanel test
* makeCurrent/release within closuresSven Gothel2010-12-121-3/+4
|
* GLProfile: initialize 1st, debug info later.Sven Gothel2010-12-121-2/+2
| | | | Debug shall not change the startup behavior
* JAWTUtil: Eager initialization of AWT desktop propsSven Gothel2010-12-121-0/+25
| | | | | Triggers immediate AWT property resolution. Would reproduce any javaws / AWT race condition.
* Windows RegisterClass: Use new RegisteredClassFactory (window class), Misc.Sven Gothel2010-12-1216-283/+556
| | | | | | | | | | | | | | | | | This solves the issue when an applet is started/stop and started again, or another applet runs in the same JVM. Also soves the issue for multiple JVMs. RegisteredClassFactory can be instanced to manage one shared window class, currently in use for GDI's dummy window and NEWT. A class base name and a window proc handle must be passed in the factory cstr. Before registering, the class is tested if already exists, eg another applet in the same JVM. If registration fails, the class name will iterate until successful or MAX_INT reached, eg if multiple JVMs are running. Added NativeWindow Common Native Code.
* Generalize SharedResourceRunner and use/impl it for WGL as well (besides X11).Sven Gothel2010-12-113-368/+521
| | | | | It seems necessary to use off thread shared resources (dummy window, drawable and context) to keep them alive in Java Webstart.
* GLCanvas: sync drawable access; flush awtConfig at remove;Sven Gothel2010-12-101-80/+101
|
* FIX gears demo: set lists to 0 at disposeSven Gothel2010-12-101-0/+1
|
* NEWT: Minor cleanup ; Debug setVisible message in issuing threadSven Gothel2010-12-101-6/+8
|
* Minor test cleanupSven Gothel2010-12-102-25/+10
|
* WGL/DummyWindow: Roll back GetDC/ReleaseDC via lock/unlock surface, ↵Sven Gothel2010-12-101-54/+26
| | | | redundant, since it's static DC
* Cleanup GLGraphicsConfiguration[Factory] implementations (X11/WGL)Sven Gothel2010-12-1020-465/+717
| | | | | | | | | | | | | | | | | - AWT/WGL: - Using sun.awt.Win32GraphicsConfig via reflection, if supported, else we may fail. - Preselection of PFD as follows: - 1st choice is to create our own AWT GraphicsConfig (GC) based on PFD/GLCaps, ignoring WGL_SUPPORT_GDI_ARB, PFD_SUPPORT_GDI - 2nd choice is to use AWT PFD pool of GC's - else we fail -> use NewtCanvasAWT instead (TODO: Other JDK/AWT implementations ?) - Set PFD will be performed at setRealized(..) - SharedContext (X11/WGL) is synchronized to allow multithreaded access, if required - Simplified and unified (X11/WGL) GraphicsConfigurationFactory - WGL 'external' drawables will be determined with given arguments right away
* NativeWindow: Expose lock test/get methods and constructor with HDCSven Gothel2010-12-091-2/+17
|
* JOGL: GLContextImpl's updateGLXProcAddressTable(..) only uses device as a ↵Sven Gothel2010-12-096-65/+80
| | | | | | | | | key for cached table, since the GLX/WGL/etc function entry pointers are GL profile agnostic. Hence createContextARBImpl(..) (WGL/GLX) does not need a sharedContext, but just can issue the inexpensive updateGLXProcAddressTable(..) call.
* DummyWindow: 64x64, WGL: Use lockSurface/unlockSurface block to gather / ↵Sven Gothel2010-12-092-11/+56
| | | | release HDC
* GDI: Fix CreateDummyWindow: Use local getModuleHandle(NULL) and synchronize ↵Sven Gothel2010-12-091-30/+33
| | | | factory method.
* NEWT/Windows: Use GDI GetDC/ReleaseDCSven Gothel2010-12-092-27/+3
|