summaryrefslogtreecommitdiffstats
path: root/make/build-jogl.xml
Commit message (Collapse)AuthorAgeFilesLines
* Prepend /usr/local/lib to freebsd X11 linkerMark Rothwell2010-06-261-4/+4
|
* But /usr/local/include IS necessary on the default FreeBSD setupMark Rothwell2010-06-261-0/+6
|
* FreeBSD does not use /usr/X11R6 anymore (it became a symlink to /usr/local ↵Mark Rothwell2010-06-261-6/+0
| | | | quite a while ago)
* Split and use new linker definitions for FreeBSDMark Rothwell2010-06-261-2/+20
|
* Fix: Locking/Threading; Common IntIntHashMap and Buffers; Fix: ↵Sven Gothel2010-06-101-20/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* JOGL: Unify library loading (impl and binding), incl. lookup ; ↵Sven Gothel2010-06-041-81/+38
| | | | | | | | | | | | | | | | | | | | | | | | | GLAutoDrawable: dispose() calls only with created context. - Using the EGL approach of DynamicLookupHelper, now generalized in abstract GLDynamicLookupHelper, DesktopGLDynamicLookupHelper and EGLGLDynamicLookupHelper. The implementation of these are self contained. - Sharing common code. - Unifying implementation and binding loading, as well as the function lookup within the impl libs. - Removed DRIHack, since its no more required due to the new DesktopGLDynamicLookupHelper. - Removed compile time link to GL and GLU libs - Removed redundant library OS functions from X11/WGL bindings, GlueGen's common code is being used now. - GLAutoDrawable: dispose() calls only with created context. This cleans up stack traces in case of eventual bugs, where context creation is not successful.
* Changed NEWT NativeWindow creation contract - AWT/NEWT Parenting - Misc FixesSven Gothel2010-05-211-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +++++ Changed NEWT NativeWindow creation contract Original contract: (1) A native window was created as soon as possible, ie when NEWTFactory.createWindow(..) was called - if possible. (2) A valid native window has to be created at least after setVisible(true) has been called. Problems: Not all implementation are able to create the native window that early, but at setVisible(true) only (e.g: KD and EGL). Due to window parenting especially the new AWT/NEWT parenting, the native window can only be created in case the parent native window is valid. New contract: (1) A native window is created at setVisible(true), if it's a top level window or the native parent window is valid. (2) A valid native window may not be created after setVisible(true) has been called. Subsequent setVisible(true) calls shall be made in case the creation has not been done yet. This is demonstrated in GLWindow.display() for example. The new contract implements a lazy native window creation. +++++ AWT/NEWT Parenting - HierarchyListener and ComponentListener ensure that the NEWT child window will be setVisible according to the AWT parent window. - Lazy native window creation relaxes requirements to the parent window's state. - Attachment of the child window and setVisible() may be called after NEWT child window creation. - GLWindow supports NEWT child window creation directly The test case TestParenting01AWT.java reflect this new contract and demonstrates more simplified and more flexible use cases. +++++ NEWT Fixes: - All NEWT implementation's native code method names end with 0. - GLWindow: don't issue the actual 'init'/'display' call to GLEventListeners in case the window is not visible. - NEWT setSize/setPosition: if native-window call native-window action and let the attributes being set by the feedback call, which issues more action, ie RESIZE. else set the attributes directly, no feedback call/action is necessary. +++++ X11 Fixes: - X11GLContext MakeContextCurrent: Use MakeCurrent in case write and read drawable are equal, otherwise SEGV happens on ATI with heavy multithreading involved! Even XLockDisplay and XSync didn't help here .. - X11GLXDrawableFactory shared resource: Removed the resource holder thread to simplify code, hence proper release is no more desired and it could become a cause for deadlock. - Moved XInitThreads() from NEWT X11Window -> NativeWindow X11Util, since NativeWindow is loaded first (essential for XInitThreads()) and it is the more basic lib. - Made call to XInitThreads() conditional, ie it's spared if AWT could be used - which causes SEGV .. (AWT bug). See X11Util.java +++++ JOGL Fixes: - GLProfile.isAWTAvailable() -> NativeWindowFactory.isAWTAvailable() - GLProfile.isAWTJOGLAvailable() -> GLProfile.isAWTAvailable()
* GlueGen/JOGL Windows x86 x86_64 MingW BuildsSven Gothel2010-05-161-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | Property change to allow multilib with same property file: - windows.cg.lib -> windows.cg.lib32 windows.cg.lib64 - x11.cg.lib -> x11.cg.lib32 x11.cg.lib64 Fix windows build/test scripts .. ++++ - mingw linker option: --enable-auto-import - mingw now links against DLLs not libs, due to a runtime error while linking against JAWT ++++ x86: Using mingw 20100514, gcc 4.5.0 - clean - passed all junit.run tests x86_64: Using mingw-w64-bin_x86_64-mingw_20100515_sezero.zip, gcc 4.4.5 20100513 - clean - passed all junit.run tests
* GlueGen/JOGL Windows x86 x86_64 BuildsSven Gothel2010-05-161-2/+18
| | | | | | | | | | x86: Using mingw 20100514, gcc 4.5.0 - clean - passed all junit.run tests x86_64: Using mingw-w64-bin_x86_64-mingw_20100515_sezero.zip, gcc 4.4.5 20100513 - clean - passed most junit.run tests, still buggy
* Fix build HOWTOSven Gothel2010-05-141-4/+4
|
* Xorg libs/headers are in std FS location /usrSven Gothel2010-04-301-6/+6
|
* - JAR Manifest: Trusted-Library: trueSven Gothel2010-04-281-15/+14
| | | | | | | | | | | - Added JAR Manifest to native libs as well, otherwise our chain would become mixed code. - JNLP: Set JogAmp community as vendor .. - JOGL Windows hack: WindowsWGLContext.java - temporary removed the ARB CreateContext path for Windows, due to a bug in this implementation.
* Bring back GL2ES12 impl. for GL2ES1 and GL2ES2 desktop j2se and cdc. Fixing ↵Sven Gothel2010-04-221-6/+74
| | | | profiles accordingly.
* Migrating gl2/gl3/gl4 -> gldesktop. Use JOGL_GLDESKTOP_.. when using ↵Sven Gothel2010-04-221-73/+39
| | | | profile.jogl script
* JOGL GL4 preperation (cont):Sven Gothel2010-04-201-73/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - All available OpenGL versions (native/platform) are verified at GLProfile initialization and can be queried .. A mapping of major,compat -> major,minor,options is created. - Removal of temp context creation, when creating a context. This was necessary to query general availability of ARB_create_context. Due to the shared context of X11GLXDrawableFactory and WindowsWGLDrawableFactory, this is no more necessary. Due to the version mapping, the ARB_create_context paramters are known. - NativeWindow X11Lib: Added X11ErrorHandler, throwing a RuntimeException. Necessary to catch BadMatch .. etc X11 errors, eg for glXCreateContextAttribsARB Hence all X11 calls are covered now. - X11DummyGLXDrawable needs to use an own Window, otherwise GLn n>2 fails - Flattening the desktop GL* implementation, all use GL4bcImpl, which reduces the footprint dramatically. - GL*Impl.isGL*() (desktop) utilizes the GLContext.isGL*(), hence the results reflect the actual native context version. - GLContextImpl makeCurrent/create: Added workflow documentation, clarified code, defined abstract methods to have a protocol. - Removed moved files (from here to gluegen), see gluegen a01cb3d59715a41153380f1977ec75263b762dc6 - NativeLibLoader -> <TYPE>JNILibLoader - Fixed Exception Handling (as in gluegen bce53b52c8638729750c4286dbc04cb14329fd34), ie removed empty catch Throwable .. - GLContext.setSwapInterval(): Nop in offscreen case, otherwise X11IOError (NVIDIA Bug) Test: Tests - Junit - demos.gears.Gears - demos.jrefract.JRefract Platforms - Linux 64/32 ATI/NVidia - MacOsX - Windows (virtualbox 3.1.6, offscreen failed) TODO/BUGS: - FIXME ATI GLn n>2 with AWT, can't make context current, works well on NVIDIA though - FIXME GL3GL4: Due to GL3 and GL4 implementation bugs, we still choose GL2 first, if available! - Add GL 3.3 to GL3/gl3ext.h - Add GL 4.0 to GL3/gl3ext.h and fix the GL3/GL4 seperation - Rename jogl.gl2.jar -> jogl.gldesktop.jar (as done with it's native lib already)
* JOGL GL4 preperation:Sven Gothel2010-04-161-1/+2
| | | | | | | | | | | | | | - Re-Enable GL3bc native library build, works .. - Adding all the is/get GL4/GL4bc stubs .. - Adding dummy interface GL4 and GL4bc, will be removed when done - Context creation refactoring: - Move Version information to GLContext - Determine version by creation if possible (ARB_create_context), only use the unreliable GL_VERSION string if necessary. - Offering an almost platform independent ARB_create_context path: - createContextARBImpl - platform dependent GLX calls - createContextARB - platform independent setup and version loop
* ATI (fglrx) PBuffer/X11Display bug workaround/cleanupSven Gothel2010-04-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - See https://bugzilla.mozilla.org/show_bug.cgi?id=486277 - Description: - To use PBuffer, a context must be current - X11Display cannot be switched while using the PBuffer [within one thread]. Hence we shall try harder to reuse _the_ user configured X11Display - whenever possible. This is actually a good thing, ie cleanup up our code again. - Changes to workaround/cleanup: - GLDrawableFactory* methods 'canCreate*()' are changed to 'canCreate*(AbstractGraphicsDevice)' to allow pipelining the X11Display. This reduces the overhead of using a local TLS X11Display. - WindowsDummyWGLDrawable cstr gets the GLProfile as a parameter now, this is done while adding X11DummyGLXDrawable - forseeing the usecase to query available GLProfiles at startup. - X11DummyGLXDrawable added, following the WindowsDummyWGLDrawable path to have a dummy GLContext current to fix the ATI bug. NativeWindow X11: - Add XIOErrorHandler to identify the fatal failure of closing a Display (-> ATI bug). Build: - Adding ant.jar and ant-junit.jar to the junit compile/run classpath - Misc: - Fix: CreateDummyWindow(..) returns a HWND, not a HDC - mapToRealGLFunctionName: Added mapping for X11/GLX. - X11GLXGraphicsConfigurationFactory: Uncommented dead code 'createDefaultGraphicsConfigurationFBConfig' Tests: Passed (Linux64bit: NVidia/ATI) Todo: More tests on ATI, especially multithreading/X11Display usage.
* *** Now Using Apache-Ant-1.8.0 ***Sven Gothel2010-04-101-0/+5
| | | | | | | | | | | | | | | | | | | | Cleanup: - Adding Javac includeAntRuntime argument (false whenever possible) - Clear junit results folder before testing - <ant ..> tasks, use inheritRefs="true" inheritAll="true" whenever possible for better performance and consistency (no duplicate property names). The JOGL build -> build-<component> tree is clean in this respect. junit.run: Test*NEWT* Emulation of junit task, due to the fact that we have to place invoke our MainThread class first (-> MacOSX). Utilizing Ant-1.8.0 and ant-contrib-1.0b3 (loops, mutable properties). Fixed NEWT tests: - No more println .. using Assertions .. - Offscreen produces 2 files correctly (Linux/NVidia, OSX/NVidia, Win32/Emulation)
* Cleanup ant files, intro: build-common.xml used for all targets; Extracting ↵Sven Gothel2010-04-091-442/+172
| | | | build-junit.xml
* Added doc/deployment:Sven Gothel2010-04-081-101/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* fixed bug where gl3 impl package was placed in jogl.gl2.x11.jar.Michael Bien2010-03-291-4/+31
| | | | build creates now jogl.gl3.<os>.jar for each os.
* renamed platform dependent BufferUtil into java file.Michael Bien2010-03-291-3/+1
|
* moved com.jogamp.javafx.* to com.jogamp.*.Michael Bien2010-03-291-5/+5
|
* final large refactoring to move to com.jogamp.*.Michael Bien2010-03-281-12/+12
|
* refactoring: renamed com.sun.opengl -> com.jogamp.opengl.Michael Bien2010-03-271-57/+57
|
* refactoring due to gluegen changes.Michael Bien2010-03-271-1/+1
| | | | - renamed com.sun.gluegen.runtime -> com.jogamp.gluegen.runtime.
* http://www.jogamp.org/bugzilla/show_bug.cgi?id=378Sven Gothel2010-03-261-1/+2
| | | | | | | | | | | | | | Changed solution with a necessary API change of TextureData etc. Adding required GLProfile element to the factories etc, so it is clear for which GLProfile data is being created without the need of a current GLContext. TextureData/AWTTextureData: Removed the glPostInit* effort .. IMPACT: Texture util's API change - minor user code change necessary. +++
* modified junit.run target to write junit test results to file (->ready for ↵Michael Bien2010-03-251-6/+9
| | | | hudson).
* http://www.jogamp.org/bugzilla/show_bug.cgi?id=378Sven Gothel2010-03-251-1/+74
| | | | | | | | | | | | | | | | | Test: Added JUNIT Test Environment: - tests: jogl.test.jar - run: 'ant junit.run' Currently only runs 1 test regarding this bug id. Adding PATH (windows) or LD_LIBRARY_PATH (unix). Test initialized AWTTextureData without a current GLContext and then uses it to render .. Solution: Pending initialization of GL depending data, offered in TextureData.glPostInit(), specialized in AWTTextureData.
* build should use gluegen.root property where possible.Michael Bien2009-11-291-5/+5
|
* javadoc fixAwayFromSunSven Gothel2009-11-101-0/+6
|
* Add OpenGL 3.x compatibility profile GL3bc,Sven Gothel2009-10-181-5/+27
| | | | | | | | | | | where 'bc' is not a religious remark, but simply means 'backward compatible' :) GL3bc := GL2 + GL3, hence the interface does not define any new values or methods. Moved GL3's 3.1 part from gl3.h to gl3ext.h, so it can be included in gl3bc.c, besides gl2.h.
* Allow custom user gluegen.compiler.xml ; NEWT: Example ↵Sven Gothel2009-10-021-4/+1
| | | | lib/gluegen.compiler.intelgdl.xml
* Fix MacOSX External GLContextSven Gothel2009-09-251-0/+2
|
* Adding jogl.all-noawt.jar and newt.all-noawt.jar and their jnlp descSven Gothel2009-09-111-2/+13
|
* Update GlueGen to 7dc9c5601d5689dcbc003ca51cfe826942ea3e6b (latest)Sven Gothel2009-08-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | - Fixes for OpenGL 3.2 - More strict define/function checking - Better documentation in source code: extension relation - GL extension marker exclusion is done by GlueGen now - Adapted gluegen cfg files Added OpenGL 3.2 extensions for GL3 Revalidation of all OpenGL 2.0/3.0/3.1 and 3.2 extensions GL2GL3 based on OpenGL 2.0/3.0 headers EGL shares common egl-common.cfg file Removed experimental java system property 'jogl.GLContext.3_2', try a 3.2 context in case of GL3. X11GLXContext: - Always try to make a created context current, to verify it's usability. This is different than under WGL. - Temporary removed usage: GLX.GLX_CONTEXT_PROFILE_MASK_ARB NV driver bug.
* JOGL:Sven Gothel2009-07-311-1/+1
| | | | | | | | | - GL2ES12: - Fix calling convention, broke on Windows. - Remove GL_APIENTRY on gl2/gl3 header: This was a bug. - Using proper GL2's APIENTRY - jogl.all.jar: Add missing shader code ..
* Gluegen:Sven Gothel2009-07-311-40/+40
| | | | | | | | | | | | | | | | | | | | | | | | - Fix array element type name and const qualifier JOGL: - GL3: Set ArgumentIsString for GL3.1 methods - JAR file creation: Add 'filesonly' option - GLU: Static check of available impl., better fallback for GL2 without GLUgl2. - WGL: (Performance + Java2D/GL FBO works again) - Refactor WGL_ARB_pixel_format's HDC -> GLCapabilities: HDC2Caps - Revert change where we always create a dummy drawable/context for WGL selection (HDC2Caps). In case of no multisampling, use PFD2Caps only. - Update config using HDC2Caps (WGL_ARB_pixel_format) after context creation, if not done already -> updateCapabilitiesByWGL(). - profile.jogl: Add debug jars
* Fixed GL* documentation. Moved common GL functions to GLBase. Moved ↵sg2158892009-07-291-7/+31
| | | | glAllocateMemoryNV to GL2GL3 only. Add GL2GL3 interface. Fix some GL2 signatures. BroadcomEGL disable custom setSize().
* Cleanup ..sg2158892009-07-281-19/+5
|
* Add Custom NativeWindow Type 'BroadcomEGL' ↵sg2158892009-07-271-36/+3
| | | | (-Dnativewindow.ws.name=BroadcomEGL): 1st Draft of supporting broadcom's proprietary EGL mapping
* Merge branch 'MIPS_PORT' of ssh://[email protected]/jogl~jogl-git ↵Morris Meyer2009-07-271-1/+1
|\ | | | | | | into MIPS_PORT
| * Fix: Add gluegen.cpptasks.detect.os callsg2158892009-07-261-1/+1
| |
* | mips changesMorris Meyer2009-07-271-1/+9
|/
* Add: Extended support for CVM crosscompile:sg2158892009-07-241-57/+115
| | | | | | | | | | | | | | | | | | | - Clean up X11 dependency - NativeWindow: - Seperate X11 out of core. - Add nativewindow.x11.jar and nativewindow.x11.cdc.jar - Newt: - Seperate X11,win,osx out of core. - Add newt.x11.jar, newt.win.jar, newt.osx.jar and the CDC variants Fix: External Context & Drawable (X11 and Windows) - Properly fetch current context values (ctx, display, drawable, ..) - Create GraphicsConfiguration based on the given pixelformat/FBConfig Fix: Java2D OpenGL Usage - Using the external context as shared for the external drawable - JAWTUtil: Skip locking in case of OGL-Flush-Queue - TODO: Windows FBO still does not work .. (X11 is fine)
* Adding Debug/Trace for GL2ES1 and GL2ES2sg2158892009-07-171-14/+21
|
* Fix CDC JAR unificationCDC_CVM_Integrationsg2158892009-07-151-4/+4
|
* Build CDC named JARs for CVM in default build, no more specialized build ↵sg2158892009-07-151-1/+1
| | | | necessary.
* Build CDC named JARs for CVM in default build, no more specialized build ↵sg2158892009-07-151-333/+281
| | | | necessary.
* Adding missing GL3 Debug/Trace to gl2 dbg JAR; Verifying unified CDCFP JARs ↵sg2158892009-07-131-1/+1
| | | | of cdcfp-build vs all-build (OK)