The Jenkins Controller is preparing for shutdown. No new builds can be started.
Commit
5f7f9811971eb452ddd57316ed00552a774de0f8
by Sven GothelAuto GL profile selection; New GLReflection (refactoring of common relfections); Fixes
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1684 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
05135c584e578bc16bf2f47f47a9676842d3dcde
by Sven Gothel3rd round cdcfp - compile clean.
Re-adding cdcfp: com/sun/opengl/impl/glu/mipmap/* com/sun/opengl/impl/GLPbufferImpl.java
Using 'BufferUtil.nativeOrder(ByteBuffer)' to set up the native byte order. 'BufferUtil.nativeOrder' is now public.
GLDrawableFactory: - removed 'hardcoded' awt attribute.
Cleanup NEWT's AWT wrapping implementation. - NativeWindowFactory incooperates with the wrapping property.
Bugs on X11/NEWT/AWT: - no events - deadlock at shutdown - deadlock if EGLDrawable with AWT get's locked
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1700 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
a2a218234b3d51a87577df5f4879bfe1917529c0
by Sven Gothel- Using new config feature: 'IgnoreExtendedInterfaceSymbols <java class source file>' and get rid of manual 'Ignore' configs for common stuff in the base interfaces.
- Add: GLUnsupportedException: - Using new config feature 'UnsupportedExceptionType GLUnsupportedException' - GLUnsupportedException is used for anything 'UnsupportedOperationException'
- GLU: - GLU itself is no more abstract - GLU contains the tesselator implementation - name, return type, modifiers and arguments - createGLU(..) - operated by profile name now. - GLU itself will be used for GLES2
- Cleanup: - gluegen/GL configs ..
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1725 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
Commit
c85c46713fcc6f9f5d4166273baed5705623e14d
by Sven Gothel- New profile GL2ES12 (desktop) - Intersection of GL2 + GLES1 + GLES2 - Common set of GLES1 + GLES2 - Utilized new 'ExtendedInterfaceSymbolsOnly' gluegen config
- DroppingUniqVendorExtension + 3DFX + APPLE - Some APPLE enumerates are manually provided!
- Removing of 'jogl.oswin.jar' - since it is redundant now!
- Proper partitioning of 'jogl.gl2' and 'jogl.gl2es12' for - x11, win and osx
- Profile selection/trial for e.g. GL2ES1 is now in the following order: 1) GLES1 2) GL2ES12 3) GL2
- Footprint for all profiles below 1/2 MB, NEWT: ES1: 284 kB ES2: 280 kB GL2ES12: 332 kB GL2: 456 kB
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1729 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
707d6a7e4f027b75acc20df2769ba0e20f95681f
by Sven Gothel- Fixed rootrel.build usage, this works properly through gluegen, jogl-demos and this build. You can say -Drootrel.build=build-x86_64 for example.
- Fixed jogl-demos in regard to this changeset
- Gluegen - Fixed gluegen BuildComposablePipeline's 'getGL*' methods. Now they return 'this', otherwise the pipeline would be broken/removed.
- Add BuildComposablePipeline CustomPipeline, which allows customized class composition with an interface (to be wrapped), prolog class and the downstream class.
- Add GlueGen (incl. ant task) 'outputRootDir' to be able to set a top output root dir via ant / commandline.
- GL fixed function - Package 'javax.media.opengl.sub.fixed.*' defines some fixed function interfaces. This allows partitioning of custom implementation.
- Using gluegen's new CustomPipeline to compose a GLFixedFuncIf implementation, using a GL downstream and a GLFixedFuncHookIf prolog. The latter implements the fixed functionality. Example is the GLFixedFuncImpl. gl.getContext().setGL( new GLFixedFuncImpl(gl, new FixedFuncHook(gl.getGL2ES2())) ) ; or gl.getContext().setGL( new GLFixedFuncImpl(gl, gl.getGL2ES1()) ) ;
- The example GLFixedFuncHookIf impl FixedFuncPipeline/ can be instantiated with custom shader code.
- ES2 and all other interfaces only contain the original functionality, besides minor convenient data access methods.
- Fix: GL2ES2 createCompileShader() and createLoadShader() is moved to ShaderCode util class.
- Updated PMVMatrix
- Add: GLAutoDrawable.setContext() .. and all it's implementations Necessary to set a new GLContext.
- Add: GLContext getAttachedObject(int) and putAttachedObject(int, Object), to allow the user to attach application specific and TLS sensitive objects to the GLContext.
-
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1856 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
ae84ca16de6df46874af5180cc44fde99be8f708
by Sven GothelJOGL refactoring: Refactored JOGL into 3 independent components.
1 NWI - Native windowing interface Abstracts the the general NativeWindow interface and it's factory, incl the basic JAWT and Xlib toolkit. The latter was motivated to clean up the JOGL workspace, and to allow other to reuse this part. The generic core is nwi.core.jar, the AWT add-on is nwi.awt.jar.
2 JOGL - The OpenGL mapping Further cleanup of the SPEC. All non OpenGL toolkits are relocated to NWI and NEWT. There is still openmax and the windows audio layer .. Another cleanup of the fixed function pipeline emulation. Moved utilities and implementations where they belong .. Removed GLUnsupportedException. Misc .. changes
3 NEWT - The new windowing toolkit The generic NEWT, newt.core.jar. The JOGL and AWT modules are seperate, newt.ogl.jar newt.awt.jar. Their build can be switched off.
The modules source and builds resides in their own directory. Because of their nature, they share the stub_includes, etc. Each module has it's own ant build script - build-nwi.xml - build-jogl.xml - build-newt.xml They can be build at once using build.xml as ususal, which just invokes the seperate build tasks.
if rootrel.build=build, then the build location is jogl/build-nwi jogl/build-jogl jogl/build-newt and the sources are under jogl/src/nwi jogl/src/jogl jogl/src/newt
Tested: jogl-demos, d4; Linux, MacOsX; Nvidia
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1868 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
2ad0030569b02f1c03b878e7f0bbf82206cfbb11
by Sven GothelStart moving javax.media.nwi -> javax.media.nativewindow
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1879 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
5aedd762c93d358fc4a7f6b88a769f559897d41f
by Sven GothelContinue moving javax.media.nwi -> javax.media.nativewindow
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1880 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
2819734631c34307b472a5500ec97c88f23f6c22
by Sven GothelContinue moving javax.media.nwi -> javax.media.nativewindow
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1881 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
de83a317032a1383ca647596d462644d9f11bbd2
by Sven GothelMovement of Capabilities class and chooseCapabilities functionality into NativeWindowFactory introduced an undesirable dependence between the windowing toolkit, which can be replaced via NativeWindowFactory, and the library which implements the selection algorithm, for example OpenGL. This would prevent, for example, an easy SWT port of JOGL.
To fix this, refactored chooseCapabilities into new GraphicsConfigurationFactory, the default implementation of which is currently a no-op on X11 platforms, and which is provided by JOGL in a toolkit-agnostic manner via GLX. Refactored OpenGL portions of Capabilities class back into GLCapabilities. Reintroduced GLCapabilitiesChooser interface for compatibility and to avoid having to import javax.media.nativewindow classes in most user code.
Fixed problem in GLProfile where failures to load native libraries were being squelched. Reorganized build to have all outputs under build/ directory.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1884 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
9bb10d5ae27d2276ebf7710d9d8ea73d09c52294
by Sven GothelChanged a few Class.forName() calls to defer initialization to avoid eager initialization of the AWT, in particular on Mac OS X, where doing so was causing crashes during Newt initialization
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1953 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
5fa993c74741ebb42301028df5572c8aad2f8107
by Sven GothelFix: JAWTUtil has to JAWTNativeLibLoader.loadAWTImpl() as well. Use NWReflection.isClassAvailable() if possible. NWReflection.getClass() takes boolean init.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1956 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
Commit
03d931731475f6aea4f5040a00a6609a7c2edaa1
by Sven Gothelcode review (http://jogamp.org/bugzilla/show_bug.cgi?id=396): improved exception handling in NWReflection and NativeLibLoaderBase. goal was to prevent catch(Throwable) and to fix or document empty catch blocks where it makes sense.
|
Commit
79aaf78f04b02ef98845244226186823ff3d584b
by Sven Gothel- Fix: X11 locking The current thread default display or the given display is being used, hence it is no more required to use a ToolkitLock for X11 without AWT.
Removed X11 ToolkitLock in case of X11 without AWT, which is being detected with the absence of the classes java.awt.Component _AND_ javax.media.nativewindow.awt.AWTGraphicsDevice or with the system property java.awt.headless=true
Only in the Java2D/Swing case, one 'leaking' Display is created within canCreateGLPbuffer().
- Workaround for Hotsport bugs #4395095, #6852404 4395095 JNI access to java.nio DirectBuffer constructor/accessor 6852404 Race condition in JNI Direct Buffer access and creation routines
- Added build.xml -Dbuild.noarchives=true property to skip the time consuming creation of zip archives.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1988 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
Commit
79b427ed284bf6edfc932b5ad19884d4fe0397eb
by Sven GothelAuto GL profile selection; New GLReflection (refactoring of common relfections); Fixes
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1684 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
d2bcb236273092923b04fa0096918523f2a3c02a
by Sven Gothel3rd round cdcfp - compile clean.
Re-adding cdcfp: com/sun/opengl/impl/glu/mipmap/* com/sun/opengl/impl/GLPbufferImpl.java
Using 'BufferUtil.nativeOrder(ByteBuffer)' to set up the native byte order. 'BufferUtil.nativeOrder' is now public.
GLDrawableFactory: - removed 'hardcoded' awt attribute.
Cleanup NEWT's AWT wrapping implementation. - NativeWindowFactory incooperates with the wrapping property.
Bugs on X11/NEWT/AWT: - no events - deadlock at shutdown - deadlock if EGLDrawable with AWT get's locked
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1700 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
758f6eed4b97667f2024b5c62fc04cbb62e57740
by Sven Gothel- Using new config feature: 'IgnoreExtendedInterfaceSymbols <java class source file>' and get rid of manual 'Ignore' configs for common stuff in the base interfaces.
- Add: GLUnsupportedException: - Using new config feature 'UnsupportedExceptionType GLUnsupportedException' - GLUnsupportedException is used for anything 'UnsupportedOperationException'
- GLU: - GLU itself is no more abstract - GLU contains the tesselator implementation - name, return type, modifiers and arguments - createGLU(..) - operated by profile name now. - GLU itself will be used for GLES2
- Cleanup: - gluegen/GL configs ..
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1725 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
Commit
bc0efe87ffc160858088ae95840c69e9290f25f2
by Sven Gothel- New profile GL2ES12 (desktop) - Intersection of GL2 + GLES1 + GLES2 - Common set of GLES1 + GLES2 - Utilized new 'ExtendedInterfaceSymbolsOnly' gluegen config
- DroppingUniqVendorExtension + 3DFX + APPLE - Some APPLE enumerates are manually provided!
- Removing of 'jogl.oswin.jar' - since it is redundant now!
- Proper partitioning of 'jogl.gl2' and 'jogl.gl2es12' for - x11, win and osx
- Profile selection/trial for e.g. GL2ES1 is now in the following order: 1) GLES1 2) GL2ES12 3) GL2
- Footprint for all profiles below 1/2 MB, NEWT: ES1: 284 kB ES2: 280 kB GL2ES12: 332 kB GL2: 456 kB
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1729 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
5d82af18a06ce8f493cd7c90d1b9f35f9775081f
by Sven Gothel- Fixed rootrel.build usage, this works properly through gluegen, jogl-demos and this build. You can say -Drootrel.build=build-x86_64 for example.
- Fixed jogl-demos in regard to this changeset
- Gluegen - Fixed gluegen BuildComposablePipeline's 'getGL*' methods. Now they return 'this', otherwise the pipeline would be broken/removed.
- Add BuildComposablePipeline CustomPipeline, which allows customized class composition with an interface (to be wrapped), prolog class and the downstream class.
- Add GlueGen (incl. ant task) 'outputRootDir' to be able to set a top output root dir via ant / commandline.
- GL fixed function - Package 'javax.media.opengl.sub.fixed.*' defines some fixed function interfaces. This allows partitioning of custom implementation.
- Using gluegen's new CustomPipeline to compose a GLFixedFuncIf implementation, using a GL downstream and a GLFixedFuncHookIf prolog. The latter implements the fixed functionality. Example is the GLFixedFuncImpl. gl.getContext().setGL( new GLFixedFuncImpl(gl, new FixedFuncHook(gl.getGL2ES2())) ) ; or gl.getContext().setGL( new GLFixedFuncImpl(gl, gl.getGL2ES1()) ) ;
- The example GLFixedFuncHookIf impl FixedFuncPipeline/ can be instantiated with custom shader code.
- ES2 and all other interfaces only contain the original functionality, besides minor convenient data access methods.
- Fix: GL2ES2 createCompileShader() and createLoadShader() is moved to ShaderCode util class.
- Updated PMVMatrix
- Add: GLAutoDrawable.setContext() .. and all it's implementations Necessary to set a new GLContext.
- Add: GLContext getAttachedObject(int) and putAttachedObject(int, Object), to allow the user to attach application specific and TLS sensitive objects to the GLContext.
-
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1856 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
a270623faf11db8ff8c1382ee3d499aec00acf09
by Sven GothelJOGL refactoring: Refactored JOGL into 3 independent components.
1 NWI - Native windowing interface Abstracts the the general NativeWindow interface and it's factory, incl the basic JAWT and Xlib toolkit. The latter was motivated to clean up the JOGL workspace, and to allow other to reuse this part. The generic core is nwi.core.jar, the AWT add-on is nwi.awt.jar.
2 JOGL - The OpenGL mapping Further cleanup of the SPEC. All non OpenGL toolkits are relocated to NWI and NEWT. There is still openmax and the windows audio layer .. Another cleanup of the fixed function pipeline emulation. Moved utilities and implementations where they belong .. Removed GLUnsupportedException. Misc .. changes
3 NEWT - The new windowing toolkit The generic NEWT, newt.core.jar. The JOGL and AWT modules are seperate, newt.ogl.jar newt.awt.jar. Their build can be switched off.
The modules source and builds resides in their own directory. Because of their nature, they share the stub_includes, etc. Each module has it's own ant build script - build-nwi.xml - build-jogl.xml - build-newt.xml They can be build at once using build.xml as ususal, which just invokes the seperate build tasks.
if rootrel.build=build, then the build location is jogl/build-nwi jogl/build-jogl jogl/build-newt and the sources are under jogl/src/nwi jogl/src/jogl jogl/src/newt
Tested: jogl-demos, d4; Linux, MacOsX; Nvidia
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1868 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
8f0402c50aca933448317ddf42e2e21f8b4a0dc7
by Sven GothelStart moving javax.media.nwi -> javax.media.nativewindow
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1879 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
b9c08ff50734bab498a11137c74de66ae6b18fbf
by Sven GothelContinue moving javax.media.nwi -> javax.media.nativewindow
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1880 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
4ae07e34d97b8aeb5fed8293a2115e8b959904ca
by Sven GothelContinue moving javax.media.nwi -> javax.media.nativewindow
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1881 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
2175445b0462859de678309c04a74f0bf67be42d
by Sven GothelMovement of Capabilities class and chooseCapabilities functionality into NativeWindowFactory introduced an undesirable dependence between the windowing toolkit, which can be replaced via NativeWindowFactory, and the library which implements the selection algorithm, for example OpenGL. This would prevent, for example, an easy SWT port of JOGL.
To fix this, refactored chooseCapabilities into new GraphicsConfigurationFactory, the default implementation of which is currently a no-op on X11 platforms, and which is provided by JOGL in a toolkit-agnostic manner via GLX. Refactored OpenGL portions of Capabilities class back into GLCapabilities. Reintroduced GLCapabilitiesChooser interface for compatibility and to avoid having to import javax.media.nativewindow classes in most user code.
Fixed problem in GLProfile where failures to load native libraries were being squelched. Reorganized build to have all outputs under build/ directory.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1884 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
6c3bb4a8c703012e8514fcea0c0a6ec9826178f6
by Sven GothelChanged a few Class.forName() calls to defer initialization to avoid eager initialization of the AWT, in particular on Mac OS X, where doing so was causing crashes during Newt initialization
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1953 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
90a29aef20d5be1b35c42f30a9a8bd3202a21fc2
by Sven GothelFix: JAWTUtil has to JAWTNativeLibLoader.loadAWTImpl() as well. Use NWReflection.isClassAvailable() if possible. NWReflection.getClass() takes boolean init.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1956 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
ccad31d01fc1385bd09029f825a4a7ad8c305b4f
by Sven GothelMovement of Capabilities class and chooseCapabilities functionality into NativeWindowFactory introduced an undesirable dependence between the windowing toolkit, which can be replaced via NativeWindowFactory, and the library which implements the selection algorithm, for example OpenGL. This would prevent, for example, an easy SWT port of JOGL.
To fix this, refactored chooseCapabilities into new GraphicsConfigurationFactory, the default implementation of which is currently a no-op on X11 platforms, and which is provided by JOGL in a toolkit-agnostic manner via GLX. Refactored OpenGL portions of Capabilities class back into GLCapabilities. Reintroduced GLCapabilitiesChooser interface for compatibility and to avoid having to import javax.media.nativewindow classes in most user code.
Fixed problem in GLProfile where failures to load native libraries were being squelched. Reorganized build to have all outputs under build/ directory.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1884 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
938e9b6628c2b09c9dfb183d42c7dab834b48876
by Sven Gothel- Fixing SPEC documentation for bindings JOGL and NativeWindow, lot's of javadoc changes/fixes.
- Fixing transparency values RGB[A] in GLX and EGL, adding those in GLCapabilities.
- Adding EGLPbuffer (untested yet)
Added EGLOnscreenContext, EGLOnscreenDrawable and EGLPbufferContext, EGLPbufferDrawable, which completes the now abstract EGLContext and EGLDrawable.
- Decoupling EGLDrawableFactory and DynamicLookupHelper: Since OpenGL ES has 2 libraries and hence 2 DynamicLookupHelper, one for each, these are decoupled in EGLES1DynamicLookupHelper and EGLES2DynamicLookupHelper, where each uses the base class EGLDynamicLookupHelper. EGLDynamicLookupHelper act's also as the owner of these singleton instances.
EGLDrawableFactory is now pure singleton, and has no more relation to the ES[12] libraries.
Still, GLDrawableFactory.getFactory(GLProfile) stays, due to the selection of the right factory, ie EGLDrawableFactory or a native one (X11GLX, WindowsWGL or MacOSXCGL).
Added GLDrawableImpl.getDynamicLookupHelper().
DynamicLookupHelper implementation is pushed down to the specialisation of GLDrawableImpl, hence removed GLDrawableImpl implements DynamicLookupHelper.
- Fixing Locking - Always throw an Exception if unlock is called without being locked.
- Removed NativeWindow.LOCK_NOT_SUPPORTED, since it made the locking state ambiguos.
- Using a generated Exception at locking to mark the object locked, and to let it throw in case of double locking.
- Removed redundant lockToolkit() calls, where lockSurface() calls are made
- Fixing GLWindow wrapped toolkit (e.g. AWTWindow) usage - In case the passed NativeWindow only contains a wrapper window, we use the NativeWindowFactory.getNativeWindow() pipeline to produce a valid NativeWindow. This object is only referenced within the drawable, hence we have to use it for actual NativeWindow related operations.
- Add setVisible(): lockSurface()/unlockSurface() to allow getting the windowHandle
- Overwriting all drawable related Window method's, using the drawable's NativeWindow if exists. - getNativeWindow() - lockSurface()/unlockSurface()/.. - getWindowHandle()/getSurfaceHandle()
- Fix NativeWindowFactory.getNativeWindowType(), so the custom and pure values are set once (static init) - not overwritten (prev. bug).
- NEWT: Added WindowEvent.EVENT_WINDOW_DESTROY_NOTIFY support in AWTWindow. Now the proper dispose() calls are made to all GLEventListeners if the AWT window is being closed - before it is actually destroyed.
- Threading now uses the AWTThreadingPlugin, a ThreadingPlugin interface AWT implementation, containing the refactored Threading code.
- Reintroduced getChosen*Capabilities and getRequested*Capabilites, where get*Capabilities is renamed back to getRequested*Capabilities. The semantics are necessary to allow the drawables (and NativeWindow) to be regenerated in case of a device change in a multihead environment. Otherwise there is a risk that recursive choosing of the Capabilities will degenerate the result.
- Multihead logic ..
Exception: Xinerama, where all monitors share the same static configuration, and the window handle 'survive' X11, MacOSX and Win32 with a Xinerama behavior
1) Recognition of a display/screen/surface change - It is prooven that the JAWT model (JAWT_LOCK_SURFACE_CHANGED) while locking the surface is not reliably propagated, ie doesn't work here, if the display change happens.
- AWT's Canvas.getGraphicsConfiguration() can reliably being used to detect this case, ie compare the old GraphicsConfiguration with the new one.
- A solution for other native windowing toolkits must be found, ie query the current underlying pixel-configuration, if it changed - act.
In which case the the following shall be done: 2.0) - notify all GLEventListener via the dispose(GLAutoDrawable) 2.1) - destroy the OpenGL context 2.2) - call GLDrawable's setRealized(false) 2.3) - call GLDrawable's setRealized(true) 2.4) - create a new OpenGL context 2.5) - notify all GLEventListener via the init(GLAutoDrawable)
Steps 2.0 - 2.5 are executed with GLAutoDrawable's dispose(true) call.
Step 2.3, setRealized(true) on GLDrawable shall: 2.3.1) - Choose the GLCapabilities again, based on the requested ones, and update the choosen ones in the AbstractGraphicsConfiguration. 2.3.2) - Update AbstractScreen within the new AbstractGraphicsConfiguration to reflect the possible screen change.
DONE: Xinerama mode: X11 + Xinerama, MacOSX DONE: Introducing GLAutoDrawable.dispose(boolean regenerate) DONE: 2.3.1 on setRealized(true): Windows, MacOSX (implicit on createContext) TODO: Windows setRealized(true) on AWT Canvas getGraphicsConfiguration(), can't lock the JAWT surface sometimes - exception, code disabled, see GLCanvas.java TODO: 2.3.1 on setRealized(true): X11 and EGL TODO: Find a test case, without Xinerama behavior TODO: Code for Newt/NativeWindow to detect (1) and propagate GLAutoDrawable's dispose(true).
TESTS: - MacOSX (Xinerama) OK
- X11 -TwinView (NV) OK -Xinerama (NV) OK
- Win32 (Xinerama) OK
- GLAutoDrawable's dispose(true)
-
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1929 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
248d4afb694355037b1dd98db3ed48f1fff20f50
by Sven Gothel- Fix: X11 locking The current thread default display or the given display is being used, hence it is no more required to use a ToolkitLock for X11 without AWT.
Removed X11 ToolkitLock in case of X11 without AWT, which is being detected with the absence of the classes java.awt.Component _AND_ javax.media.nativewindow.awt.AWTGraphicsDevice or with the system property java.awt.headless=true
Only in the Java2D/Swing case, one 'leaking' Display is created within canCreateGLPbuffer().
- Workaround for Hotsport bugs #4395095, #6852404 4395095 JNI access to java.nio DirectBuffer constructor/accessor 6852404 Race condition in JNI Direct Buffer access and creation routines
- Added build.xml -Dbuild.noarchives=true property to skip the time consuming creation of zip archives.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1988 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
c6a09a835c5bfb95e9330a2449caf0d0bce4abcb
by Sven GothelRefactored static initialization to let the JVM ensure it only runs once; don't remember the JVM static initialization rules which probably define why it was getting called twice
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1989 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
Commit
574b02b67402995f04a5991b3cae577ac111af06
by Sven GothelJAWT package cleanup .. re adding accidently removed files
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1675 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
3a24c4dc83fefb51724b0c8d98b4fbc5a26c5be6
by Sven GothelJOGL refactoring: Refactored JOGL into 3 independent components.
1 NWI - Native windowing interface Abstracts the the general NativeWindow interface and it's factory, incl the basic JAWT and Xlib toolkit. The latter was motivated to clean up the JOGL workspace, and to allow other to reuse this part. The generic core is nwi.core.jar, the AWT add-on is nwi.awt.jar.
2 JOGL - The OpenGL mapping Further cleanup of the SPEC. All non OpenGL toolkits are relocated to NWI and NEWT. There is still openmax and the windows audio layer .. Another cleanup of the fixed function pipeline emulation. Moved utilities and implementations where they belong .. Removed GLUnsupportedException. Misc .. changes
3 NEWT - The new windowing toolkit The generic NEWT, newt.core.jar. The JOGL and AWT modules are seperate, newt.ogl.jar newt.awt.jar. Their build can be switched off.
The modules source and builds resides in their own directory. Because of their nature, they share the stub_includes, etc. Each module has it's own ant build script - build-nwi.xml - build-jogl.xml - build-newt.xml They can be build at once using build.xml as ususal, which just invokes the seperate build tasks.
if rootrel.build=build, then the build location is jogl/build-nwi jogl/build-jogl jogl/build-newt and the sources are under jogl/src/nwi jogl/src/jogl jogl/src/newt
Tested: jogl-demos, d4; Linux, MacOsX; Nvidia
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1868 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
bdf2d261c915241ca0a4670bfcefd47d1267d235
by Sven GothelStart moving javax.media.nwi -> javax.media.nativewindow
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1879 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
33d420ef2a006696db3bb8ecf4d9b0f4cc671e6b
by Sven GothelContinue moving javax.media.nwi -> javax.media.nativewindow
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1880 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
c8642443f7c61dd1951c632f9bab053b223fefa5
by Sven GothelContinue moving javax.media.nwi -> javax.media.nativewindow
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1881 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
b2a81dc8258720998c7c3a0d524cb7cdf3a60ba5
by Sven GothelJOGL Added OpenGL 3.0 and 3.1 support 3.0 as part of GL2 (extensions only) 3.1 forward compatible as GL3, ie doesn't contain the GL2 fixed function stuff etc
Added code to retrieve a 3.0/3.1 context: X11/GLX and Windows/WGL TODO: MacOSX !!
Updated GL and GLX extensions
Fixing auto GLProfile selection, determine if GL2ES[1] uses GL2 or ES
Usage of the unified GraphicsConfiguration of NativeWindow for all platforms. Sure, the broken OS (Win32/MacOSX) have a update mechanism for theit queried Capabilities after drawable creation.
Adding X11/GLX GLXFBConfig usage and fixing it's attribute mapping
Fixing GLX/X11 FBConfig/XVisual query function's memory leak, using a manual implementation, which copies the data and calls XFree.
Added WGL extension WGL_ARB_create_context
Tested: Linux x86 and x86_64 GL2, ES2 and ES1 Note: Nvidia driver couldn't make the succesfully created 3.1 context current.
TODO: Verify Windows and MacOSX !!
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1919 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
dd0301a2f37c9810c533b1d3eb7d68ca440d67c8
by Sven GothelTested: - Linux / X11 / GL3 / GL2 / ES1 / ES2 - Using etc/profile.jogl JOGL_ALL . ./setenv-jogl.x86.sh JOGL_ALL - Java2D/GLJPanel: demos.jrefract.JRefract - GLCanvas: demos.gears.Gears - Newt/Nativewindow (demos.GLInfo, demos.es2.RedSquare, demos.es2.RedSquare) - with multiple instances of different GL profiles, ie java demos.es1.RedSquare -GLES2 -GLES1 java demos.GLInfo -GLES2 -GL2 - GL 3.1 test with demos.GLInfo java demos.GLInfo -GL3 java demos.GLInfo -GL3 -GL2 with NVIDIA 180.37.05
JOGL Enable parallel GLProfiles: - GL holds it's GLProfile
- GL / GLBase added: hasGLSL() getGLProfile()
- Removed all hardcoded GLProfile checks
- Make GLProfile an instance of GLCapabilities
- GLCapabilities needs GLProfile in constructor, or null for the default GLProfile
- All GLProfiles are singelton mapped objects, setup and verified at static init.
- All GLDrawableFactories in GLDrawableFactory are singelton objects, setup at static init.
- GLDrawableFactories.getFactory() needs an argument, which leads to GLProfile, ie NativeWindow, AbstractGraphicsConfiguration, GLCapabilities or GLProfile.
- EGLDrawableFactory takes GLProfile as an argument, being able to take the singleton role as ES1 or ES2
- EGLDrawableFactory loads ES & EGL libraries _local_, otherwise the symbols produce a collision (Unix/PC-Emulation). TODO: Check on Windows/WinCE !
- Fixing etc/profile.jogl JOGL_ALL
EGLGraphicsConfigurationFactory - Added eglGetConfigs -> GLCapabilities -> eglChooseConfig, in case the simple eglChooseConfig fails.
- Using given chooser, is null, use DefaultGLCapabilitiesChooser
Moved FixedFuncUtil.class -> jogl.util.jar, otherwise the FixedFuncUtil pipeline cannot be used without emulation.
GLDrawable Rename getChosenGLCapabilities() -> getGLCapabilities(), since all GLCapabilities access functions return the current state. Add getGLProfile()
NativeLibLoader[Base] Added 'addLoaded' and 'isLoaded', so all LoadAction implementation can use it and circumvent double library loading.
GlueGen Split openLibrary -> openLibraryLocal / Global, utilizing as an optional flag (global), which is true per default. TODO: How to do this on Windows ?
TODO: Verify Windows and MacOSX !!
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1922 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
c9ffd9ba1a1fdc9934e517baf96c9f7959f0e5b2
by Sven GothelFix: JAWTUtil has to JAWTNativeLibLoader.loadAWTImpl() as well. Use NWReflection.isClassAvailable() if possible. NWReflection.getClass() takes boolean init.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1956 232f8b59-042b-4e1e-8c03-345bb8c30851
|
Commit
8c57934736fac7b3e268020e64910a984b24e8c6
by Sven GothelPush custom loadLibrary handling down to NativeWindow NativeLibLoaderBase; X11AWTGLXGraphicsConfigurationFactory: Encapsule whole block in lock/unlock to minimize context switch
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@2021 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
Commit
316e43b5a13012ce5f41a03b8b602105921e872b
by Sven Gothelcode review (http://jogamp.org/bugzilla/show_bug.cgi?id=396): improved exception handling in NWReflection and NativeLibLoaderBase. goal was to prevent catch(Throwable) and to fix or document empty catch blocks where it makes sense.
|
|
|
|
Commit
a01cb3d59715a41153380f1977ec75263b762dc6
by Sven GothelImporting files from JOGL (preserving history) git mv src/nativewindow/native/JVM_Tool.c src/native/common/JVM_Tool.c git mv src/nativewindow/classes/com/jogamp/nativewindow/impl/NativeLibLoaderBase.java src/java/com/jogamp/common/jvm/JNILibLoaderBase.java git mv src/nativewindow/classes/com/jogamp/nativewindow/impl/jvm/JVMUtil.java src/java/com/jogamp/common/jvm/JVMUtil.java git mv src/nativewindow/classes/com/jogamp/nativewindow/impl/NWReflection.java src/java/com/jogamp/common/util/ReflectionUtil.java
Adding own JogampRuntimeException and Debug class
|
|