aboutsummaryrefslogtreecommitdiffstats
path: root/make
Commit message (Collapse)AuthorAgeFilesLines
* - Fixing SPEC documentation for bindings JOGL and NativeWindow, Sven Gothel2009-06-115-44/+214
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix/Clean EGL path; Adding Windows AWT path; Windows works with MinGW (GL2)Sven Gothel2009-06-052-5/+5
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1925 232f8b59-042b-4e1e-8c03-345bb8c30851
* Compile clean under windowsSven Gothel2009-06-044-2/+22
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1924 232f8b59-042b-4e1e-8c03-345bb8c30851
* Tested:Sven Gothel2009-06-0310-51/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* JOGLSven Gothel2009-05-2945-313/+3827
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Optimized GLU creation by caching Class object for implementationKenneth Russel2009-05-221-8/+20
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1910 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactored shader-related utility routines from core GL2ES2 class intoKenneth Russel2009-05-223-283/+0
| | | | | | | | | | | | ShaderUtil class. Added GLContext.getAttachedObject(String) and putAttachedObject(String, Object) to allow arbitrarily named objects to be attached to GLContext. Removed explicitly defined toString() operations on GL implementations which were problematic and which would have required downward references into com.sun.opengl.util.glsl package after this refactoring. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1909 232f8b59-042b-4e1e-8c03-345bb8c30851
* Recently code (UnifiedName, GLUnifiedName) was added to GlueGen toKenneth Russel2009-05-2010-14/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | automatically detect duplicate constant and function definitions between vendor and ARB extensions and the OpenGL core, and to remove the suffixes of ARB extensions. This code has helped automate the process of discovering extensions that were promoted into the OpenGL core. While this code has saved some manual effort, it has also caused several problems: 1. It causes obsolete ARB extensions to be incorrectly moved into the core OpenGL namespace. GL_ARB_texture_rectangle, GL_ARB_vertex_blend, and GL_ARB_matrix_palette are examples of extensions that should not have their ARB suffixes removed because they are dead-end extensions. Definitions which are explicitly specified that they will change, such as those in the EGL_KHR_sync extension, were also incorrectly moved into the core namespace. 2. It has caused certain OpenGL ES-specific definitions to accidentally be promoted into the core OpenGL namespace: for example, the constants associated with the GL_OES_point_size_array extension, which were incorrectly placed into the GL2ES1 interface. 3. It causes namespace collisions between certain ARB extensions that are only accessible via their ARB entry points and core OpenGL routines: specifically GL_ARB_vertex_program and GL_ARB_fragment program. Based on tests on NVIDIA's drivers, when a developer wants to use the earlier ARB_vertex_program and ARB_fragment_program semantics rather than GLSL, it is mandatory to use the ARB entry points rather than the core OpenGL entry points. 4. It is not easy to configure the behavior of this automatic merging, nor easy to see how it would be extended to be configurable. 5. It does not address the problem of detecting which extensions are common between desktop OpenGL and OpenGL ES. A different algorithm would be needed to solve that problem. 6. It has a high degree of functional overlap to the IgnoreExtension directive which has previously been used to ignore ARB extensions that were promoted into the OpenGL core. There were already IgnoreExtension directives in place for all of the OpenGL extensions subsumed in OpenGL 1.1 through 1.3. 7. It has been the cause of several bugs and unexpected interactions with the Ignore and ForceProcAddressGen directives. After careful consideration, it appears that the problems with this code outweigh the benefits and it has been removed. The run-time code which attempts to find extension variants of core entry points has been retained, however. To reduce the amount of subsequent manual work, the following additions have been made: 1. A generic SymbolFilter mechanism has been added to GlueGen, which can be used to pre-process the entire set of constant and function definitions at any time during glue code generation (although it is recommended to do so at the beginning of processing, i.e., in GlueEmitter.beginEmission()). 2. The RenameJavaMethod directive has been generalized to RenameJavaSymbol, and can now work on constant definitions. 3. A ConstantDefinition class has been added. 4. A RenameExtensionIntoCore directive has been added to the GLEmitter which will rename all constant definitions and entry points associated with a particular OpenGL extension into the core namespace, i.e., stripping off any ARB or similar suffixes. 5. An AutoUnifyExtensions directive has been added which is disabled by default but which will automatically ignore any OpenGL extension which has been completely subsumed into the OpenGL core and, if not, print out the first declaration in that extension which caused it to fail to be ignored. The extensions common between OpenGL ES and desktop OpenGL have now largely been moved into the core namespace using the RenameExtensionIntoCore directive. A couple of these extensions had slight differences between desktop OpenGL and OpenGL ES; the common declarations were renamed manually. IgnoreExtension directives have been added for those ARB extensions promoted into the OpenGL core up to OpenGL 2.1. A few extensions which were either silently promoted into the core specification (GL_EXT_paletted_texture) or are obsolete (GL_EXT_multisample, GL_EXT_point_parameters) were also ignored. The GlueGen runtime code which looks up extension versions of core APIs via GLExtensionNames makes this possible without breaking compatibility on older machines that do not support OpenGL 2.1 directly. With these changes, the same effect as the automatic extension unification mechanism has been achieved, with much more explainable and controllable results. Before-and-after versions of all of the public interfaces (GL, GL2ES1, GL2ES2, GLES1, GLES2, and GL2) have been compared by hand to ensure that the results are as expected and desired. Bugs in BuildStaticGLInfo were fixed which were preventing the extension associations in the OpenGL ES headers from being discovered. getExtensions() was added to be able to enumerate the discovered extensions. Most .cfg files were changed to parse both the desktop OpenGL and the OpenGL ES headers using the GLHeaders directive so that the extension associations are known for both sets of APIs. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1908 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed unneeded dependence on GL/glx.h; verified that JOGL can now beKenneth Russel2009-05-011-1/+0
| | | | | | | built on an X11 machine without OpenGL headers, but with OpenGL librares git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1907 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Solaris buildKenneth Russel2009-04-301-1/+4
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1906 232f8b59-042b-4e1e-8c03-345bb8c30851
* Renamed gl-ignore-gl2_es12-special.cfg to gl-if-gl-ignores.cfg for clarityKenneth Russel2009-04-282-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1905 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build problems with nativewindow and newt with Visual Studio 2008Kenneth Russel2009-04-262-2/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1904 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fix: glShaderCompilerAvailable() and glGetShaderBinaryFormats()Sven Gothel2009-03-201-0/+6
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1897 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fix build all javadoc generated source pathSven Gothel2009-03-201-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1895 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fix GL2ES12.isGL() and re-adding the shader code to the jarSven Gothel2009-03-202-1/+6
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1893 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fix some scripts, AWTAnimator to it's awt packageSven Gothel2009-03-203-21/+27
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1891 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed GL2ES12 interface from the public API since it is only anKenneth Russel2009-03-194-38/+40
| | | | | | | | | | | | | | implementation detail. Removed GL2ES12 queries from the GLProfile class. Changed GL2ES12 instance to pay attention to the chosen profile so it behaves only like either GL2ES1 or GL2ES2. Sven's fixed function emulation can now be tested on the desktop without needing OpenGL ES emulation libraries. However, there appear to be problems running it on top of Apple's OpenGL implementation -- seen by running demos.es1.RedSquare and demos.es1.angeles.Main forcing the use of the GL2ES2 profile. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1889 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed reflective queries from GLProfile and their use inKenneth Russel2009-03-191-1/+0
| | | | | | | | BuildComposablePipeline's generated code. Stopped squelching exceptions in GlueGen. Fixed error in glxext.cfg. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1888 232f8b59-042b-4e1e-8c03-345bb8c30851
* Moved remaining portions of fixed function emulation out of core JOGLKenneth Russel2009-03-1926-163/+203
| | | | | | | | | | | | | | | | | | public and implementation packages and into com.sun.opengl.util.glsl.fixed.* and other subpackages of com.sun.opengl.util. Renamed javax.media.opengl.sub.GLObject to javax.media.opengl.GLBase. Moved interfaces in javax.media.opengl.sub.fixed to javax.media.opengl.fixedfunc and changed naming convention. Moved all classes in javax.media.opengl.util to com.sun.opengl.util. Moved com.sun.opengl.impl.packrect to com.sun.opengl.util.packrect. Renamed InternalBufferUtils to InternalBufferUtil to match naming convention and copied in needed routines for GLU and other classes. Fixed build breakage when specifying rootrel.build property; reintroduced build-temp directory. Updated demos. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1886 232f8b59-042b-4e1e-8c03-345bb8c30851
* Movement of Capabilities class and chooseCapabilities functionalityKenneth Russel2009-03-1911-21/+21
| | | | | | | | | | | | | | | | | | | | | | 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
* Finish (?) moving javax.media.nwi -> javax.media.nativewindowKenneth Russel2009-03-1710-28/+28
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1882 232f8b59-042b-4e1e-8c03-345bb8c30851
* Continue moving javax.media.nwi -> javax.media.nativewindowKenneth Russel2009-03-1711-276/+277
| | | | 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
* Continue moving javax.media.nwi -> javax.media.nativewindowKenneth Russel2009-03-173-0/+0
| | | | 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
* Added back "clean" targetKenneth Russel2009-03-161-0/+6
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1876 232f8b59-042b-4e1e-8c03-345bb8c30851
* repairSven Gothel2009-03-161-5/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1874 232f8b59-042b-4e1e-8c03-345bb8c30851
* repairSven Gothel2009-03-163-0/+2497
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1873 232f8b59-042b-4e1e-8c03-345bb8c30851
* JOGL refactoring:Sven Gothel2009-03-1675-530/+452
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* NEWT window closing:Sven Gothel2009-03-149-36/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - New WindowEvent.EVENT_WINDOW_DESTROY_NOTIFY and WindowListener.windowDestroyNotify() method. - Removed windowClosed() method for JNI hook - Added windowDestroyNotify() windowDestroyed(), where windowDestroyNotify() shall be called by the native implementation _before_ the window gets shutdown. The Window.java then sends a WindowEvent.EVENT_WINDOW_DESTROY_NOTIFY event, and either Window.java or it's owner GLWindow.java issues the destroy() procedure. - Added GLEventListener.dispose(GLAutoDrawable), to allow user application to release GL ressources. Issued by GLWindow (-> see windowDestroyNotify()) - X11 impl intercepts WM_DELETE_WINDOW, using Atom, MacosX impl already uses the _before_ method (VERIFY), and Windows impl uses the WM_CLOSE event (VERIFY). JOGL2 dispose/destroy .. - Added GLEventListener.dispose() to GLCanvas and GLJpanel - GL* toString() rearrangement, assumes it is issued by GLContext(), which indeed is the core information node. - Added proper destroy() methods and calls, to achieve a proper resource release at destruction. Instrumentizing almost all classes with a destroy() method, so no release function lookup is necessary. - misc changes .. JOGL2 Demos - Fixed in regards to the above changes git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1867 232f8b59-042b-4e1e-8c03-345bb8c30851
* javadoc update (2)Sven Gothel2009-03-131-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1865 232f8b59-042b-4e1e-8c03-345bb8c30851
* javadoc updateSven Gothel2009-03-132-5/+5
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1864 232f8b59-042b-4e1e-8c03-345bb8c30851
* New package Native Window Interface 'java.media.nwi',Sven Gothel2009-03-135-12/+18
| | | | | | | to loose JOGL dependencies for the moved interfaces, mainly NativeWindow. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1863 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fix NEWT X11 KeymappingSven Gothel2009-03-131-0/+14
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1862 232f8b59-042b-4e1e-8c03-345bb8c30851
* Unified some double GL enums (register combiner), ..Sven Gothel2009-03-062-27/+28
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1857 232f8b59-042b-4e1e-8c03-345bb8c30851
* - Fixed rootrel.build usage, this works properly through gluegen, jogl-demos ↵Sven Gothel2009-03-0538-1061/+609
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fixed ArgumentIsString directive for glProgramStringARB (nowKenneth Russel2009-01-122-0/+2
| | | | | | | | | | glProgramString) and updated demos. Added FIXME to gl-ignore-gl2_es12-special.cfg about definitions that it seems should be in the GL interface (such as the GL_ARB_imaging definitions) as they are replicated in the GL2ES1 and GL2ES2 interfaces. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1844 232f8b59-042b-4e1e-8c03-345bb8c30851
* Native (non-AWT) port of Newt to Mac OS X using Cocoa. MostKenneth Russel2009-01-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | functionality (mouse click, mouse motion, mouse dragging, keyboard events) appears to be working. Currently works with the Apple JRE and requires the JVM command-line arguments -XstartOnFirstThread and -Djava.awt.headless=true . Will work with the standalone SoyLatte JRE pending additional launcher changes. Tested with Angeles demo and various JavaFX demos. Added -Dnewt.ws.name=AWT option to force the use of the AWT port of Newt on any supported platform. Known bugs: - While resizing a window or dropping down a menu, the application will hang. This is due to how the event processing is currently done in Newt (via Window.dispatchMessages()) and how Mac OS X deals with resize operations (by pushing a nested event loop into which we have no visibility). There are at least a couple of solutions. One would be to preserve the current API semantics but use a Newt Launcher class to move main() on to a different thread, saving the primordial thread for [NSApplication run]. Another would be to move Newt (and, by association, the JavaFX runtime code) to a callback model like GLUT. - Command-Q and the Quit menu option do not yet properly exit the application. - The coordinates for the WINDOW_MOVED event are wrong. Added the rest of the VK_ constants to the KeyEvent class. Made preliminary changes to support the SoyLatte JRE. Worked around initialization order issues with Fmod. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1838 232f8b59-042b-4e1e-8c03-345bb8c30851
* Moved FileUtil and StreamUtil classes back into com.sun.opengl.utilKenneth Russel2008-12-301-1/+1
| | | | | | | | | package. Moved TGAWriter back into com.sun.opengl.util package to prevent creating a new package for a single class. Updated implementation and demos. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1836 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactored AWT dependencies in Animator class differently to allowKenneth Russel2008-12-301-2/+2
| | | | | | | | | | | both Animator and FPSAnimator to pick up AWT behavior when available. Moved Animator and FPSAnimator back to com.sun.opengl.util package as it is unclear whether these classes are useful enough on all platforms and profiles to warrant inclusion in the public specification. Updated demos. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1835 232f8b59-042b-4e1e-8c03-345bb8c30851
* Cleaned up java.part.util.gl2 definition after movement of GLUT classes.Kenneth Russel2008-12-301-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1834 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed more bugs in glue code generation related to using opaque longKenneth Russel2008-12-202-3/+7
| | | | | | | | | | | type for pointers returned in arrays: specifically, the return value of glXChooseFBConfig. However, this fix contains an inherent memory leak for certain C APIs because the original Buffer is not necessarily available to be manually freed. Still, fixes remaining problems with pbuffer support on X11 platforms. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1825 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug in glMapBuffer native code generation and bug inKenneth Russel2008-12-164-8/+8
| | | | | | | VertexBufferObject demo git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1821 232f8b59-042b-4e1e-8c03-345bb8c30851
* OMX cleanup - generic toolSven Gothel2008-12-013-10/+10
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1812 232f8b59-042b-4e1e-8c03-345bb8c30851
* ? buildSven Gothel2008-11-292-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ? make/GnuCTreeParserTokenTypes.txt ? make/STDCTokenTypes.txt ? make/make.jogl.all.linux-x86.log ? make/make.jogl.cdcfp.linux-x86.log ? make/make.jogl.doc.all.log Index: make/build.xml =================================================================== RCS file: /cvs/jogl/make/build.xml,v retrieving revision 1.141.2.55 diff -r1.141.2.55 build.xml 356a357 > <property name="rootrel.src.c.openmax" value="src/native/openmax" /> 1453a1455 > <includepath path="stub_includes/openmax" if="useOpenMAX"/> Index: make/make.jogl.cdcfp.linux-x86.sh =================================================================== RCS file: /cvs/jogl/make/Attic/make.jogl.cdcfp.linux-x86.sh,v retrieving revision 1.1.2.5 diff -r1.1.2.5 make.jogl.cdcfp.linux-x86.sh 10c10 < # -Djava.generate.skip=true --- > # -Djava.generate.skip=true \ 20a21 > -Djava.generate.skip=true \ Index: src/classes/com/sun/javafx/media/video/openmax/OMXMoviePlayerImpl.java =================================================================== RCS file: /cvs/jogl/src/classes/com/sun/javafx/media/video/openmax/Attic/OMXMoviePlayerImpl.java,v retrieving revision 1.1.2.1 diff -r1.1.2.1 OMXMoviePlayerImpl.java 354a355 > gl.glDisable(gl.GL_TEXTURE_2D); Index: src/classes/javax/media/opengl/GLArrayDataWrapper.java =================================================================== RCS file: /cvs/jogl/src/classes/javax/media/opengl/Attic/GLArrayDataWrapper.java,v retrieving revision 1.1.2.1 diff -r1.1.2.1 GLArrayDataWrapper.java 165a166 > this.normalized = normalized; Index: src/native/newt/KDWindow.c =================================================================== RCS file: /cvs/jogl/src/native/newt/Attic/KDWindow.c,v retrieving revision 1.1.2.4 diff -r1.1.2.4 KDWindow.c 66c66 < #define DBG_PRINT(...) fprintf(stderr, __VA_ARGS__) --- > #define DBG_PRINT(...) fprintf(stdout, __VA_ARGS__) 73,74c73,74 < #define STDOUT_FILE "\\Storage Card\\jogl_demos\\stdout.txt" < #define STDERR_FILE "\\Storage Card\\jogl_demos\\stderr.txt" --- > #define STDOUT_FILE "\\Storage Card\\stdout.txt" > #define STDERR_FILE "\\Storage Card\\stderr.txt" Index: src/native/openmax/com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl.c =================================================================== RCS file: /cvs/jogl/src/native/openmax/Attic/com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl.c,v retrieving revision 1.1.2.1 diff -r1.1.2.1 com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl.c 74c74 < JNIEXPORT jlong JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1createInstance --- > JNIEXPORT jlong JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1createInstance 87c87 < JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1setStream --- > JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1setStream 105c105 < JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1updateStreamInfo --- > JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1updateStreamInfo 117c117 < JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1setEGLImageTexture2D --- > JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1setEGLImageTexture2D 129c129 < JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1activateInstance --- > JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1activateInstance 142c142 < * Class: com_sun_javafx_media_video_openmax_OMXMovieImpl --- > * Class: com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl 146c146 < JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1play --- > JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1play 149c149 < //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1play\n"); --- > //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1play\n"); 161c161 < * Class: com_sun_javafx_media_video_openmax_OMXMovieImpl --- > * Class: com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl 165c165 < JNIEXPORT jlong JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1stop --- > JNIEXPORT jlong JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1stop 174c174 < * Class: com_sun_javafx_media_video_openmax_OMXMovieImpl --- > * Class: com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl 178c178 < JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1setVolume --- > JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1setVolume 185c185 < * Class: com_sun_javafx_media_video_openmax_OMXMovieImpl --- > * Class: com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl 189c189 < JNIEXPORT jlong JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1getCurrentPosition --- > JNIEXPORT jlong JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1getCurrentPosition 198c198 < * Class: com_sun_javafx_media_video_openmax_OMXMovieImpl --- > * Class: com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl 202c202 < JNIEXPORT jlong JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1getCurrentLoaded --- > JNIEXPORT jlong JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1getCurrentLoaded 210c210 < JNIEXPORT jlong JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1getDuration --- > JNIEXPORT jlong JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1getDuration 218c218 < * Class: com_sun_javafx_media_video_openmax_OMXMovieImpl --- > * Class: com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl 222c222 < JNIEXPORT jlong JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1step --- > JNIEXPORT jlong JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1step 225c225 < //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1step\n"); --- > //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1step\n"); 232c232 < * Class: com_sun_javafx_media_video_openmax_OMXMovieImpl --- > * Class: com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl 236c236 < JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1setRate --- > JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1setRate 239c239 < //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1setRate\n"); --- > //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1setRate\n"); 244c244 < * Class: com_sun_javafx_media_video_openmax_OMXMovieImpl --- > * Class: com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl 248c248 < JNIEXPORT jlong JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1setCurrentPosition --- > JNIEXPORT jlong JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1setCurrentPosition 251c251 < //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1setRate\n"); --- > //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1setRate\n"); 257c257 < * Class: com_sun_javafx_media_video_openmax_OMXMovieImpl --- > * Class: com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl 261c261 < JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1lock --- > JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1lock 264c264 < //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1lock\n"); --- > //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1lock\n"); 269c269 < * Class: com_sun_javafx_media_video_openmax_OMXMovieImpl --- > * Class: com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl 273c273 < JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1unlock --- > JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1unlock 276c276 < //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1unlock\n"); --- > //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1unlock\n"); 281c281 < * Class: com_sun_javafx_media_video_openmax_OMXMovieImpl --- > * Class: com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl 285c285 < JNIEXPORT jint JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1getTextureID --- > JNIEXPORT jint JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1getTextureID 288c288 < //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1getTextureID\n"); --- > //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1getTextureID\n"); 299c299 < * Class: com_sun_javafx_media_video_openmax_OMXMovieImpl --- > * Class: com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl 303c303 < JNIEXPORT jint JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1getWidth --- > JNIEXPORT jint JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1getWidth 306c306 < //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1getWidth\n"); --- > //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1getWidth\n"); 318c318 < * Class: com_sun_javafx_media_video_openmax_OMXMovieImpl --- > * Class: com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl 322c322 < JNIEXPORT jint JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1getHeight --- > JNIEXPORT jint JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1getHeight 325c325 < //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1getHeight\n"); --- > //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1getHeight\n"); 337c337 < * Class: com_sun_javafx_media_video_openmax_OMXMovieImpl --- > * Class: com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl 341c341 < JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1task --- > JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1task 348c348 < * Class: com_sun_javafx_media_video_openmax_OMXMovieImpl --- > * Class: com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl 352c352 < JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1destroyInstance --- > JNIEXPORT void JNICALL Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1destroyInstance 355c355 < //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMovieImpl__1destroy\n"); --- > //fprintf(stdout, "Java_com_sun_javafx_media_video_openmax_OMXMoviePlayerImpl__1destroy\n"); Index: src/native/openmax/omx_tool.c =================================================================== RCS file: /cvs/jogl/src/native/openmax/Attic/omx_tool.c,v retrieving revision 1.1.2.1 diff -r1.1.2.1 omx_tool.c 3a4,25 > #define VERBOSE_ON 1 > #define VERBOSE2_ON 1 > > #ifdef VERBOSE_ON > #define DBG_PRINT(...) fprintf(stdout, __VA_ARGS__) > #else > #define DBG_PRINT(...) > #endif > > #if defined(VERBOSE_ON) && defined(VERBOSE2_ON) > #define DBG_PRINT2(...) fprintf(stdout, __VA_ARGS__) > #else > #define DBG_PRINT2(...) > #endif > > #ifdef VERBOSE_ON > #ifdef _WIN32_WCE > #define STDOUT_FILE "\\Storage Card\\stdout.txt" > #define STDERR_FILE "\\Storage Card\\stderr.txt" > #endif > #endif > 29c51 < fprintf(stderr, "RuntimeException: %s\n", buffer); fflush(stderr); --- > DBG_PRINT( "RuntimeException: %s\n", buffer); 86a109,116 > > #ifdef VERBOSE_ON > #ifdef _WIN32_WCE > _wfreopen(TEXT(STDOUT_FILE),L"w",stdout); > _wfreopen(TEXT(STDERR_FILE),L"w",stderr); > #endif > #endif > 104d133 < _hasEGLSync = 0; // JAU 111c140 < printf("INVALIDATE\n"); fflush(stdout); --- > DBG_PRINT("INVALIDATE\n"); 140c169 < printf("event complete: cmd 0x%X, s:0x%X, component: %p - %s\n", (unsigned)nData1, (unsigned)nData2, hComponent, name); --- > DBG_PRINT("event complete: cmd 0x%X, s:0x%X, component: %p - %s\n", (unsigned)nData1, (unsigned)nData2, hComponent, name); 144c173 < printf("\t state -> StateLoaded\n"); --- > DBG_PRINT("\t state -> StateLoaded\n"); 151c180 < printf("\t flush\n"); --- > DBG_PRINT("\t flush\n"); 159c188 < printf("event buffer EOS: component: %p - %s\n", hComponent, name); --- > DBG_PRINT("event buffer EOS: component: %p - %s\n", hComponent, name); 162c191 < printf("\t end component - FIN\n"); --- > DBG_PRINT("\t end component - FIN\n"); 171c200 < printf("event error: 0x%X IncorrectTransition, component: %p - %s\n", (unsigned int) nData1, hComponent, name); --- > DBG_PRINT("event error: 0x%X IncorrectTransition, component: %p - %s\n", (unsigned int) nData1, hComponent, name); 177c206 < printf("event error: Same State 0x%X, component: %p - %s\n", (unsigned int) nData2, hComponent, name); --- > DBG_PRINT("event error: Same State 0x%X, component: %p - %s\n", (unsigned int) nData2, hComponent, name); 181c210 < printf("event error: 0x%X, component: %p - %s\n", (unsigned int) nData1, hComponent, name); --- > DBG_PRINT("event error: 0x%X, component: %p - %s\n", (unsigned int) nData1, hComponent, name); 214c243 < fprintf(stdout, "FillBufferDone avail %d\n", pOMXAV->available); fflush(stdout); --- > DBG_PRINT("FillBufferDone avail %d\n", pOMXAV->available); 232c261 < fprintf(stdout, "WaitForState p1 c:%p s1:0x%X s2:0x%X\n", hComponent, eTestState, eTestState2); fflush(stdout); // JAU --- > DBG_PRINT( "WaitForState p1 c:%p s1:0x%X s2:0x%X\n", hComponent, eTestState, eTestState2); 234c263 < fprintf(stdout, "WaitForState p2 s:0x%X e:0x%X\n", eState, eError); fflush(stdout); // JAU --- > DBG_PRINT( "WaitForState p2 s:0x%X e:0x%X\n", eState, eError); 245c274 < fprintf(stdout, "WaitForState p3 s:0x%X e:0x%X\n", eState, eError); fflush(stdout); // JAU --- > DBG_PRINT( "WaitForState p3 s:0x%X e:0x%X\n", eState, eError); 320c349 < fprintf(stdout, "OMXToolBasicAV_WaitForState %p s:%d\n", pOMXAV, state); fflush(stdout); // JAU --- > DBG_PRINT( "OMXToolBasicAV_WaitForState %p s:%d\n", pOMXAV, state); 322c351 < fprintf(stdout, "OMXToolBasicAV_WaitForState p1\n"); fflush(stdout); // JAU --- > DBG_PRINT( "OMXToolBasicAV_WaitForState p1\n"); 328c357 < fprintf(stdout, "OMXToolBasicAV_WaitForState p4 %d c:%p\n", i, pOMXAV->comp[i]); fflush(stdout); // JAU --- > DBG_PRINT( "OMXToolBasicAV_WaitForState p4 %d c:%p\n", i, pOMXAV->comp[i]); 332c361 < fprintf(stdout, "OMXToolBasicAV_WaitForState Failed (Wait) %d c:%p - %s, s:0x%X\n", --- > DBG_PRINT( "OMXToolBasicAV_WaitForState Failed (Wait) %d c:%p - %s, s:0x%X\n", 334d362 < fflush(stdout); // JAU 348,349c376,377 < fprintf(stdout, "RequestState p2 c:%p, e:0x%X, s:0x%X\n", < hComponent, eError, eState); fflush(stdout); // JAU --- > DBG_PRINT( "RequestState p2 c:%p, e:0x%X, s:0x%X\n", > hComponent, eError, eState); 353,354c381,382 < fprintf(stdout, "RequestState p3 c:%p e:0x%X s: 0x%X -> 0x%X\n", < hComponent, eError, eState, state); fflush(stdout); // JAU --- > DBG_PRINT( "RequestState p3 c:%p e:0x%X s: 0x%X -> 0x%X\n", > hComponent, eError, eState, state); 367c395 < fprintf(stdout, "OMXToolBasicAV_RequestState %p s:%d, w:%d\n", pOMXAV, state, wait); fflush(stdout); // JAU --- > DBG_PRINT( "OMXToolBasicAV_RequestState %p s:%d, w:%d\n", pOMXAV, state, wait); 369c397 < fprintf(stdout, "OMXToolBasicAV_RequestState p1\n"); fflush(stdout); // JAU --- > DBG_PRINT( "OMXToolBasicAV_RequestState p1\n"); 420c448 < fprintf(stderr, "Destroy p1\n"); fflush(stderr); --- > DBG_PRINT( "Destroy p1\n"); 423c451 < fprintf(stderr, "Destroy p2\n"); fflush(stderr); --- > DBG_PRINT( "Destroy p2\n"); 429c457 < fprintf(stderr, "Destroy p3\n"); fflush(stderr); --- > DBG_PRINT( "Destroy p3\n"); 432c460 < fprintf(stderr, "Destroy p3\n"); fflush(stderr); --- > DBG_PRINT( "Destroy p3\n"); 435c463 < fprintf(stderr, "Destroy p4\n"); fflush(stderr); --- > DBG_PRINT( "Destroy p4\n"); 443c471 < fprintf(stderr, "Destroy p5\n"); fflush(stderr); --- > DBG_PRINT( "Destroy p5\n"); 452c480 < fprintf(stderr, "Destroy p6\n"); fflush(stderr); --- > DBG_PRINT( "Destroy p6\n"); 457c485 < fprintf(stderr, "Destroy p7\n"); fflush(stderr); --- > DBG_PRINT( "Destroy p7\n"); 459c487 < fprintf(stderr, "Destroy p8\n"); fflush(stderr); --- > DBG_PRINT( "Destroy p8\n"); 464c492 < fprintf(stderr, "Destroy DONE\n"); fflush(stderr); --- > DBG_PRINT( "Destroy DONE\n"); 592c620 < fprintf(stdout, "Play 3.2\n"); fflush(stdout); // JAU --- > DBG_PRINT( "Play 3.2\n"); 705c733 < fprintf(stdout, "Attach VR %p c:%p\n", pOMXAV, pOMXAV->comp[OMXAV_H_VSCHEDULER]); fflush(stdout); // JAU --- > DBG_PRINT( "Attach VR %p c:%p\n", pOMXAV, pOMXAV->comp[OMXAV_H_VSCHEDULER]); 708c736 < fprintf(stdout, "UseEGLImg port enable/tunneling %p\n", pOMXAV); --- > DBG_PRINT( "UseEGLImg port enable/tunneling %p\n", pOMXAV); 721c749 < fprintf(stdout, "UseEGLImg %p #%d t:%d i:%p s:%p p1\n", pOMXAV, i, pBuf->tex, pBuf->image, pBuf->sync); fflush(stdout); // JAU --- > DBG_PRINT( "UseEGLImg %p #%d t:%d i:%p s:%p p1\n", pOMXAV, i, pBuf->tex, pBuf->image, pBuf->sync); 735,736c763,764 < fprintf(stdout, "UseEGLImg %p #%d t:%d i:%p s:%p b:%p - p2\n", < pOMXAV, i, pBuf->tex, pBuf->image, pBuf->sync, pBuf->omxBufferHeader); fflush(stdout); // JAU --- > DBG_PRINT( "UseEGLImg %p #%d t:%d i:%p s:%p b:%p - p2\n", > pOMXAV, i, pBuf->tex, pBuf->image, pBuf->sync, pBuf->omxBufferHeader); 739c767 < fprintf(stdout, "UseEGLImg %p #%d DONE\n", pOMXAV, i); fflush(stdout); // JAU --- > DBG_PRINT( "UseEGLImg %p #%d DONE\n", pOMXAV, i); 752c780 < fprintf(stderr, "DetachVideoRenderer p0\n"); fflush(stderr); --- > DBG_PRINT( "DetachVideoRenderer p0\n"); 754c782 < fprintf(stderr, "DetachVideoRenderer DONE (already state loaded)\n"); fflush(stderr); --- > DBG_PRINT( "DetachVideoRenderer DONE (already state loaded)\n"); 759c787 < fprintf(stderr, "DetachVideoRenderer p1\n"); fflush(stderr); --- > DBG_PRINT( "DetachVideoRenderer p1\n"); 764c792 < fprintf(stderr, "DetachVideoRenderer p2\n"); fflush(stderr); --- > DBG_PRINT( "DetachVideoRenderer p2\n"); 780c808 < fprintf(stderr, "DetachVideoRenderer p3\n"); fflush(stderr); --- > DBG_PRINT( "DetachVideoRenderer p3\n"); 784c812 < fprintf(stderr, "DetachVideoRenderer DONE\n"); fflush(stderr); --- > DBG_PRINT( "DetachVideoRenderer DONE\n"); 795c823 < fprintf(stderr, "buffer number %d > MAX(%d)\n", vBufferNum, EGLIMAGE_MAX_BUFFERS); --- > DBG_PRINT( "buffer number %d > MAX(%d)\n", vBufferNum, EGLIMAGE_MAX_BUFFERS); 800c828 < fprintf(stderr, "Init struct failed!\n"); --- > DBG_PRINT( "Init struct failed!\n"); 830c858 < fprintf(stdout, "SetStream 1 %s ..\n", stream); fflush(stdout); // JAU --- > DBG_PRINT( "SetStream 1 %s ..\n", stream); 840c868 < fprintf(stdout, "SetStream 3\n"); fflush(stdout); // JAU --- > DBG_PRINT( "SetStream 3\n"); 852c880 < fprintf(stdout, "SetStream 4\n"); fflush(stdout); // JAU --- > DBG_PRINT( "SetStream 4\n"); 905c933 < fprintf(stdout, "SetStream 5 ; audioPort %d, videoPort %d\n", pOMXAV->audioPort, pOMXAV->videoPort); fflush(stdout); // JAU --- > DBG_PRINT( "SetStream 5 ; audioPort %d, videoPort %d\n", pOMXAV->audioPort, pOMXAV->videoPort); 909c937 < fprintf(stdout, "Configuring comp[OMXAV_H_CLOCK]\n"); --- > DBG_PRINT( "Configuring comp[OMXAV_H_CLOCK]\n"); 925c953 < fprintf(stdout, "SetStream X\n"); fflush(stdout); // JAU --- > DBG_PRINT( "SetStream X\n"); 941c969 < fprintf(stdout, "SetEGLImg %p #%d/%d t:%d i:%p s:%p..\n", pOMXAV, i, pOMXAV->vBufferNum, tex, image, sync); fflush(stdout); // JAU --- > DBG_PRINT( "SetEGLImg %p #%d/%d t:%d i:%p s:%p..\n", pOMXAV, i, pOMXAV->vBufferNum, tex, image, sync); 961c989 < fprintf(stdout, "ActivateInstance 1\n"); fflush(stdout); // JAU --- > DBG_PRINT( "ActivateInstance 1\n"); 1000c1028 < fprintf(stdout, "Setup tunneling\n"); fflush(stdout); // JAU --- > DBG_PRINT( "Setup tunneling\n"); 1005c1033 < fprintf(stdout, "Setup tunneling audio\n"); fflush(stdout); // JAU --- > DBG_PRINT( "Setup tunneling audio\n"); 1012c1040 < fprintf(stdout, "Setup tunneling video\n"); fflush(stdout); // JAU --- > DBG_PRINT( "Setup tunneling video\n"); 1017c1045 < fprintf(stdout, "ActivateInstance .. %p\n", pOMXAV); fflush(stdout); --- > DBG_PRINT( "ActivateInstance .. %p\n", pOMXAV); 1031c1059 < fprintf(stdout, "ActivateInstance done %p\n", pOMXAV); fflush(stdout); --- > DBG_PRINT( "ActivateInstance done %p\n", pOMXAV); 1090c1118 < fprintf(stderr, "Err: Play invalid"); fflush(stderr); --- > fprintf(stderr, "Err: Play invalid"); 1097c1125 < fprintf(stdout, "Play 1\n"); fflush(stdout); // JAU --- > DBG_PRINT( "Play 1\n"); 1099c1127 < fprintf(stdout, "Play 2\n"); fflush(stdout); // JAU --- > DBG_PRINT( "Play 2\n"); 1109c1137 < fprintf(stdout, "Play 3.0\n"); fflush(stdout); // JAU --- > DBG_PRINT( "Play 3.0\n"); 1112c1140 < fprintf(stdout, "Play 3.1\n"); fflush(stdout); // JAU --- > DBG_PRINT( "Play 3.1\n"); 1119c1147 < fprintf(stdout, "Play 3.2\n"); fflush(stdout); // JAU --- > DBG_PRINT( "Play 3.2\n"); 1125c1153 < fprintf(stdout, "Play 3.3\n"); fflush(stdout); // JAU --- > DBG_PRINT( "Play 3.3\n"); 1127c1155 < fprintf(stdout, "Play 4.0\n"); fflush(stdout); // JAU --- > DBG_PRINT( "Play 4.0\n"); 1131c1159 < fprintf(stdout, "Play DONE\n"); fflush(stdout); // JAU --- > DBG_PRINT( "Play DONE\n"); 1299,1300c1327,1328 < // fprintf(stdout, "GetTexture A avail %d, filled %d, pos o:%d g:%d\n", < // pOMXAV->available, pOMXAV->filled, pOMXAV->omxPos, pOMXAV->glPos); fflush(stdout); --- > DBG_PRINT2("GetTexture A avail %d, filled %d, pos o:%d g:%d\n", > pOMXAV->available, pOMXAV->filled, pOMXAV->omxPos, pOMXAV->glPos); 1310c1338 < // fprintf(stdout, "GetTexture p2.1 attr 0x%X\n", attr); fflush(stdout); --- > DBG_PRINT2( "GetTexture p2.1 attr 0x%X\n", attr); 1314c1342 < // fprintf(stdout, "GetTexture p2.2\n", attr); fflush(stdout); --- > DBG_PRINT2( "GetTexture p2.2\n"); 1321c1349 < // fprintf(stdout, "GetTexture p2.3\n", attr); fflush(stdout); --- > DBG_PRINT2( "GetTexture p2.3\n"); 1328c1356 < // fprintf(stdout, "GetTexture p3.1\n"); fflush(stdout); --- > DBG_PRINT2("GetTexture p3.1\n"); 1338c1366 < // fprintf(stdout, "GetTexture p3.2\n"); fflush(stdout); --- > DBG_PRINT2( "GetTexture p3.2\n"); 1347,1348c1375,1376 < // fprintf(stdout, "GetTexture B avail %d, filled %d, pos o:%d g:%d t:%d\n", < // pOMXAV->available, pOMXAV->filled, pOMXAV->omxPos, pOMXAV->glPos, texID); fflush(stdout); --- > DBG_PRINT2( "GetTexture B avail %d, filled %d, pos o:%d g:%d t:%d\n", > pOMXAV->available, pOMXAV->filled, pOMXAV->omxPos, pOMXAV->glPos, texID); 1368,1372d1395 < #ifdef _WIN32_WCE < #define STDOUT_FILE "\\Storage Card\\stdout.txt" < #define STDERR_FILE "\\Storage Card\\stderr.txt" < #endif < 1427,1431d1449 < #ifdef _WIN32_WCE < _wfreopen(TEXT(STDOUT_FILE),L"w",stdout); < _wfreopen(TEXT(STDERR_FILE),L"w",stderr); < #endif < 1538c1556 < printf("7\n"); fflush(stdout); --- > printf("7\n"); 1543c1561 < printf("8\n"); fflush(stdout); --- > printf("8\n"); 1548c1566 < printf("8.2\n"); fflush(stdout); --- > printf("8.2\n"); 1557c1575 < printf("Sleep %d\n", i); fflush(stdout); --- > printf("Sleep %d\n", i); git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1811 232f8b59-042b-4e1e-8c03-345bb8c30851
* ../jogl.logSven Gothel2008-11-2724-16/+7513
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1810 232f8b59-042b-4e1e-8c03-345bb8c30851
* KD Fix: Use EGL AttributeList directlySven Gothel2008-11-275-66/+66
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1809 232f8b59-042b-4e1e-8c03-345bb8c30851
* Newt-KD: window working, pointer event buggySven Gothel2008-11-263-2/+26
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1806 232f8b59-042b-4e1e-8c03-345bb8c30851
* Newt WindowSven Gothel2008-11-268-4/+1206
| | | | | | | | | | | | | | | | | | | - Uses GLCapabilities for window creation - Note: This is implemented in the new KDWindow only, for now. - FIXME: Respect GLCapabilities for other implementations (X11, MacOS, Windows) visualID shall be determined by GLCapabilities, and set to 0 if not implemented. - New OpenKODE KDWindow - Compile native code at with 'ant -DuseKD=true' - Use KD in newt with the Java property set newt.ws.name=KD - API change: NewtFactory.createWindow() takes GLCapabilities insteast of a fake visualID git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1804 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added GLU_TESS_AVOID_DEGENERATE_TRIANGLES boolean property to the GLUKenneth Russel2008-11-241-0/+2
| | | | | | | | | | | tessellator to try to improve the triangulation to support antialiasing in the JavaFX graphics stack. The new code largely works as intended, but is not as robust as desired, and also does not completely solve the problem. Checking in nonetheless to checkpoint the work. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1802 232f8b59-042b-4e1e-8c03-345bb8c30851
* Adding missing EGLExtImpl_JNI.cSven Gothel2008-11-223-2/+12
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1799 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build.xml to build correct version of TextureIO classes on theKenneth Russel2008-11-211-2/+3
| | | | | | | | | | | desktop. Changed GLCanvas to set the GLProfile to GL2 by default since there are no plans to support the AWT components on anything except desktop profiles, where OpenGL ES is not present. This reduces the amount of changes that must be made to code using earlier versions of JOGL. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1796 232f8b59-042b-4e1e-8c03-345bb8c30851