|
 | make/build.xml (diff) |
|
 | src/jogl/classes/jogamp/opengl/GLStateTracker.java (diff) |
|
 | make/scripts/make.jogl.all.win32.bat (diff) |
 | make/scripts/make.jogl.all.win64.bat (diff) |
 | make/scripts/tests-win.bat (diff) |
 | make/scripts/tests-javaws-x64.bat (diff) |
 | make/scripts/tests-x32-dbg.bat (diff) |
 | make/scripts/tests-x32.bat (diff) |
 | make/scripts/tests-x64.bat (diff) |
 | make/scripts/tests-x64-dbg.bat (diff) |
|
 | src/jogl/classes/com/jogamp/graph/geom/Outline.java (diff) |
 | src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff) |
|
 | src/jogl/classes/jogamp/graph/font/typecast/ot/OTGlyph.java (diff) |
 | src/jogl/classes/com/jogamp/graph/font/Font.java (diff) |
 | src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java (diff) |
|
 | src/test/com/jogamp/opengl/test/junit/graph/fonts/freefont/FreeSansBold.ttf |
 | src/test/com/jogamp/opengl/test/junit/graph/fonts/freefont/FreeSansOblique.ttf |
 | src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWTBugXXXX.java |
 | src/test/com/jogamp/opengl/test/junit/graph/fonts/freefont/FreeMonoBoldOblique.ttf |
 | src/test/com/jogamp/opengl/test/junit/graph/fonts/freefont/FreeSerifBold.ttf |
 | src/test/com/jogamp/opengl/test/junit/graph/fonts/freefont/FreeMonoBold.ttf |
 | src/test/com/jogamp/opengl/test/junit/graph/fonts/freefont/FreeSerifBoldItalic.ttf |
 | src/test/com/jogamp/opengl/test/junit/graph/TestFontsNEWT00.java |
 | src/test/com/jogamp/opengl/test/junit/graph/FontSet01.java |
 | src/test/com/jogamp/opengl/test/junit/graph/fonts/freefont/FreeSerif.ttf |
 | src/test/com/jogamp/opengl/test/junit/graph/fonts/freefont/FreeMono.ttf |
 | src/test/com/jogamp/opengl/test/junit/graph/fonts/freefont/FreeSans.ttf |
 | src/test/com/jogamp/opengl/test/junit/graph/fonts/freefont/FreeSerifItalic.ttf |
 | src/test/com/jogamp/opengl/test/junit/graph/fonts/freefont/FreeSansBoldOblique.ttf |
 | src/test/com/jogamp/opengl/test/junit/graph/fonts/freefont/FreeMonoOblique.ttf |
 | src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT10.java (diff) |
|
 | src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT10.java (diff) |
|
 | doc/HowToBuild.html (diff) |
|
 | doc/HowToBuild.html (diff) |
|
 | make/scripts/tests-x64.sh (diff) |
 | make/scripts/tests.sh (diff) |
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestVersionSemanticsNOUI.java (diff) |
 | make/scripts/make.jogl.all.linux-x86_64.sh (diff) |
 | make/lib/v2.2.0/jogl-all.jar |
|
 | src/jogl/classes/com/jogamp/opengl/util/glsl/sdk/CompileShader.java (diff) |
|
 | src/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff) |
 | src/jogl/classes/javax/media/opengl/GLSharedContextSetter.java (diff) |
 | src/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff) |
 | src/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff) |
 | src/jogl/classes/javax/media/opengl/GLDrawable.java (diff) |
 | src/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff) |
 | src/jogl/classes/com/jogamp/opengl/GLAutoDrawableDelegate.java (diff) |
 | src/jogl/classes/javax/media/opengl/GLOffscreenAutoDrawable.java (diff) |
Commit
ad79bd072b600a3f2416cc6f0c61e2925000069d
by Sven GothelBug 1054: Cleanup GLContext 'lock' and 'drawable' usage, perform drawable null check in constructor.
This patch merely cleans up 'lock' and 'drawable' usage, while fixing: - constructor: Add drawable null check -> IllegalArgumentException - setGLReadDrawable: Proper precondition checks - setGLDrawable: Proper precondition checks
Affected methods of mutable drawable for which we have to consider locking: - setGLReadDrawable - setGLDrawable - release - destroy - makeCurrent (commit: ad79bd0) |
 | src/jogl/classes/jogamp/opengl/GLContextImpl.java (diff) |
|
 | src/jogl/classes/jogamp/opengl/GLContextImpl.java (diff) |
 | src/jogl/classes/javax/media/opengl/GLContext.java (diff) |
 | src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff) |
Commit
11347ad39059836f3e2a4f1fc592dc1e3fab6a09
by Sven GothelBug 1054: GLContext: makeCurrent() needs a null-check of [mutable] drawable; Review null checks and synchronization/locking.
'drawable' field of GLContextImpl is mutable via setGLDrawable(..), which requires high-level locking as documented.
The required high-level locking allows us to _not_ add special synchronization to this field (and drawableRead).
A simple null-check in makeCurrent() shall be sufficient, plus ensuring mentioned high-level locking is applied.
GLContextImpl 'drawable' and 'drawableRead' synchronization: - commit ad79bd072b600a3f2416cc6f0c61e2925000069d check of null drawable is sufficient - Add GLAutoDrawable upstream-lock locking to: - AWT GLCanvas setupPrint/releasePrint - AWT GLJPanel (was missing)
Misc: - validate shared-context native-surface locking, throw exception if not successful - pixelDataEvaluated does not need to be synchronized, since it's being called while context is current, locking - GLDrawableHelper.recreateGLDrawable(..): Remove redundant glFinish() call (commit: 11347ad) |
 | src/jogl/classes/javax/media/opengl/GLContext.java (diff) |
 | src/jogl/classes/jogamp/opengl/GLContextImpl.java (diff) |
 | src/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff) |
 | src/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff) |
 | src/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff) |
Commit
011e13e22fd52d2e82697ffee6b4c9ca8f3d549a
by Sven GothelBug 1055 - Access and query shared master GLContext in a deterministic fashion ; Don't use arbitrary shared context as 'master'.
GLContext* passes the shared-master to GLContextShareSet, which only creates a sets of shared contexts without differentiating the master context.
GLContext*'s shared-slave attempts to lock the realized shared-master's surface at creation.
Currently only an arbitrary shared context is selected due to the missing 'master' identity. The arbitrary shared context's surface is locked and its shared context handle used to create the slave context.
Lacking of using the user given shared-master can lead to deadlock situations - and locking a 'wrong' surface.
+++
The patch:
- Allows query the user given shared-master!
- Use the user given shared-master for locking and it's context handle for the slave's creation.
- The shared-context mapping maps each shared-master to a shared-slave within one shared-context-set, allowing deterministic and individual shared-master queries. (commit: 011e13e) |
 | src/jogl/classes/jogamp/opengl/GLContextImpl.java (diff) |
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT4.java |
 | src/jogl/classes/javax/media/opengl/GLContext.java (diff) |
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT0.java (diff) |
 | make/scripts/tests.sh (diff) |
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2AWT3b.java (diff) |
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES1NEWT.java (diff) |
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2AWT3.java (diff) |
 | src/jogl/classes/jogamp/opengl/GLContextShareSet.java (diff) |
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2SWT3.java (diff) |
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT3.java (diff) |
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT1.java (diff) |
 | src/test/com/jogamp/opengl/test/junit/util/MiscUtils.java (diff) |
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT2.java (diff) |
|
 | src/jogl/classes/jogamp/opengl/GLContextImpl.java (diff) |
 | src/jogl/classes/javax/media/opengl/GLContext.java (diff) |
 | src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff) |
|
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLCanvasAWT.java (diff) |
 | src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/MultisampleDemoES2.java (diff) |
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLWindowNEWT.java (diff) |
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/GLReadBuffer00Base.java (diff) |
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLJPanelAWT.java (diff) |
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/GLReadBuffer00BaseAWT.java |
|
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLWindowNEWT.java (diff) |
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLCanvasAWT.java (diff) |
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLJPanelAWT.java (diff) |
Commit
7dbd7fcf9c5e5d6f48ee22f0e327902eb78614d2
by Sven GothelFBObject Cleanup: Add comments about maxSamples > 0 implies fullFBOSupport; bind(): Set dedicated read/write if fullFBOSupport
- Add comments about maxSamples > 0 implies fullFBOSupport
- bind(): Set dedicated read/write if fullFBOSupport as done in syncSamplingSink() and unbind() (commit: 7dbd7fc) |
 | src/jogl/classes/com/jogamp/opengl/FBObject.java (diff) |
|
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLJPanelAWT.java (diff) |
 | make/scripts/tests.sh (diff) |
Commit
ab07820e346f23aabc9d9364b7205017422cfaed
by Sven GothelBug 1020 - First MSAA FBO frame on a mac osx nvidia card not antialiased
OSX/Nvidia's FBO needs to be cleared before blitting, otherwise first MSAA frame lacks antialiasing.
GLFBODrawableImpl.initialize(..) can clear GL.GL_COLOR_BUFFER_BIT and GL.GL_DEPTH_BUFFER_BIT, if used.
FBObject cannot clear the buffer(s) due to it's low-level API, i.e. it cannot know when the first bind occurs _after_ user completed FBO setup (attaching buffers).
Hence plain FBObject usage required manual injection of glClear(..) after setup as demonstrated in GLJPanel.
We may need to elaborate in this case, i.e. add an FBObject API entry like 'fbo.postInitNotify()'. (commit: ab07820) |
 | src/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java (diff) |
 | src/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff) |
|
 | src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextNewtAWTBug523.java (diff) |