aboutsummaryrefslogtreecommitdiffstats
path: root/src/classes/com/sun/opengl/impl/egl
Commit message (Collapse)AuthorAgeFilesLines
* After more thought, realized once again that because most Java windowKenneth Russel2008-12-291-42/+31
| | | | | | | | | | | | | | | | | toolkits create persistent Java heap objects corresponding to components that might be realized and unrealized multiple times, the programming model of JOGL implies that GLDrawables must be persistent with regard to the components for which they are created, and that the setRealized(true/false) hook must be the indicator that any OpenGL resources associated with that window are to be created or destroyed. Removed GLDrawable.destroy(); it is now once again only present for GLPbuffer. Fixed up various on-screen and off-screen GLDrawable implementations. Refactored EGLDrawable implementation to trigger on setRealized(true/false); these changes have been compiled but not tested. Clarified documentation of GLDrawable.setRealized. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1828 232f8b59-042b-4e1e-8c03-345bb8c30851
* Factored out the remaining toolkit, and specifically AWT, dependenciesKenneth Russel2008-12-202-62/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | from GLDrawableFactory implementations into NativeWindowFactory implementations. These dependencies were the up-front selection of the GraphicsConfiguration and the locking and unlocking of the toolkit, which are both currently needed only on X11 platforms due to how OpenGL and the window system interact there. Added X11GraphicsDevice and X11GraphicsConfiguration classes which are intended to be used by Newt or potentially other third-party window toolkits. Unified the separate NativeWindow and AWT GLDrawableFactory implementations in the GLDrawableFactory class. Exposed the toolkit locking mechanism through the NativeWindowFactory and introduced the concept of a default NativeWindowFactory which is used by the X11 drawable and context implementations. Removed unnecessary toolkit locking calls from Mac OS X and Windows drawable and context implementations. Added a registration mechanism for new NativeWindowFactories, allowing third parties to plug in new window toolkits orthogonally to the OpenGL drawable and context code. The public APIs for the NativeWindowFactory and the GLDrawableFactory, in particular how they are fetched, changed as a result of these refactorings. Updated all uses. Fixed bug in X11OffscreenGLXDrawable introduced during last set of changes. Tested demos on Solaris, Mac OS X and Windows. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1824 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed setSize(), setPosition(), setVisible(), and setFullscreen()Kenneth Russel2008-12-161-1/+3
| | | | | | | | | | | | from javax.media.opengl.NativeWindow interface as these are concerns of the window toolkit and not the OpenGL binding. Removed isVisible(), isFullscreen(), getX(), and getY(). getWidth() and getHeight() remain. Changed implementations of offscreen and pbuffer drawables and changed GLJPanel to destroy and re-create its offscreen GLDrawable upon resize rather than attempting to resize the GLDrawable directly. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1823 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed nested toolkit locking problem with X11PbufferGLXDrawable. WithKenneth Russel2008-12-142-8/+8
| | | | | | | | | | this fix pbuffers and the GLJPanel are working again on X11 platforms. Moved lockToolkit, unlockToolkit and isToolkitLocked from GLDrawableFactory to GLDrawableFactoryImpl. Updated all call sites. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1819 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed breakage of GLJPanel caused by confusion between requested and Kenneth Russel2008-12-121-3/+3
| | | | | | | | | | | | | chosen GLCapabilities. Separated these out and refactored requested GLCapabilities into GLDrawableImpl superclass. Removed setChosenGLCapabilities from the public API and made it protected on GLDrawableImpl. Removed it from all public GLDrawable implementations such as GLCanvas and GLJPanel. Fixed bug in Gears demo where mouse listener was not being hooked up correctly. Tested so far on Windows; testing on other platforms to follow. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1815 232f8b59-042b-4e1e-8c03-345bb8c30851
* KD Fix: Use EGL AttributeList directlySven Gothel2008-11-272-2/+5
| | | | 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-262-1/+5
| | | | 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-264-69/+197
| | | | | | | | | | | | | | | | | | | - 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
* proper EGL version attr settingSven Gothel2008-11-232-9/+14
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1801 232f8b59-042b-4e1e-8c03-345bb8c30851
* EGLDrawable: Update the capabilities to the chosen one by EGLSven Gothel2008-11-191-1/+21
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1793 232f8b59-042b-4e1e-8c03-345bb8c30851
* - EGLSven Gothel2008-11-141-4/+29
| | | | | | | | | | | | | | | | | | | | | - Adding 'eglGetProcAddress(long eglGetProcAddressHandle, String funcName)', to be able to bootstrap 'eglGetProcAddress'. - EGLDrawableFactory - Adding ES2 libname GLES20 - Adding dynamicLookupFunctionOnLibs: Lookup in the libraries (dlsym) - Change dynamicLookupFunction: - Bootstrap 'eglGetProcAddress' first - 1st try eglGetProcAddress - 2nd try dynamicLookupFunctionOnLibs - GLContextImpl.isFunctionAvailable() - 1st try GL proc table (cached) - 2nd try platform extension proc table (cached) - 3rd try EGLDrawableFactory.dynamicLookupFunction (not cached) git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1787 232f8b59-042b-4e1e-8c03-345bb8c30851
* Rollback: EGLConfig back to wrapped buffer, since long nio buffers are not ↵Sven Gothel2008-11-132-6/+6
| | | | | | available on CVM git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1786 232f8b59-042b-4e1e-8c03-345bb8c30851
* - Removed StaticGLInfo usage.Sven Gothel2008-11-132-22/+83
| | | | | | | | | | | | | | | | | | | | | | | Function availability is checked by the dynamic ProcAddressTable, so it works as described/desired and removed around 30 kB of text. - Adding EGLExt to support EGLImage to share video buffers between another API (e.g. OpenMax) - EGL: Added platform extension query support - EGLClientBuffer is opaque long - GLXExt: Removed duplicated enumerates from GLX - GLContext: Promoted getPlatformExtensionsString() - GLProfile.setProfile<GL*>(void) changed order of setting the GL profile to: highest -> lowest: GL2 .. GL2ES12 .. GLES2 .. GLES1 git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1784 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed loading of GLES and EGL libraries, and error reporting when none Kenneth Russel2008-07-311-15/+23
| | | | | | | | | | available. Fixed building with -Djogl.cdcfp, in particular nested building of gluegen. Took out call to SHFullScreen, which doesn't seem to be available on the NVidia APX 2500 any more. Fixed #includes in InternalBufferUtils.c. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1738 232f8b59-042b-4e1e-8c03-345bb8c30851
* ../jogl.logSven Gothel2008-07-252-23/+19
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1735 232f8b59-042b-4e1e-8c03-345bb8c30851
* - Using new config feature: 'IgnoreExtendedInterfaceSymbols <java class ↵Sven Gothel2008-07-182-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | source file>' and get rid of manual 'Ignore' configs for common stuff in the base interfaces. - Add: GLUnsupportedException: - Using new config feature 'UnsupportedExceptionType GLUnsupportedException' - GLUnsupportedException is used for anything 'UnsupportedOperationException' - GLU: - GLU itself is no more abstract - GLU contains the tesselator implementation - name, return type, modifiers and arguments - createGLU(..) - operated by profile name now. - GLU itself will be used for GLES2 - Cleanup: - gluegen/GL configs .. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1725 232f8b59-042b-4e1e-8c03-345bb8c30851
* Synced locking of EGLDrawable/EGLContext with X11GLX* counterpart.Sven Gothel2008-06-283-25/+70
| | | | | | | | | | However, the 'unofficial combination' X11/AWT/EGL-Emulation will freeze when AWT locking will be used. Hence AWT locking is disabled within EGL, which has no impact for the NEWT/EGL product. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1701 232f8b59-042b-4e1e-8c03-345bb8c30851
* 3rd round cdcfp - compile clean.Sven Gothel2008-06-283-12/+93
| | | | | | | | | | | | | | | | | | | | | | | | Re-adding cdcfp: com/sun/opengl/impl/glu/mipmap/* com/sun/opengl/impl/GLPbufferImpl.java Using 'BufferUtil.nativeOrder(ByteBuffer)' to set up the native byte order. 'BufferUtil.nativeOrder' is now public. GLDrawableFactory: - removed 'hardcoded' awt attribute. Cleanup NEWT's AWT wrapping implementation. - NativeWindowFactory incooperates with the wrapping property. Bugs on X11/NEWT/AWT: - no events - deadlock at shutdown - deadlock if EGLDrawable with AWT get's locked git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1700 232f8b59-042b-4e1e-8c03-345bb8c30851
* Auto GL profile selection; New GLReflection (refactoring of common ↵Sven Gothel2008-06-251-7/+12
| | | | | | relfections); Fixes git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1684 232f8b59-042b-4e1e-8c03-345bb8c30851
* Native Compilation: Partitioning and X11 cleanSven Gothel2008-06-251-4/+9
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1680 232f8b59-042b-4e1e-8c03-345bb8c30851
* 2nd big refactoring.Sven Gothel2008-06-213-26/+9
| | | | | | | | | | | | | | | | | | | | | | Goals are orthogonal components for: - OS Windowing system - NEWT, X11, Windows, MacOsX - GL Windowing GLUE - EGL, GLX, WGL, CGL - GL profiles - core and util packages - generate all Java components from any platform All above goals are achieved. TODO: - Native compilation fix and test - Check/Fix Win32, MacOSX and the mobile devices - .. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1665 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactoring JOGL to partition core windowing, AWT, GL, ES1 and ES2 .. WIPSven Gothel2008-06-013-28/+15
| | | | | | | | Compile Clean: X11, noAWT, ES1, no *.impl.x11/win/macosx See jogl/make/build.xml for new build properties. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1654 232f8b59-042b-4e1e-8c03-345bb8c30851
* EGLDrawableFactory: Removed shutdown.Sven Gothel2008-05-301-2/+3
| | | | | | | | | | GLDrawable: Added 'destroy' to interface. EGLDrawable: Implemented 'destroy', to setRealized(false) and to shutdown the egl/display connection (eglTerminate). git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1653 232f8b59-042b-4e1e-8c03-345bb8c30851
* Completing com.sun.javafx.newt.* package, WIP, working under X11/ES1.1.Sven Gothel2008-05-302-32/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fixed: - EGLDrawable[Factory] - Object target is a 'long[3]' with [display, screen, window] native handles. Depending on the platform, display and screen handles may be 0. - Moved EGL.eglGetDisplay and EGL.eglInitialize from EGLDrawableFactory -> EGLDrawable, since the factory has no notion of the native handles, but the display is necessary. - newt.*: - Added Display and Screen abstraction - Added 'long[] Window.getHandles()', to feed EGLDrawableFactory.getGLDrawable() with the 3 native handles. - MouseEvent: - Java: Clicked and Dragged working - native/X11: SelectInput with proper args - KeyEvent: - native/X11: added XSetInputFocus and XLookupString git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1652 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added GLDrawableFactory.shutdown() to enable clean and cooperative Kenneth Russel2008-05-302-0/+14
| | | | | | | | termination, overriding it in EGLDrawableFactory to call eglTerminate. Made EGLDrawable.setRealized(false) clean up the EGLSurface. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1650 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changes to WindowsWindow.c to compile on Windows CE. Slight changes to Kenneth Russel2008-05-301-1/+1
| | | | | | | config selection to match C code -- no semantic difference, however. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1649 232f8b59-042b-4e1e-8c03-345bb8c30851
* Various bug fixes. Incorporated minimal window abstraction to Kenneth Russel2008-05-293-18/+23
| | | | | | | | | bootstrap EGL subsystem. Added back in GLU generation for ES 2. This code creates and shows the window for the demos.es1.RedSquare demo, but nothing is rendered yet. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1645 232f8b59-042b-4e1e-8c03-345bb8c30851
* Implemented dynamic function lookup in EGLDrawableFactory and Kenneth Russel2008-05-281-9/+59
| | | | | | | | | initialization of the EGL ProcAddressTable which should allow bootstrapping, at least on Windows and/or the NVidia APX 2500. Not yet tested. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1644 232f8b59-042b-4e1e-8c03-345bb8c30851
* Filled out EGLContext, EGLDrawable, and EGLDrawableFactory Kenneth Russel2008-05-283-6/+256
| | | | | | | | | | | | | | | implementations on top of autogenerated EGL binding. Added GLDrawableFactory.initialize(String) taking the profile name (PROFILE_GL_20, PROFILE_GLES1, and PROFILE_GLES2 defined in GLDrawableFactory) to bootstrap the system and allow run-time selection of the window system binding. Modified eglplatform.h to extend EGLNativeDisplayType to pointer size. Changed egl.cfg to change most EGL types to opaque longs. Still missing pieces include the function pointer lookup and autogeneration of the EGL binding in all situations. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1643 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactorings to support building JOGL for OpenGL ES 1 and OpenGL ES 2. Kenneth Russel2008-05-134-0/+476
"ant -Djogl.es1=1" builds JOGL for OpenGL ES 1. "ant -Djogl.es2=1" builds JOGL for OpenGL ES 2. "ant" builds JOGL for desktop OpenGL (2.1). Building desktop OpenGL is currently broken (FIXME) -- more refactorings are necessary. When compiling, it is currently necessary to specify -Djogl.noglnatives=1 on the ant command line as well, because the generated native code does not link properly since we do not have OpenGL ES libraries on the desktop. Building the generated native code using a cross-compiler is not yet hooked up into the ant build mechanism. It is necessary to build the generated native code with external tools. Also incorporated spatialized audio framework using Windows waveOut device; this is a temporary measure until a different workspace can be found for this code. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1630 232f8b59-042b-4e1e-8c03-345bb8c30851