| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
blocking
Set NSOpenGLContext's NSView via [NSOpenGLContext setView:]
on the main-thread as enforced since XCode 11 using SDL macosx10.15, using Runnable SetNSViewCmd.
This operation must be performed async w/o blocking to allow
other tasks locking the NativeSurface on main-thread to complete.
Further, since [NSOpenGLContext setView:] acquired the CGLContext lock,
it can't be locked until this task has been completed.
Worst case scenario for a late [NSOpenGLContext setView:] issuance
might be corrupt initial frame(s) displayed.
Since all concurrent locking is performed within JOGL,
the unlocked CGLContext window risk is only academic.
However, if native 3rd party toolkits take share control,
we might have a situation.
+++
SetNSViewCmd is issued @ makeCurrent() now as opposed to createContext(..)
and associateDrawable(true). The latter was actually late as well,
as it also happened after makeCurrent when updating the drawable
association. It also missed setting a null NSView when detached!
release() will also set a null NSView if called after associateDrawable(false).
SetNSViewCmd will only be issued if the NSView has been changed,
i.e. first makeCurrent() or changing the drawable.
If issued, makeCurrent() will not lock the underlying CGLContext
and hence allow SetNSViewCmd to perform - see above.
+++
NSViewDescriptor class structure replaces the less convenient method 'getNSViewHandle(..)',
exposing all collected drawable characteristics as fields.
NSViewDescriptor also respects a ProxySurface's OPT_UPSTREAM_SURFACELESS mode,
which results in not using any underlying NSView - similar to OPT_UPSTREAM_WINDOW_INVISIBLE.
This change ensures that all surfaceless GL operations will not use any NSView.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
11 _and_ its default SDK 'macosx10.15'
This patch demonstrates that using the SDK 'macosx10.11' does not cause the crash @ -[NSOpenGLContext setView:].
SDK 'macosx10.15' enforces Apple's own Cargo Cult of 'main-thread' by throwing a SIGILL signal (or SIGABRT)
- essentially an exception.
This surely renders our code officially invalid due to this policy,
i.e. we are not allowed to issue [* setView] on any non main-thread.
+++
The crash occurs independently of used Java version on Java 8 - 11,
as well as on JogAmp 2.3.2 - current master tip.
+++
The initial remedy to issue said action on the main-thread in a blocking/wait
manner has the risk to deadlock, due to
1) [NSOpenGLContext setView:] itself using a mutex (Thanks to Ken Harris's analysis)
and
(2) in case where we are 'thread hopping':
- [main-thread] Event like 'window ready' -> kick off action on EDT-thread *blocking*
- [EDT-thread] Create stuff incl OpenGLContext -> kick off setView on main-thread *blocking*
This has to be further investigated.
This crash finally has been reliably reproduced now.
|
|
|
|
| |
+ show JOGL version
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
latest tip using XCode 11
Changes to test
- Using own 'NSApplicationMain' entry to avoid the 'missing Info.plist' message!
- Configurable CLASSPATH and LIBPATH at compile time.
Note that the java.library.path is now hardcoded as well.
- Don't close stderr in test, just fflush
- Don't close the JVM after launch via 'die(env)', let it run.
- Java: Add GLEventListener RedSquareES2 to see something in action @ 30fps
- Java: GLCanvase visible bounds
|
|
|
|
|
|
|
|
|
|
| |
using XCode 11 and JOGL 2.3.2 as well as current tip
This change imports '[email protected]' patch as
reported and provided in Bug 1398.
I can not execute this patch properly,
as received a error message regarding missing Info.plist at start.
|
|
|
|
| |
dumping the result. If working, Bug907 is fixed and hence DDT is working.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
5b47372590ec715647ebbd75d70c41ec7a64485a ; Close X11 Display in isDeviceSupported()
- Moved GL vendor version parsing to GLVersionNumber
- Moved X11Util.markAllDisplaysUnclosable() trigger into SharedResource creation of
- X11GLXDrawableFactory
- EGLDrawableFactory
- GLProfile is back to pre 5b47372590ec715647ebbd75d70c41ec7a64485a,
i.e. contains no quirk artifact (clean)
- Close X11 Display in X11GLXDrawableFactory.isDeviceSupported()
Regression of 9a4fcc7ea4ec61e4ceed791acced734ac04ea270
- TODO: Remove X11Util markAllDisplaysUnclosable detection code ?
Notes to Martin:
- Use TAB == 4 SPACES
- No author names into source code, git commit log is enough.
- No need to tag your edits, the diff is enough.
|
|
|
|
| |
glXCreateNewContext instead of glXCreateContext. X11 Error w/ Mesa 7.0
|
|
|
|
| |
glXCreateNewContext instead of glXCreateContext. Segmentation fault w/ Mesa 7.0
|
|
|
|
| |
commented out GLX_MESA_swap_control; native test of Mesa context-retarget bug, cannot reproduce yet.
|
| |
|
|
archive scripts
|