summaryrefslogtreecommitdiffstats
path: root/make/build-jogl.xml
Commit message (Collapse)AuthorAgeFilesLines
* 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)
* Add: Extended support for CVM:sg2158892009-07-121-134/+189
| | | | | | | | | | | | | | | | | | | | | | | | - GLX, CGL, WGL - GL2ES12 desktop ES1 and ES2 common profile Cleanup JAR file seperation - New: jogl.cdcfp.jar (ALL for CVM/CDC) - New: setup.nogl2es12 (Allow GL2ES12 for CVM without gl2/gl3) - Clean dependencies of GLX, WGL, CGL (incl. for GL2ES12) - Only build supported JAR archive, ie if they are being build Fix GL2ES12: Only add impl. for ES1 and ES2 interface methods - Use new com.sun.gluegen.runtime.PointerBuffer, to support CVM - CVM and J2SE Java JAR archives are equal! - Well, the build form *everything* includes some empty directories in the cdcfp JAR archives though. - Removed last AWT dependency in MacOSX chain - GLDrawableFactory - com.sun.opengl.impl.macosx.cgl.MacOSXCGLDrawableFactory - com.sun.opengl.impl.macosx.cgl.awt.MacOSXAWTCGLDrawableFactory
* - Fixed: JOGL Cg Dependencies ..Sven Gothel2009-07-011-63/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Cg classes reside in jogl.cg.jar - Restrict native Cg library dependency only to the jogl cg library, which is loaded from the CgGL class only. - Tested Cg demos with and w/o Cg installation, tested regular GL demos with and w/o Cg installation. (Linux & MacOSX) - jogl/etc/profile.jogl - Changed invocation: $0 <JOGL-PROFILE> [jogl-build-dir] - Autodetects if used from within a autobuild directory - Added it to the autobuild zip file - Fixed: NativeWindow X11GraphicsScreen, adding missing Toolkit locks - Set RI to true ! git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@2009 232f8b59-042b-4e1e-8c03-345bb8c30851
* Thanks to Sven's changes to make each platform build a platform-Kenneth Russel2009-06-181-430/+0
| | | | | | | | | | independent jogl.jar, the "dist" target can now be completely eliminated from the various build.xmls. Removed this to achieve a significant simplification. The nightly build scripts now take care of the needed copying. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1984 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added generation of version.txt files to normal build paths of jogl,Kenneth Russel2009-06-171-12/+17
| | | | | | | | nativewindow, and newt. Fixed detection of whether or not RI build is in progress and thereby format of version number. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1981 232f8b59-042b-4e1e-8c03-345bb8c30851
* Steps toward revamping the dist build. Changed individual builds toKenneth Russel2009-06-171-2/+8
| | | | | | | | | | | | | | 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
* Refactored version number specifications for all sub-components likeKenneth Russel2009-06-161-42/+23
| | | | | | | | | | JOGL and Newt into make/versions.xml. Cleaned up and simplified jar creation targets in build-jogl.xml, build-nativewindow.xml, and build-newt.xml. Fixed nativewindowRIversion, which was incorrectly referring to VERSION instead of only BASEVERSION. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1968 232f8b59-042b-4e1e-8c03-345bb8c30851