summaryrefslogtreecommitdiffstats
path: root/src/jogl
Commit message (Collapse)AuthorAgeFilesLines
* NEWT: Add EventDispatchThread (EDT) pattern.Sven Gothel2009-10-102-13/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to limitations on Windows, we need to standardize the one thread for - window creation, and - event dispatching This was already mentioned in the previous implementation but while integrating into another threading model (Plugin3), it turned out that manual managing the thread is too much of a burden. NEWT now uses a EDT per Display and Thread as the default, where Display creation, Window creation and event dispatching is 'pipelined' into. This can be switched off: NewtFactory.setUseEDT(boolean onoff); and queried via: NewtFactory.useEDT(); Note this EDT impl. does not implicate a global lock or whatsoever. The experimantal semantics of a current GL context for input event dispatching is removed, i.e. the GL context is no more made current for mouse/key listener. This reduces the complexity and allows the proper impl. of the external dispatch via EDT .. for example. Removed: GLWindow: setEventHandlerMode(int) .. etc X11Display: XLockDisplay/XUnlockDisplay needed to be utilized to allow the new multithreading (EDT/Render) Display usage. X11Window: lockSurface/unlockSurface locks X11Display as well .. +++++ NEWT: 'getSurfaceHandle()' semantics changed. To allow usage of the surfaceHandle for OS where it is allocated thread local (MS-Windows), it shall be aquired/released while lockSurface/unlockSurface. This is done in the Windows Window implementation. GLWindow can no more query 'getSurfaceHandle()' to verify if 'setRealized()' was successful. NEWT: Window surface lock is recursive and blocking now, as it shall be.
* EGL more query config trials; Avoid NPE if no config is chosenSven Gothel2009-10-055-18/+48
|
* Fix On-/Offscreen and PBuffer.Sven Gothel2009-10-0516-43/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Demos are working again: demos.jrefract.JRefract - X11, Win32, OSX -Dsun.java2d.opengl=true demos.jrefract.JRefract - X11, Win32 demos.readbuffer.Main [-GL2,-GL2ES1] -test 0 demos.es1.RedSquare - X11, Win32, OSX, EGL demos.readbuffer.Main [-GL2,-GL2ES1] -test [12] demos.es1.RedSquare - X11, Win32 - OSX not, because of the missing feature of attaching a read surface. - EGL not, because the emulation I used didn't support attaching a read surface. Emulation bug .. probably .. MacOSXWindowSystemInterface.m createContext(): - Verify if passed surface handle _is_ a view, now it could be a pbuffer etc .. handle as well. Cleanup GLDrawableImpl.setRealized(boolean realized) - Calls setRealizedImpl() (implementation) now, and only if new stated differs .. - setRealizedImpl() fixed for: MacOSXPbufferCGLDrawable: recreate/destroy WindowsOffscreenWGLDrawable: recreate/destroy WindowsPbufferWGLDrawable: no-recreate/destroy X11OffscreenGLXDrawable: recreate/destroy X11PbufferGLXDrawable: recreate/destroy WindowsWGLContext: - wglMakeContextCurrent(): uses isFunctionAvailable .. - create(): Uses WGL.MakeCurrent() and releases the created context, due to unavailable MakeContextCurrent extensions before updating the procaddress tables.
* Fix: EGL set doublebuffer:=false for offscreenSven Gothel2009-10-051-0/+1
|
* GLDrawableFactory Cleanup (-> On- Offscreen and PBuffer)Sven Gothel2009-10-0516-361/+262
| | | | | | | | | | | | | | | | | | | | | | | | - Base all PBuffer/Offscreen GLDrawable creators on a prev. created 'NativeWindow + SurfaceChangeable' instance. Simplifies implementation path. This also removes the almost cyclic referencing of GLWindow -> OffscreenWindow GLWindow -> Drawable -> NullWindow -> OffscreenWindow Now it is just GLWindow -> OffscreenWindow GLWindow -> Drawable -> OffscreenWindow - createGLDrawable() shall be used for all types now, especially if you want to pass the offscreen NativeWindow and benefit from the surfaceChangedListener etc .. - Add public createOffscreenDrawable(..) - EGLDrawable: - Query surface only if not 0 - [re]create surface only if needed, using 'ownEGL*' flag for destruction only.
* Add com.sun.opengl.util.texture.spi.NetPbmTextureWriterSven Gothel2009-10-041-0/+161
|
* EGL: Use surfaceHandle, not windowHandle (2) for eglSurfaceSven Gothel2009-10-041-2/+2
|
* EGLContext: Just debug lines ..Sven Gothel2009-10-041-3/+5
|
* FIX: EGL Config: on-/offscreen and pbuffer; Added EGL-PBuffer setSurfaceHandleSven Gothel2009-10-044-36/+50
|
* Fix Config: Set doublebuffer:=false if offscreen; NEWT: Fix KDWindow.Sven Gothel2009-10-046-0/+12
|
* Fix EGL SurfaceType query/setup [on-/offscreen, pbuffer] using ↵Sven Gothel2009-10-043-42/+54
| | | | EGLConfig/GLCapabilities
* Texture: Relax/Pending creation of texture ID, no context must be currentSven Gothel2009-10-031-17/+25
|
* Avoid NPE if no context currentSven Gothel2009-10-031-1/+1
|
* NativeWindow extends SurfaceUpdatedListener for 'surfaceUpdated' ↵Sven Gothel2009-10-032-14/+20
| | | | propagation. GLDrawableFactory.createGLDrawable() propagates NativeWindow to offscreen NullWindow.
* surfaceupdated:: NativeWindow: passing 'updater'; NEWT: adding event listenerSven Gothel2009-10-031-1/+1
|
* EGL Fix: Use the surface handle for creation, not the window handle; More ↵Sven Gothel2009-10-034-28/+53
| | | | fixedCaps.
* EGL debug fixes ..Sven Gothel2009-10-034-11/+28
|
* Offscreen/PBuffer capabilities cleanup ; Generic read drawable supportSven Gothel2009-10-0322-121/+284
|
* NEWT: Offscreen integrationSven Gothel2009-10-021-1/+0
|
* Pbuffer GLDrawableFactory integration (2)Sven Gothel2009-10-023-6/+60
|
* Proper PBuffer drawable abstractionSven Gothel2009-10-025-67/+63
|
* NativeWindowFactory:Sven Gothel2009-10-027-17/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - If property 'nativewindow.ws.name' is set, use it as the custom windowing type returned by getNativeWindowType(true) NEWT: - Using NativeWindowFactory's property 'nativewindow.ws.name' as a package name for custom NEWT windowing imlementations, ie: -Dnativewindow.ws.name=com.sun.javafx.newt.intel.gdl -Dnativewindow.ws.name=com.sun.javafx.newt.broadcom.egl This allows far more flexibility to add custom impl. - Add Intel-GDL, define property 'useIntelGDL' to build the native part. Intel GDL is impl in the package 'com.sun.javafx.newt.intel.gdl' JOGL: - All impl. of 'createGLDrawable(..)', which were actually creating onscreen drawable only, were renamed to 'createOnscreenDrawable(..)'. - GLDrawableFactoryImpl impl. 'createGLDrawable(..)' now and dispatches to the actual create* methods in respect to the Capabilities, ie onscreen, pbuffer and offscreen. - GLDrawableFactory: - If using a native ES profile -> EGLDrawableFactory - If existing native OS factory -> Use that .. - Else -> Use EGLDrawableFactory, if available
* Oops .. fixed compile errorSven Gothel2009-09-251-1/+1
|
* Fix MacOSX External GLContextSven Gothel2009-09-258-178/+448
|
* Let the GLCapabilityChooser run over the fallback fixed GLCapabilities [last ↵Sven Gothel2009-09-241-2/+13
| | | | resort]
* Fix Offscreen/PBuffer [WGL/GLX]: No XVisual/PFD necessary here ..Sven Gothel2009-08-063-13/+18
|
* Update GlueGen to 7dc9c5601d5689dcbc003ca51cfe826942ea3e6b (latest)Sven Gothel2009-08-055-31/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
* WGL 3.2: No need for 'jogl.GLContext.3_2' - just works.Sven Gothel2009-08-032-35/+22
|
* Doc: OpenGL 3.1 .. 3.2 profile clarificationSven Gothel2009-08-033-50/+108
| | | | | | | | | | | | GLX_ARB_create_context: Add 3.2 context WGL_ARB_create_context: Add 3.2 context Add: Trying to use 3.2 core profile creation for GL3, disabled by default. (Disabled per default due to a freezing JVM on Linux _after_ the Java main thread and Hotspot finishes.) Experimental: You may try '3.2 core profile creation' setting the java system property 'jogl.GLContext.3_2'.
* Fix GLX/WGL GraphicsConfigurationFactory: Be more relaxed in error handling ↵Sven Gothel2009-08-022-8/+34
| | | | - keep going, even if underlying impl/modules cannot choose a config. Allows VBOX to run NEWT/JOGL
* Fix doc bug @arg -> @paramSven Gothel2009-08-027-25/+25
|
* Update documentation (OpenGL 3.0, 3.1 specifics); Fix ↵Sven Gothel2009-08-021-9/+6
| | | | ExtensionAvailabilityCache: Add Version 2.1 in case of GL2/OpenGL 3.0
* Update OpenGL GL2 profile subsumed/promoted extensions. Base is 3.0, ignore ↵Sven Gothel2009-08-021-5/+4
| | | | the colission-free subsumed extensions.
* Fix: updateGLProcAddressTable() call order - child before parent, broke WGLSven Gothel2009-08-014-4/+4
|
* Cleanup GLSL ShaderUtil/Code; Add dumpCodeSven Gothel2009-08-013-62/+124
|
* GL3 Related:Sven Gothel2009-08-019-43/+392
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fix glGetStringi's return type to String - Fix ExtensionAvailabilityCache: GL3's glGetStringi for GL_EXTENSIONS Ensure to add GL_VERSION_2_0 in case version >= 3.0 Ensure to not exceed version 3.0 for non GL3.1 context. In case of GL 3.1, do not include GL_VERSIONS below 3.0, since this is a forward compatible context. - Add Prologue to glGetString, where the ExtensionCache is being used for GL_EXTENSIONS - if already initialized. This feature adds backward compatibility for GL3 context on GL_EXTENSION. +++ General: Add GLPipelineFactory, a convenient pipeline factory for Debug/Trace and custom ones .. Change 'void setGL(GL)' to 'GL setGL(GL)', and let it return the successful set GL, or null.
* Fix: GL2ES1 mapping to GL2ES12 if availableSven Gothel2009-07-311-3/+3
|
* Gluegen:Sven Gothel2009-07-317-106/+181
| | | | | | | | | | | | | | | | | | | | | | | | - 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
* Fix SwapInterval (return value, check ctx current, egl), add getSwapInterval.sg2158892009-07-308-36/+60
|
* eglBindAPI optionalsg2158892009-07-291-2/+9
|
* Fix: doxygen-all-pub.cfg; Add NativeWindow: surfaceSwap() and ↵sg2158892009-07-2912-58/+62
| | | | surfaceUpdated(); BroadcomEGL: Use custom surfaceSwap(); GLDrawableImpl's: Utilize NativeWindow's surfaceSwap() and surfaceUpdated(); Fix common enum of GL2ES1 and GL2GL3, merge them in GL
* Fixed GL* documentation. Moved common GL functions to GLBase. Moved ↵sg2158892009-07-293-23/+169
| | | | glAllocateMemoryNV to GL2GL3 only. Add GL2GL3 interface. Fix some GL2 signatures. BroadcomEGL disable custom setSize().
* Refine debug messagesg2158892009-07-292-2/+9
|
* NEWT: Remove loading of non-existing nativewindow lib; BroadcomEGL: use ↵sg2158892009-07-281-2/+0
| | | | libEGL(EglUtil) and libGLES_CM(nexus), setSize to screen-size on creation, more debug output
* Use getNativeWindowType(custom=true) for factory selection; Don't fail is ↵sg2158892009-07-282-6/+10
| | | | non native OS factory is available
* Cleanup ..sg2158892009-07-284-36/+9
|
* Fix BroadcomEGL: Proper EGLGraphicsConfiguration at creation timesg2158892009-07-281-2/+3
|
* EGL changes for deviceMorris Meyer2009-07-285-9/+38
|
* Add Custom NativeWindow Type 'BroadcomEGL' ↵sg2158892009-07-272-11/+46
| | | | (-Dnativewindow.ws.name=BroadcomEGL): 1st Draft of supporting broadcom's proprietary EGL mapping
* Add: Extended support for CVM crosscompile:sg2158892009-07-2427-684/+778
| | | | | | | | | | | | | | | | | | | - 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)