| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- New EGL/ES headers from 2012-01-xx
- Subsuming ES extensions to core,
allowing aliasing of more enums/funcs to GL or GL2ES1/GL2ES2:
GL_EXT_color_buffer_half_float
GL_EXT_occlusion_query_boolean
GL_EXT_robustness
GL_ARB_robustness
GL_EXT_separate_shader_objects
GL_EXT_shadow_samplers
GL_EXT_sRGB
GL_EXT_texture_array
GL_EXT_texture_rg
GL_EXT_texture_type_2_10_10_10_REV
GL_NV_draw_buffers
GL_NV_fbo_color_attachments
GL_EXT_packed_float
GL_EXT_texture_storage
|
|
|
|
|
|
|
|
|
| |
Note: EXT_shader_image_load_store is dropped to favor ARB_shader_image_load_store
Since no new (4.2) extension still does not require >= 3.1
all extensions are visible within the common profile GL2GL3.
Please review!
|
|
|
|
| |
and debug context.
|
| |
|
|
|
|
|
|
|
|
|
| |
JAWT/JAWTUtil
- Support OSX/Java7 CALayer only JAWT mode
- Cleanup JAWT/JAWTUtil while
moving elaborated logic and data to JAWTUtil, leave generated JAWT simple.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- GLProfile properly detects native EGL/ES1/ES2 on the 'desktop' device factory.
This allows usage of Mesa's EGL/ES or Imageon's PVR emulation, etc.
- GLProfile drops getDefaultDesktopDevice() and getDefaultEGLDevice()
since both are aligned by getDefaultDevice().
- Fix GL_ARB_ES2_compatibility detection and utilize
resulting isGLES2Compatible() where possible.
This allows ES2 compatible desktop profiles to use core ES2 functionality
(glShaderBinary() .. etc) even with a GL2ES2 desktop implementation.
- EGLDrawable: If createSurface(..) fails (BAD_NATIVE_WINDOW) w/ surfaceHandle
it uses windowHandle if available and differs.
This allows the ANGLE impl. to work.
- Properly order of EGL/ES library lookup:
ES2: libGLESv2.so.2, libGLESv2.so, GLES20, GLESv2_CM
EGL: libEGL.so.1, libEGL.so, EGL
- *DynamicLookupHelper reference will be null if it's library is not complete
(all tool libs, all glue libs and a ProcAddressFunc lookup function - if named).
- Enhance GL version string (incl. ES2 compatible, hw/sw, ..)
- GLBase: Fix docs and remove redundancies
- Prepared (disabled) DesktopES2DynamicLibraryBundleInfo
to be used for a real EGL/ES2 implementation within the desktop GL lib (AMD).
Sadly it currenly crashed within eglGetDisplay(EGL_DEFAULT_DISPLAY),
hence it's disabled.
|
| |
|
|
|
|
| |
(implicitly loaded by NativeWindowFactory)
|
|
|
|
|
|
| |
Turns out, that the culprit (at least on my Win7 NVidia machine) is
the runtime property "-Dsun.java2d.opengl=false".
When _not_ setting this prop. the test runs fine.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
framework, NEWT)
- Fix Bug 516 (Determine Java Version).
See gluegen: 64639b805a32338385421f168e12c1ef7f749d00
- Fix OS X 10.5 linkage (weak framework, NEWT)
- Use weak framework linkage for all modules and frameworks:
AppKit, QuartzCore, Cocoa, OpenGL, JavaNativeFoundation
- NEWT: Handle NS exception while calling OS X >= 10.6 only methods:
- 'setAllowsConcurrentViewDrawing()'
- 'setCanDrawConcurrently()'
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- toFront*(..) uses the AWT Window focus state, instead of our AWTWindowFocusAdapter,
which removes false negatives.
Often the focus is already hold on the Window where no focus change
will be recognized by our AWTWindowFocusAdapter.
- assertRequestFocusAndWait(..) recovers from lack of focus-lost event
(if received focus-gained) and only dumps the case - returns success.
- Since assertRequestFocusAndWait(..) implicitly tests the passed
FocusAdapter and relaxes the constraints (see above)
no more post-call assertions on the FocusAdapter is being performed (removed).
- assertRequestFocusAndWait(..) is no more used on AWT Window or Frame,
see 1st note above!
|
| |
|
|
|
|
|
|
|
| |
ridiculous slow
Each call to CGDisplayScreenSize() took around 6ms (5ms .. 20ms, avrg 6ms)
which added up to ~2s for ~400 Screen modes.
|
|
|
|
|
|
|
|
|
|
| |
no exception,
- bug 548: Another regression: pixelfmt failed for 10.6.7 and/or software OpenGL
- enforcing accelerated leads to no pixelformat,
- using the NSOpenGLView defaultPixelFormat causes to SIGSEGV
- ctx creation failure shall just lead to return null, no immediate exception
|
|
|
|
| |
threading (-> FIXME)
|
| |
|
| |
|
|\
| |
| | |
More complete implementation of SWT GLCanvas
|
| |
| |
| |
| | |
version. Modified build to produce a jogl.swt.jar, and include this in jogl.all.jar. Presently there is no unit test (just a 'main' in the jogamp.opengl.swt.GLCanvas), and this does not support correct selection of GLCapabilities (FIXME and TODO tags in the source state why).
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
(compatibility for 10.5)
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
is the default.
The following 5 GDI functions have their 'wgl' counterparts
which 'shall' being used in case the OpenGL DLL is being loaded dynamically.
(So reads the documentation & FAQ).
This seems to be required only in case the std. opengl32.dll is not being used.
This use case is called GDI/ICD.
If using a non std. OpenGL DLL, is called MCD.
We dynamically load the OpenGL DLL and fetch the address pointer.
Since we generally use the std. opengl32.dll, our use of the GDI callbacks
seems to be legal. However, to test using the 'wgl' method WGLUtil is introduced.
You can test using the 'wgl' variants
by defining the property: 'jogl.windows.useWGLVersionOf5WGLGDIFuncSet'.
In case you have troubles, ie crashes within pixelformat setup etc,
it might be interesting if this may impact your behavior.
- ChoosePixelFormat(long, PIXELFORMATDESCRIPTOR)
- DescribePixelFormat(long, int, int, PIXELFORMATDESCRIPTOR)
- GetPixelFormat(long)
- SetPixelFormat(long, int, PIXELFORMATDESCRIPTOR)
- SwapBuffers(long)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previous commit 098398c2a9145447da5314eed9792b3738c2d515 cleaned up
and fixed context/drawable lock/unlock for makeCurrent()/release()/destroy()
and consistency is looks much better now in this regard.
However, on Intel HD 3000 / Windows7, our AnimatorControl start/stop still
let the 2nd switch to GLCanvas within the CardPanel not showing rendering results.
One interesting artefact though:
1st switch 2 GLCanvas (rendering visible):
*** hdc 0x2f010ec5, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1]
*** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1]
*** hdc 0x2f010ec5, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1]
*** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1]
-> alternating HDC's
2nd switch 2 GLCanvas (rendering _not_ visible):
*** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1]
*** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1]
*** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1]
*** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1]
-> fixed HDC
Maybe this is a hint for what is going wrong in JAWTWindow locking,
which aquires the frame's HDC.
Verifying the recursive lock shows proper lock/unlock actions though.
|
| |
| |
| |
| | |
diff. Platforms
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Closing:
- Java: Set handle to null
- Native:
- Don't release the NSView explicit, but rely on NSWindow's release
- Don't use NSWindow close() but simply call release() instead.
The latter doesn't produce a crash SIGSEGV on exit in some cases.
OSX 10.7.2, NV GPU
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add updateScreenSize() utilizing new getNativeScreenSizeImpl() to set/update the virtual Screen size.
This replaces setScreenSize() where the ScreenMode dimension was being used
which doesn't reflect the virtual size.
ScreenMode Test Impact:
We cannot assertEquals(sm.getRotatedWidth(), screen.getWidth()),
since ScreenMode size != virtual size.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Allow negative window position, using flag 'autoPosition' to mark a custom user position.
This impacts Windows and X11 window creation code, which supports native auto positioning.
- Screen: Validate Screen-Index.
In 'big-desktop' mode the Screen index is always 0. This is true for X11 with
Xinerama enabled and MS-Windows in general.
Platforms w/o multiple Screen support always use index 0.
- X11: Separate X11 Display/Screen/Window native code in their respective C files
- Windows test scripts: use '%*' to catch all arguments
- Add missing (c)
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
rotation! (How to ?)
Get/Set ScreenMode impl on OSX.
Set is limited to resolution and size, since I don't know how to change the rotation.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix SWT test on OSX 32/64 bit:
- Pick 32bit SWT for 32bit tests
Fix TestSWTAWT01GL for OSX:
- Using proper thread for AWT and SWT actions, platform agnostic
but required for OSX.
- Enable SWT*AWT* tests on OSX
|
| | |
|
| |
| |
| |
| | |
thread, only for shutdown.
|
| |
| |
| |
| | |
shared surface before using it's HDC for pbuffer creation
|
| | |
|
| | |
|
| |
| |
| |
| | |
bit test script.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
NewtCanvasAWT/GLCanvas (delegation) ; Fix GLCanvas OffscreenLayerSurface usage.
JAWTWindow.destroy():
- No more getGraphicsConfiguration().getScreen().getDevice().close() call,
since the configuration (hence the device) is passed @ creation and owned by the caller.
New Interface 'OffscreenLayerOption', impl. by JAWTWindow (impl) and NewtCanvasAWT/GLCanvas (delegation)
- Abstract offscreenLayer option to be delegated by using classes
- Allow offscreen testing of GLCanvas as well (like NewtCanvasAWT)
Fix GLCanvas OffscreenLayerSurface usage
- common 'createDrawableAndContext()' for context and drawable instance creation
- addNotify() calls createDrawableAndContext() after super.addNotify() to be able
to lock the surface (JAWTWindow) and hence to determine offscreen usage.
- reshape(...) issues recreation 'dispose(true)' in case of using an offscreen layer
- dispose() explicitly destroys the JAWTWindow
NewtCanvasAWT:
- explicitly close the device of the JAWTWindow (as GLCanvas does)
Tests:
com.jogamp.opengl.test.junit.newt.parenting.TestParentingOffscreenLayer01GLCanvasAWT
com.jogamp.opengl.test.junit.newt.parenting.TestParentingOffscreenLayer02NewtCanvasAWT
|
| |
| |
| |
| | |
JVM/OpenGL-Driver issues
|
| |
| |
| |
| | |
is called 1st, add tests. Add performance numbers of init/shutdown in tests.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
'dead' thread (Applets)
GLDrawableFactory:
- clarify: public getWasSharedContextCreated(..) -> protected createSharedResource(..)
- add: getSharesResourceThread()
GLProfile:
- proper locking of initSingletion(..) path:
- Use RecursiveThreadGroupLock and add/remove GLDrawableFactory's sharesResourceThread
while creating it's the sharedResource.
This simplifies and fixes GLProfile's locking code.
- Fix and simplify initSingleton(boolean) API doc - mark it deprecated.
- Add initSingleton() for controlled initialization only, pairing w/ shutdown(..)
Remove initSingleton(boolean) calls in code and test!
+++
Fix SharedResourceRunner 'dead' thread (Applets)
In Applets, stopping an Applet makes the browser Java plugin interrupting
and killing all related threads, including our SharedResourceRunner thread.
- Validate whether the shared resource thread is alive
- Catch interruption in shared resource thread and assume it's a kill signal
- releaseSharedResource: clear devicesTried set
|
| |
| |
| |
| | |
n/a on some AWT impl.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Management
- Leave Platform, .. TempJarCache untouched.
- GLDrawableFactoryImpl*: Leave DynamicLibraryBundle(lib-binding) untouched,
for NativeLibrary, JNILibLoaderBase (JNI libs), .. consistency.
- SHARED_ONLY: shutdown shared GLDrawableFactoryImpl* resources and NativeWindowFactory
- COMPLETE: additionally shutdown GLContext*
Clear all cached GL/GLX proc-address and device/context mappings.
- Use new "GLProfile.shutdown(GLProfile.ShutdownType.SHARED_ONLY)" in Applets
- X11GLXDrawableFactory Shutdown: Uncomment close/destroy of shared resources.
- JAWTWindow.destroy(): Close the delegated device.
In case it's X11 this closes the exclusive opened X11 Display.
|