summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* GLPbufferImpl: Remove redundant AWT threading constraints ; Signal dispose ↵Sven Gothel2010-12-031-91/+38
| | | | to all GLEventListeners at destroy()
* Cleanup GLDrawableFactory API and platform ImplementationsSven Gothel2010-12-0320-248/+366
| | | | | | | | | | | | | | | | | | | | | | | - Finish API change using the AbstractGraphicsDevice, which denotes the target device for the desired NativeSurface / GLDrawable. The AbstractGraphicsDevice argument may be null to reflect the platform's default device. Clarified API documentation. This move is necessary to make the API coherent. - createOffscreenDrawable(..) may create a Pbuffer drawable if caps and supported. This unifies the functionality with createGLDrawable(..). Further more, a Pbuffer drawable is an offscreen as well. - added createOffscreenSurface(..) following the same behavior as createOffscreenDrawable(..), this is a convenient native offscreen surface factory entry. - removed createGLPbufferDrawable(..), use createOffscreenDrawable(..), since it is redundant! Implementation Details: - EGLDrawableFactory holds a shared native EGLGraphicsDevice, being used by the offscreen EGL drawable (no more multiple creation).
* JOGL AnimatorImpl: issue drawable.display() even if it's not realized yet, ↵Sven Gothel2010-11-292-9/+3
| | | | since the drawable may realize itself with the display() call. This situation appears with an AWT GLCanvas
* Animator: Run as non daemon like FPSAnimator. This seems to be the users ↵Sven Gothel2010-11-281-1/+6
| | | | desired behavior and is more compliant with other APIs
* NEWT/X11: Don't erase background with pixmap or pixelSven Gothel2010-11-281-2/+2
|
* JOGL: Proper handling of Read Drawable Support (if not supported), add query.Sven Gothel2010-11-2815-360/+372
| | | | | | | | | | | | | | | | | | | Read Drawable feature reflects the make context current API having a seperate read drawable next to the write drawable (default). glXMakeContextCurrent(write, read, ..) On X11 a ready drawable is only supported for GLX >= 1.3, on Windows only if extension WGL_ARB_make_current_read is available, on EGL it's always supported, on OSX not at all. API cleanup GLContext: changes: setGLDrawableRead(GLDrawable) -> setGLReadDrawable(GLDrawable) new: isGLReadDrawableAvailable() new: getGLExtensionsString(); Access qualifier cleanup. GLContextImpl: GLVersionNumber moved out.
* minor cleanupSven Gothel2010-11-283-12/+16
|
* NewtCanvasAWT: disableBackgroundErase() before (X11) and after (Windows) ↵Sven Gothel2010-11-281-0/+17
| | | | | | addNotify(). This change is in sync with 86c164950b0a0d351fc8af3884187b10201b6237
* NEWT WindowImpl: Null Check on childWindows (already destroyed)Sven Gothel2010-11-281-2/+2
|
* Javadoc developer level must be 1.5 due to gluegen compile time pluginSven Gothel2010-11-271-1/+1
|
* GLCanvas: Fix disableBackgroundErase/X11, make drawable creation more ↵Sven Gothel2010-11-276-28/+100
| | | | | | | | | | | | | | | | robust, doc Java2D/AWT properties. On X11 disableBackgroundErase() must happen before native peer creation, this patch issues it before and after super.addNotify(). Make drawable creation more robust, ie only create a drawable in case the size is > 0x0 and do this check/create at display/paint in case size it not yet determined. Add documentation about Java2D/AWT properties impact on GLCanvas. Make JUnit tests on AWT/GLProfile's more robust, while adding frame validate() ensuring 1st paint will have a size, hence will create the drawable. This is necessary for eg. AMD GPU's and GL context > 3.
* Add GL_VENDOR to JoglVersion GL outputSven Gothel2010-11-261-0/+2
|
* WGL: Add GetLastError in case external context/drawable can't be retrievedSven Gothel2010-11-262-5/+5
|
* Reduce visibility -> package privateSven Gothel2010-11-269-115/+114
|
* Reduce the use of xml brackets to reduce potential hudson/junit xml parser ↵Sven Gothel2010-11-258-16/+16
| | | | exceptions
* Refined VersionInfo usageSven Gothel2010-11-258-22/+50
|
* JOGL/Windows/ATI r3xx: Bug #438: tolerate release context if GetLastError is ↵Sven Gothel2010-11-251-11/+18
| | | | SUCCESS
* NativeWindow/GDI: Adding ERROR_SUCCESS to make the code more clear.Sven Gothel2010-11-255-11/+15
|
* GLProfile/Debug: Dump Version info upfront, otherwise we won't see it with ↵Sven Gothel2010-11-251-6/+6
| | | | | | an <init> exception. Also adding current thread name.
* GLCanvas: Refine access modifiersSven Gothel2010-11-251-4/+4
|
* test scripts: add new AWT recreation testSven Gothel2010-11-252-2/+5
|
* Relax GLAnimatorControl, ie remove fail fast for start()/stop(), return ↵Sven Gothel2010-11-254-24/+29
| | | | (boolean)success instead.
* cleanup importsSven Gothel2010-11-251-7/+0
|
* Fix GLCanvas Recreation - Regression 96af6c9bf2d683115996Sven Gothel2010-11-252-32/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | 96af6c9bf2d683115996 moved the creation of the AWTGraphicsConfiguration, GLDrawable and GLContext to the GLCanvas constructor. This disabled recreation, removeNotify()/addNotify() after 1st addNotify(), since the drawable/context were already set to null. Smart recreation, ie not destroying the resources completly: 1 - drawable 2 - context 3 - AWTGraphicsConfiguration's Device (X11: Display) is not possible, since removeNotify() is the only destroy notification we have from AWT, which would leave the above resources open -> leak. This is especially true for (3), since the device is created 'on the fly'. In NEWT we use lazy creation/destroy and are able to keep the references alive. A remodelling of AbstractGraphicsConfiguration would be required, which indeed would be overkill. Simple solution is to move the creation block back to addNotify() but before 'super.addNotify()', since it needs our chosen AWTGraphicsConfiguration. Also flagging sendReshape in addNotify(). Added test case com.jogamp.test.junit.jogl.awt.TestAWT03GLCanvasRecreate01.
* Ignore TestGearsGLJPanelAWT, not ready yetv2.0-rc1Sven Gothel2010-11-231-1/+2
|
* GLSL unit test timeout -> 60sSven Gothel2010-11-232-4/+4
|
* AnimatorBase: add()/remove() - decorate change of drawables with ↵Sven Gothel2010-11-232-33/+18
| | | | pause()/resume() so it becomes a non critical to multithreading, hence display() or state change needs to be synced
* Add GLJPanel test (works better in jogl-demos though, need to copy)Sven Gothel2010-11-235-13/+145
|
* Manifest: Add URLSven Gothel2010-11-236-0/+6
|
* Fix TestTransformFeedbackVaryingsBug407NEWT GLContext makeCurrent race conditionSven Gothel2010-11-232-2/+4
|
* Fix TestTransformFeedbackVaryingsBug407NEWT GLContext makeCurrent race conditionSven Gothel2010-11-231-2/+2
|
* JOGL/Junit: Refine TestTransformFeedbackVaryingsBug407NEWT, Add another ↵Sven Gothel2010-11-235-76/+633
| | | | simple GLSLShader test.
* X11/WGL: Unify GraphicsConfiguration Selection - Fixes WGL Bugs 397, 410, ↵Sven Gothel2010-11-237-359/+539
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 429, 428 and 405 Fixes bugs WGL pixelformat related bugs: http://jogamp.org/bugzilla/show_bug.cgi?id=397 http://jogamp.org/bugzilla/show_bug.cgi?id=410 http://jogamp.org/bugzilla/show_bug.cgi?id=429 http://jogamp.org/bugzilla/show_bug.cgi?id=428 http://jogamp.org/bugzilla/show_bug.cgi?id=405 Tested on Window7-x86 (amd/nvidia), WinXP-x32-VirtualBox. Solution: Cleaned up X11/GLX code to use it as a correct boilerplate for the new WGL selection, which now duplicates the same behavior. X11/GLX and WGL follow the common logic: - 1st try: - get GLCapabilities based on users GLCapabilities - setting recommendedIndex as preferred choice - 2nd try: - get all GLCapabilities available - no preferred recommendedIndex available If no recommendedIndex has been selected and no chooser has been passed, we use the DefaultGLCapabilitiesChooser. Choose the GLCapabilities if a chooser is given (or see above).
* Scripts: bump to 6u22; distinguish windows test batch x64/x32Sven Gothel2010-11-239-18/+55
|
* TestTransformFeedbackVaryingsBug407NEWT: Fix class name and clarify outputSven Gothel2010-11-221-4/+4
|
* JOGL: Fix CreateDummyWindow usage, no more sync needed, since the Window ↵Sven Gothel2010-11-221-5/+1
| | | | class HINSTANCE is acquired at static initialization
* NativeWindow/Windows: Fix CreateDummyWindow gluegen and usageSven Gothel2010-11-227-13/+22
| | | | NativeWindow+JOGL/Windows: Complete Opaque types
* NativeWindow: Fix XSynchronize gluegenSven Gothel2010-11-222-3/+3
|
* JOGL/X11 Shutdown: Don't close pending Display connections since it may ↵Sven Gothel2010-11-221-1/+3
| | | | cause a SIGSEGV at JVM exit.
* GLAnimatorControl pause()/resume() don't fail fast, return a boolean instead ↵Sven Gothel2010-11-227-32/+34
| | | | to simplify usage.
* JOGL: AWT/GraphicsConfiguration - Use own display handle, reuse causes ↵Sven Gothel2010-11-211-5/+6
| | | | SIGSEGV on AMD
* JOGL/NEWT: Animator fixesSven Gothel2010-11-2119-344/+502
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider use cases with many drawables and no drawables at start, this had to be reflected all over this patch set, implementation, usage and test cases. - GLAnimatorControl - refine API doc / states - add 'void remove(GLAutoDrawable drawable);' - Animator*: - using RecursiveLock 'stateSync' for all actions out of the big synchronized (animator) block: - get status methods (thread, isPaused, ..), hence no more synchronized - display drawables change, utilizing synced ArrayList swap This removes the need for volatiles usage shouldPause/shouldStop within the display method. - added blocking wait for state change for add(GLAutoDrawable)/remove(GLAutoDrawable) method - remove flawed double checked locking in anim thread (pause/idle condition) - thread is now a daemon thread, hence it won't hinder the JVM from shutdown - - Animator use change: - Always resume after pause, except in case of final destroy -> NEWT invalidate / GLCanvas, this considers use cases with many drawables and no drawables at start. - GLDrawableHelper: Don't pause at implicit dispose()
* minor formattingSven Gothel2010-11-191-11/+6
|
* Resume GLAnimatorCtrl after destroying, so it back in state for either this ↵Sven Gothel2010-11-191-0/+3
| | | | resource at recreation or it's possible other drawables
* Avoid sendDestroy mechanism in favor of immediate destroy using ↵Steve Vaughan2010-11-191-2/+21
| | | | AnimatorControl to pause rendering.
* Fix bug#414, missing back conversion (using gluegen ↵Sven Gothel2010-11-191-3/+30
| | | | 992dcea3e94eead998942127a137cccd0882fe97)
* Merge branch 'master' of github.com:sgothel/joglMichael Bien2010-11-1824-214/+663
|\
| * JOGL/AWT: Fix ~ 2 year old regressions: Choose & Use GraphicsConfiguration ↵Sven Gothel2010-11-1821-147/+624
| | | | | | | | | | | | | | | | | | | | | | | | | | | | for Canvas. ; Adding FSAA test. Canvas/X11: The Canvas GraphicsConfiguraton should be chosen before the native peer is being created. Choosing AWT GraphicsConfiguration (all platforms): Don't filter our capabilities with 'AWTGraphicsConfiguration.setupCapabilitiesRGBABits(capsChosen, gc)', not necessary (see above) and it would remove ourrequired alpha channel. Canvas display(): Don't render if drawable is not realized (yet).
| * NativeWindow JAWT Impl: Fix: Remove double unlock of locks if JAWT lock failed.Sven Gothel2010-11-183-67/+39
| |
* | print platform info additional to the module info.Michael Bien2010-11-186-0/+9
| |