| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
all <module>/** to javadoc.zip. This shall be done for all jogamp modules
|
| |
|
|
|
|
| |
f47e8be170731d75a8b6002621a1541f90160465
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changed GLProfile/NativeWindowFactory/.. initialization methodology:
GLProfile:
public static synchronized void initSingleton(final boolean firstUIActionOnProcess);
NativeWindowFactory:
public static synchronized void initSingleton(final boolean firstUIActionOnProcess);
+++
Introducing NativeWindow ToolkitLock, implementations are
NullToolkitLock
JAWTToolkitLock
X11JAWTToolkitLock
X11ToolkitLock
AbstractGraphicsDevice provides generic global toolkit locking methods,
implemented by the ToolkitLock interface.
ToolkitLock's are aggregated in NativeWindow's DefaultGraphicsDevice
to implement it's superclass lock()/unlock() methods.
This enables a device specific locking strategy, ie on X11/AWT utilizing
JAWT && X11 locking, and maybe none for others (NEWT).
No locking is required for X11 / AWT, in case the above mentioned
initialization happened as a 'firstUIActionOnProcess'.
The ToolkitLock factory is currently a hardcoded part of NativeWindowFactory.
We may have to allow 3rd party NativeWindow implementations
to register custom ones.
+++
com.jogamp.opengl.impl.GLDrawableImpl cleanup:
Dealing with all locking code, providing all public methods. Exceptions are commented.
Specializations x11/windows/.. only contains platform code.
Pulled down access qualifiers if possible public -> protected.
com.jogamp.nativewindow.impl.x11.X11Util
Wrapping all X11Lib method with the new locking code.
com.jogamp.nativewindow.impl.jawt.JAWTUtil
Utilize global SunToolkit.awtLock() is available,
the fallback to global JAWT.lock().
The latter just invokes the first.
javax.media.nativewindow.awt.AWTGraphicsDevice
setHandle(long handle) -> setSubType(String type, long handle)
which also resets the ToolkitLock respecting the new type.
This ensures correct locking after the sub type has been determined,
ie AWT using an X11 peer.
+++
Misc Changes done on the way ..
GLCanvas:
Fixed inversed this.drawableHelper.isExternalAnimatorAnimating() condition,
which disabled normal repaint.
GLJPanel:
Removed drawableHelper.isExternalAnimatorAnimating() condition,
which disabled painting, since the animation thread just updates the source image.
NEWT WindowImpl:
When reparenting back to parent and 'refit' child if it's size exceeds it's parent.
More 'Fix: Memory consumption' commit 6ced17f0325d5719e992b246ffd156e5b39694b4.
NEWTEvent:
Removed code to evaluate the 'system event' attribute, need to find a better approach.
|
| |
|
|
|
|
|
| |
- removed all jars in www/webstart
- deprecated some documents and readmes... feel free to remove some of them if no objections
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
glMap*Buffer*; GLX/WGL/CgGL: All runtime dynamic; Misc ..
TODO: Compile and test on MacOSX ..
Fix:
=====
Multithreading/Locking:
See jogl/doc/Implementation/MultiThreading.txt
- Locking layer is not platform agnostic, ie GLContextImpl, GLDrawableImpl, ..
and NEWT: Window/Display
- No more use of JAWT global lock necessary, removed.
- No need for X11 Display lock, on the contrary,
this made the NV driver hang.
- Use common window/surface lock
- All NativeWindow surfaceLock's are recursive now
glMapBuffer: If size is 0, don't do cont with the native call.
glMapBufferRange: Fix capacity.
glNamedBufferDataEXT: Track the size.
glMapNamedBufferEXT: Manual impl. - use the tracked size
glXGetVisualFromFBConfig, glXChooseFBConfig, glXChooseVisual: Instead of
ignoring and implement a renamed version (*Copied), we just use ManualImplementation
for the proper copy-result code.
DesktopGLDynamicLookupHelper: Initialize _hasGLBinding* attributes
in the determing loadGLJNILibrary() method, which is called by super().
Otherwise static init will overwrite them after the super() call.
X11GLXDrawableFactory: Don't release anything at shutdown (removed sharedContext.destroy()),
since this caused a freeze/SEGV sometimes.
Fixed NEWT's reparentWindow() functionality incl NewtCanvasAWT usage.
- Native: if not visible, don't focus, etc
- NewtCanvasAWT: Use the container size to start with
- Run the command on the EDT
Using GlueGen's new DynamicLibraryBundle utility:
- X11, Windows and MacOSX OpenGL adapted to DynamicLibraryBundleInfo.
- X11GLXDynamicLookupHelper -> X11GLXDynamicLibraryBundleInfo
- Remove all path from lib names.
- GL order: libGL.so.1, libGL.so, GL
- shallLinkGlobal: true -> to server some 'old' DRI systems
-> http://dri.sourceforge.net/doc/DRIuserguide.html
- shallLookupGlobal: false
- Try both : glXGetProcAddressARB and glXGetProcAddress
- Using bootstrap: GLX.glXGetProcAddress(long glxGetProcAddressHandle, String glFuncName)
Found the issue with LIBGL_DRIVERS_PATH, ie if not set
no valid GL instance can be found (ie ATI fglrx/DRI).
This may happen if using a differen user than the desktop user
for whom the env var is set within some /etc/X11/Xsession.d/ script.
Enhancements:
=============
GLBufferSizeTracker: Use IntIntHashMap and add DirectState size tracking.
GLBufferStateTracker: Use IntIntHashMap.
GLStateTracker: Use IntIntHashMap.
GLDynamicLookupHelper: More generic (global loading/lookup and GetProcAddress function name list),
remove redundant code.
FIXME:
MacOSXCGLDynamicLookupHelper:
- Not tested
- Not using NSImage lookup anymore as recommended by OSX API Doc,
so dlsym is used always (to be tested)
WindowsWGLDynamicLookupHelper:
- Not tested
GLX/WGL/CgGL is all runtime-dynamic as now, ie loaded and looked-up at runtime,
no compile time dependencies to GL anymore, nor a need to specify CgGL.
Split up WGL in GDI and WGL, to allow proper dynamic runtime linkage of OpenGL32
while using static binding to GDI32
NEWT events generated by native code are enqueued and not send directly.
This should ease locking mechanisms .. if any are necessary.
NEWT: More platform specific code moved to *Impl method,
simplifying the generic code of the superclass and impl protocol.
Cleanup:
=========
Replace all InternalBufferUtil's with com.jogamp.common.nio.Buffers
Removed all InternalBufferUtil's from repository
Removed GLContextImpl notion of 'optimized' surface locking,
where the surface gets unlocked during makeCurrent/release.
This just makes no sense and would impact multithreading in a horrible way.
|
|/ |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
Conflicts:
doc/HowToBuild.html
|
| | |
|
| | |
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- updated lstjars.sh 32790c376583beccd030eecd7c56cbe66d380172
120kB jogl.gl2.jar (before flattening)
16kB jogl.gl2.jar (after flattening)
Before:
JOGL GL2 AWT
44 gluegen-rt.jar
84 nativewindow.all.jar
148 jogl.core.jar
116 jogl.util.jar
56 jogl.os.x11.jar
120 jogl.gl2.jar
64 jogl.awt.jar
4 libgluegen-rt.so.gz
144 libjogl_desktop.so.gz
8 libnativewindow_x11.so.gz
4 libnativewindow_awt.so.gz
4 libnativewindow_jvm.so.gz
796 total
After:
JOGL GL2 AWT
72 gluegen-rt.jar
80 nativewindow.all.jar
152 jogl.core.jar
116 jogl.util.jar
60 jogl.os.x11.jar
16 jogl.gl2.jar
64 jogl.awt.jar
4 libgluegen-rt.so.gz
120 libjogl_desktop.so.gz
8 libnativewindow_x11.so.gz
4 libnativewindow_awt.so.gz
696 total
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
JOGL-JAR-BUNDELING.txt
A first FAQ about the (new) JAR partitioning.
lstjars/lstjars.linux_amd64-20100406.log
A first deployment payload measurement in kBytes :)
New JAR Partitioning:
All-In-One (*all*):
- with AWT
- without AWT
See JOGL-JAR-BUNDELING.txt
Atomic:
See JOGL-JAR-BUNDELING.txt
- Removed property setup.noall, since the *all* targets are mandatory now.
Currently
- Added gl4 part (still empty)
- Fixed make/lstjars.sh and etc/profile.jogl (new JAR bundles)
- Fixed make/lstjars.sh to produce JAR and PACK200 numbers,
and using the *all* bundles if possible.
MacOsX:
- Fix missing refactoring in src/newt/native/MacWindow.m
- Adding missing NSWindowDelegate protocol to NewtMacWindow
as mandatory since 10.3.6
Misc:
- Applied: 'gluegen.cpptasks.striplibs' to all native libraries.
- Use path.seperator (ant) and system.env.library.path (gluegen),
for junit runs.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
surfaceUpdated(); BroadcomEGL: Use custom surfaceSwap(); GLDrawableImpl's: Utilize NativeWindow's surfaceSwap() and surfaceUpdated(); Fix common enum of GL2ES1 and GL2GL3, merge them in GL
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
produce the Java Web Start native library jar file,
[project]-natives-[os.and-arch].jar, and the top-level build to
produce the developer binary archive, jogl-[version]-[os.and.arch].zip,
as well as the source archive, jogl-[version]-src.zip. (This was only
possible thanks to Sven, who made all of the platforms' Java-level
binaries identical.) More work coming to simplify the dist target and
redo the associated nightly build scripts. Minor documentation updates;
more needed.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1970 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1878 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
the most recent official build
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1639 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1216 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
title, and version history in spec overview; minor Javadoc fixes
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1208 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1167 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
| |
JPackage "compatibility" Java RPMs and JOGL; thanks to Tim Lambert for
providing access to machine allowing this to be tracked down (again)
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1162 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
from Kevin Duling
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1138 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
| |
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1114 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
| |
updated documentation to move certain non-essential portions of home
page into developer documentation.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@995 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GlueGen runtime library (specifically the NativeLibrary class).
Updated the build.xml, in particular the dist targets, to no longer
build or copy this native library. Updated the NativeLibrary class to
allow specification of the full path to the library. Removed the
GlueGen runtime classes from jogl.jar; these are now expected to
reside in gluegen-rt.jar and it is expected that developers will have
this on their CLASSPATH. Updated the dist target to include the
gluegen-rt native library and jar file. Updated the JOGLAppletLauncher
to download and unpack the gluegen-rt-natives jar as well as the
jogl-natives jar. Updated the HowToBuild, user guide, and
JOGLAppletLauncher documentation for this restructuring. Fixed bug in
gluegen-cpptasks.xml in detection of Solaris/SPARCv9 and refactored
targets further. Tested on Solaris/x86 so far; further testing and
debugging of the nightly builds and applet launcher, and update of the
JOGL applet test, to follow.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@993 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
|
|
| |
must explicitly specify -Djogl.GLContext.optimize on the command line
to enable it. Added note to the user guide in the section on X11
platforms discussing this.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@795 232f8b59-042b-4e1e-8c03-345bb8c30851
|
|
|
|
|
|
|
| |
on Windows 64-bit
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@715 232f8b59-042b-4e1e-8c03-345bb8c30851
|