Skip to content
The Jenkins Controller is preparing for shutdown. No new builds can be started.
Success

Changes

Summary

  1. GLCanvas: Avoid NPE in debug mode @ reshape (duh) (details)
  2. Fix Windows ANGLE Workaround Regression of commit (details)
  3. FBO ResetQuirk: Dump only brief information (OS, GL, JOGL sha1), the (details)
  4. FixedFuncPipeline: Optimize shader resource, if preset != (details)
  5. FixedFuncPipeline: Use resource efficient texture shader in AUTO mode as (details)
  6. FixedFuncPipeline: Use ES2/GL2 prelude and set default precision. Shader (details)
  7. FixedFuncColorTexture.fp: Remove unused local var (details)
  8. jogl: fix bit shift error in LEDataInputStream (details)
  9. jogl: remove infinite loop in Path2D.contains(AABBox) (details)
  10. jogl: fix bad format string in PngChunkTIME (details)
  11. ImmModeSink: Fix buffer grow (+1 element @ named buffer), enable DEBUG_* (details)
  12. Path2D: Reuse 'contains(..)' method, footprint (details)
  13. Minor NEWT Display/Screen API doc (details)
  14. FixedFuncPipeline/Hook: Add glColor4ub() w/ value conversion, make (details)
  15. ImmModeSink: Add glColor3ub(), glColor4ub(); Add proper value conversion (details)
  16. ImmModeSink VBO: Update single buffers (vertex, color, ..) if once (details)
  17. ImmModeSink: Add resizeElementCount, allowing user to set a lower (details)
  18. ImmModeSink: Pretty'fying Ctor/Factory methods argument list (details)
  19. FixedFuncPipeline: Cache current ShaderSelectionMode, update PMVMatrix (details)
  20. FixedFuncPipeline: Don't handle CullFace, ES2 impl. already takes care (details)
  21. NEWT / BCM-VC-IV: Fix transparency according to given capabilities (details)
  22. EGLDrawableFactory: Detect ES1 implementation within ES2 library, if not (details)
  23. Add GenericGLCapabilitiesChooser: Dropping (details)
  24. Fix commit 48bcceaf611a17bb3795aa9fe25a0e0c726879f7, (details)
  25. NEWT ScreenMode Change Failover / Window.setFullscreen() shall use (details)
  26. FixedFuncPipeline: Add GL_POINT* state tracking; Fix glDrawArrays(): (details)
  27. FFP-Emu: Adding simple POINTS shader ; Adding GLRunnable2 interface, (details)
  28. Fix ImmModeSink Padding: Fourth element default value (vertex/color) is (details)
  29. FixedFuncPipeline GL_POINTS: Fix gl_PointSize (attribute data format), (details)
  30. FixedFuncHook/ImmModeSink: Fix *Pointer 'normalized' parameter (details)
  31. ImmModeSink: Reduce DEBUG_* print a bit (no this.toString()) (details)
  32. Fix regression of commit 40d01bef2a1db44533472c37961aabbef68de644: Test (details)
  33. FixedFuncPipeline: Require GLSL 1.20 (GL 2.1) due to GL driver bugs in (details)
  34. tests.sh: TestPointsNEWT (details)
  35. jogl: use Boolean TRUE/FALSE constants for values that will be (details)
  36. Fix Bug 630: packedDepthStencilAvail didn't check for (details)
  37. Adapt to GlueGen change 08a8defda8b6f49eb794cf787f688ba65bfe7b37 (details)
  38. GLContext: Produce and expose GLSL version as VersionNumber and version (details)
  39. ShaderCode: Add defaultShaderCustomization(..) to prelude shader source (details)
  40. Fix Bug 601 - Auto-Repeat Behavior: Adding unit tests for typed key (details)
  41. NEWT KeyEvent: Fix intendation (details)
  42. NEWT KeyEvent: Remove invalid version remarks. (details)
  43. Fix Bug 631 and enhance 601: Handle multiple keys (pressed, released, (details)
  44. NEWT KeyEvent (Windows, OSX): Check whether keyCode is tracked before (details)
  45. Fix NEWT KeyCode: Basic KeyCode Validation on X11, Windows and OSX (details)
  46. NEWT X11 Display: Ignore events w/ NULL window, instead of throwing a (details)
  47. Minor edits FBObject/GearsObject (details)
  48. GearsES2/RedSquareES2: Dump GLRendererQuirks at init. (details)
  49. GLRendererQuirks: Add RequiresBoundVAO (w/ impl.), GLSLBuggyDiscard (details)
  50. Rename NEWT KeyEvent Unit tests to end w/ AWT, otherwise no AWT classes (details)
  51. Graph Shader: Using default precision values (VP: highp, FP: mediump), (details)
  52. Complete Rename NEWT KeyEvent Unit tests, commit (details)
  53. FixedFuncPipeline: Use proper shader version and make GLSL code (details)
  54. GLContextImpl GLRendererQuirks.RequiresBoundVAO: Use isGL3() instead of (details)
  55. GLSL Unit tests .. make them all GLSL version proof (details)
  56. Fix GLSL unit tests - Add GLSL version customization, fix one wrong (details)
  57. TestNewtKeyEventAutoRepeatAWT: Wait for 'some' KeyEvents and check (details)
  58. GLRendererQuirks.RequiresBoundVAO: Removed, it _is_ in the GL 3.2 core (details)
  59. EGL/EGLExt Robustness: Use NIODirectOnly for all bindings. For these (details)
  60. GLX/GLXExt Robustness: Use NIODirectOnly for all bindings. For these (details)
  61. CGL/CGLExt Robustness: Use NIODirectOnly for all bindings. For these (details)
  62. WGL/WGLExt Robustness: Use NIODirectOnly for all bindings. For these (details)
  63. NEWT/OSX getLocationOnScreenImpl(..): Use real (details)
  64. Fix AWTRobotUtil.keyType(..): 'c0' start count must be outside of retry (details)
  65. TestNewtKey*: Don't test TAB (focus traversal, duh!); Add (details)
  66. NEWT Windows: Add more verbose DEBUG information for FOCUS handling (details)
  67. Fix regression of commit e5692f615a8c40e7ca750261baf5e8ecdb0a34b8: (details)
  68. Fix NEWT KeyEvent: Deliver keyChar w/ pressed and released; Deliver (details)
  69. ShaderProgram: Program name is valid if non zero; Add init(GL) return (details)
  70. TestInitConcurrent02NEWT: Disabled for auto unit test until further (details)
  71. Shader: Add '#define texture2D texture' for GLSL >= 130 ; (details)
  72. Add OSX CALayer OpenGL 3 (core) support: Derive pixelformat from parent (details)
  73. Fix ProjectFloat (Bug 633): Adding missing offset of sliced buffer (details)
  74. Fix Unit Tests regarding commit (details)
  75. *FontLoader: Order fields in init-order, make private. (details)
  76. jogl-test-applets: Add 'force gl3' GearsES2 Applet for GL3 core testing (details)
  77. MacOSXCGLContext: Fix ShaderCode instantiation .. (duh!) ; Tested via (details)
  78. Notes: NVIDIA Tegra discard problem ; TestSharedContextVBOES2NEWT (details)
  79. NEWT Windows KeyEvent: We have to store the keyChar for typed events, (details)
  80. NEWT KeyEvent API doc: Document Windows shift+non-uppecase_char, commit (details)
  81. MacOSXCGLContext[NSOpenGLLayer/NSView]: Propagate drawable change (details)
  82. GLAutoDrawable: Fix GLEventListener lifecycle and expose more user (details)
  83. FPSAnimator: Wait '2 x period' or 20ms, whichever is greater in case of (details)
  84. GLDrawableUtil.swapGLContextAndAllGLEventListener(..): Add glFinish() (details)
  85. Adding Andres Colubri's Test Case (junit'fyed), which provokes a (details)
  86. TestGLCanvasAWTActionDeadlock01AWT -> (details)
  87. TestGLCanvasAWTActionDeadlock00AWT: Remove redundant argument (details)
  88. TestGLCanvasAWTActionDeadlock01AWT: Reproducing OSX deadlock variation, (details)
  89. Analyzed OSX Deadlock w/ AWT Applet & CALayer: Andres Colubri's Test (details)
  90. GLAutoDrawable: Refine API change of commit (details)
  91. TestGLCanvasAWTActionDeadlock0[01]AWT: Disable 'restart' test on current (details)
  92. Fix GLDrawableHelper.recreateGLDrawable(..): Sync GL command stream (details)
  93. GLFBODrawableImpl: Following suit w/ commit (details)
  94. Bug 634 - Part 1: FBObject, Make MSAA 'samplingSink' mutable and add (details)
  95. FBObject: Rename private fields for better reading: samplesSink* -> (details)
  96. Fix GLAutoDrawable.dispose(): Dispose drawable even w/o context; (details)
  97. Bug 634 - Part 1: Fix FBObject regression of commit (details)
  98. Adding basic Frustum utility class interfacing w/ PMVMatrix. Still (details)
  99. Fix Bug 636: Quaternion multiplication unexpected behavior (details)
  100. Merge MathFloat into FloatUtil (details)
  101. Reorganize math code into: com.jogamp.opengl.math and (details)
  102. Cleanup Frustum Math Util: Independent / Compile Clean / Relocation ; (details)
  103. AABBox: Add public direct setSize(..), skipping redundant reset() / (details)
  104. Frustum: Simpler usage (ctor, update) no need for explicit compute() (details)
  105. PMVMatrix: Add 'Frustum glGetFrustum()' adding same dirty/request (details)
  106. GLDrawableHelper disposeAllGLEventListener(): Don't use cached listener (details)
  107. Fix Graph SceneUIController: Remove Listener by itself in dispose() (details)
  108. Added a condition to skip updateGraphicsConfigurationARB when (details)
  109. Frustum: Passing Mv*P (column major order) (details)
  110. Frustum: Print Plane's normals properly in toString() (details)
  111. Validating Frustum w/ help of Eduard White olamedia@gmail.com, (details)
  112. Adding Ref.: Frustum-Culling, Max Wagner (details)
  113. Frustum: Clarify isOutside(AABBox) impl, add isOutside for point and (details)
  114. Frustum: Cleanup / update; PMVMatrix: Fix mulPMV (details)
  115. Frustum: Add doc. about Frustum's Plane's normal orientation (details)
  116. Frustum: Clarify method names, fix point/sphere classification, add used (details)
  117. NewtVersionActivity: Dump information in logcat (details)
  118. Fix Bug : Quaternion multiplication unexpected behavior (details)
  119. OSX CALayer Stencil/.. Fix: In case of FBO CALayer usage, use default (details)
  120. Bug628: Adding unit test reproducing the deadlock realiable withing (details)
  121. Fix SWTEDTUtil Bug628: Perform NEWT event dispatching on SWT-EDT, due to (details)
  122. FPSAnimator: Add note on deamon-thread and JVM shutdown behavior. (details)
  123. SWTEDTUtil/AWTEDTUtil: Fix deadlock situation in waitUntilStopped(), etc (details)
  124. Add test-x64 script for running SWT junit test cases (only) - also (details)
  125. SWT: Bump to version 4.3.0 M3 201210312000 (details)
  126. SWTAccessor: OS_gtk_widget_unrealize optional (SWT 4.3) ; decorate (details)
  127. SWTEDTUtil/AWTEDTUtil: Fix deadlock situations ; Cleanup (details)
  128. X11Util/Xmisc setX11ErrorHandler: Force setting X11 error handler if (details)
  129. Fix script lstjars.sh's pack200 list (details)
  130. Fix regression of commit 4dd44b985fe0541be3a3bcd9045d201ed3ca2cc5: (details)
  131. etc/profile.jogl: Fix OpenIndiana ARCH i86pc -> x86 (used currently for (details)
  132. Complete commit 541bcc1eecc50656392e1fec1a27b08ab78eceff (SWT version (details)
  133. Fix etc/test_dbg.sh: Missing jogl.all.jar -> jogl-all.jar (details)
  134. SWT Solaris x86 files: Use version 4.2, 4.3.0-M3 fails, see README.txt (details)
  135. SWTAccessor: Add SWT 4.3's X11-GTK version adaption (2.14, 2.24, 3.0) (details)
  136. TestSWTJOGLGLCanvas01GLn: Use display.syncExec(..) where possible, add (details)
  137. SWT GLCanvas: Fix dispose bug, check for isDisposed() and add (details)
  138. NewtCanvasSWT: Add DisposeListener (details)
  139. Fix for JOGL bug 629, and added new unit tests. (details)
  140. Bug628: Adding unit-test 'TestNewtCanvasSWTBug628ResizeDeadlock' (details)
  141. Simplify NEWT EDTUtil invoke: To start EDT Runnable maybe null - start (details)
  142. Fix NewtCanvasSWT's newtChild usage: Only use set newtChild if it's (details)
  143. NEWT WindowImpl: Don't issue native resize if invisible, simply use (details)
  144. NEWT WindowImpl fixes: surfaceLockCount-- if native lock fails; (details)
  145. Fix Bug 643: SWT 'display.asyncExec(Runnable runnable)' runnable not (details)
  146. NEWT EDTUtil: Simplify running state (default is running @ (details)
  147. SWT GLCanvas/NewtCanvasSWT: Check isVisible() @ validation; (details)
  148. Fix GLDrawableHelper invokeGLImpl(..): Only attempt to release context (details)
  149. SWT GLCanvas: Fix sporadic drop of redraw on X11 _and_ allow using (details)
  150. Update JOGL WWW page (Added sections: App, Util, Games, Old; Added (details)
  151. Add Java3d and nifty-gui (details)
  152. Add siggraph2012 (details)
  153. WWW: reorder siggraph (details)
  154. WWW: Link to Siggraph2012 page and use relative URL to wiki (details)
  155. Cleanup GLContext special entries: getOffscreenContextPixelDataType(), (details)
  156. GLArrayData/ImmModeSink: Remove implicit dependency on ShaderState - (details)
  157. Fix/Complete commit b8a8fc24a3afb0cb06a31504bdea1a98b8f00ef4 - Adding (details)
  158. GLJPanel: Impl. is GLProfile agnostic; Use (details)
  159. MacOSXCGLContext: Use new setLocation(gl, shader-program); Minor edits.. (details)
  160. Bug642: Add test case for Swing JSplit Pane w/ GLCanvas and GLJPanel (details)
  161. test script (details)
  162. Cleanup atomic JARs; Removed Debug/Trace pipelines of common profiles (details)
  163. Bug 651: Mesa3D: GL_INVALID_ENUM in (details)
  164. GLContextImpl: Make createContextARBImpl/setGLFunctionAvailability more (details)
  165. FBObject, minor edit: GL2GL3.GL_MAX_COLOR_ATTACHMENTS -> (details)
  166. *Drawable impl. DEBUG: Add getThreadName() to debug out. (details)
  167. Fix Bug 642 TestJSplitPaneMixHwLw01AWT (AWT-GLCanvas); Robustness (details)
  168. Bug 642: Refine test case, adding Hw/Lw mix intermediate Container test (details)
  169. Bug 642 / Refine 1ae0737f34143a5ed655bd9c4d5fe9b0437c7774: (details)
  170. Fix regression of commit b8a8fc24a3afb0cb06a31504bdea1a98b8f00ef4: Cache (details)
  171. Bug 642 / Refine 1ae0737f34143a5ed655bd9c4d5fe9b0437c7774: (details)
  172. Fix commit 811e3791b98fea0dfa3b7d301cb532c54df8dc82: Make AWT usage (details)
  173. Fix 13168c99ff9e8bf71c83f1be7afee270a3db4074 / (details)
  174. Move pre-existing NEWT event test to new dedicated package package: (details)
  175. AWT-NEWT Modifier mapping and test: part-3 (NEWT BUTTON MASK always, ..) (details)
  176. AWT-NEWT Modifier mapping and test: part-3 (Fix unit tests) (details)
  177. NEWT peserve 'mouseButtonModMask' to be sent for all mouse- and key (details)
  178. WT-NEWT Modifier mapping and test: part-4 (Fix unit tests): (details)
  179. NEWT/Android: Fix NewtBaseActivity.getWindow() recursion if used w/o (details)
  180. Misc OSX/SWT: OSXUtil.RunOnMainThread(..) refinement; Fix (details)
  181. Test*NewtEventModifiers*: Clear 'clearing' events on thread - (details)
  182. NEWT/Android: Fix NewtBaseActivity.getWindow() recursion if used w/o (details)
  183. Android build scripts: Fix env. name ANDROID_SDK_HOME -> ANDROID_HOME (details)
  184. adb-launch-main.sh: ANDROID_SDK_HOME -> ANDROID_HOME (details)
Commit 51f055ae70f927638ac304436e9a1f02a1c0b570 by Sven Gothel
GLCanvas: Avoid NPE in debug mode @ reshape (duh)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
Commit 61bb64aea9d8967f5360ba42fc9ec7a24b79683b by Sven Gothel
Fix Windows ANGLE Workaround Regression of commit 923d9dd7f1d40db72d35ca76a761ca14babf147f

We are aware that Google's ANGLE (Windows EGL/ES2 impl. based on D3D)
crashes using eglInitialize(..) w/ EGL_DEFAULT_DISPLAY.

Commit 923d9dd7f1d40db72d35ca76a761ca14babf147f moved the EGL device initialization
into the EGLDrawableFactory ctor and hence slipped out ANGLE workaround to disable it per default.

- Moving property static flags from GLProfile -> GLDrawableFactory
- Moving ANGLE workaround right into EGLDrawableFactory (where it belongs)
- Moving optional EGL/ES disable code to GLDrawableFactory (where it belongs)

Tested on Windows w/ Java-32bit and latest Chrome ANGLE DLLs
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLProfile.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java (diff)
The file was modifiedmake/scripts/java-win32-dbg.bat (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java (diff)
The file was modifiedmake/scripts/java-win32.bat (diff)
The file was modifiedmake/scripts/tests-x32.bat (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableImpl.java (diff)
Commit b98bb2d14d5d5ff96fd5c22f4f30bc685d86757b by Sven Gothel
FBO ResetQuirk: Dump only brief information (OS, GL, JOGL sha1), the latter becomes public method to JoglVersion
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/JoglVersion.java (diff)
Commit acdb3d4cbbdd6ade5d347abaaac71a1a8abe48e1 by Sven Gothel
FixedFuncPipeline: Optimize shader resource, if preset != ShaderSelectionMode.AUTO (good for mobile); Lazy shader instantiation.
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/mgl_const.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncPipeline.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/fixedfunc/ShaderSelectionMode.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/FixedFuncColorTexture.fp (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/mgl_attribute.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/mgl_uniform.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/mgl_settexcoord.vp (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/mgl_varying.glsl (diff)
Commit 842e9feefc9d1a885a92ad8f0068cbcbcdd0e3c4 by Sven Gothel
FixedFuncPipeline: Use resource efficient texture shader in AUTO mode as well
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncPipeline.java (diff)
Commit e658ab1e427a7957b9dbfa4a396506de6c6582fd by Sven Gothel
FixedFuncPipeline: Use ES2/GL2 prelude and set default precision. Shader code: Remove precision for default precision types.
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/mgl_attribute.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/mgl_uniform.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/FixedFuncColor.fp (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncPipeline.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/FixedFuncColorTexture.fp (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/mgl_const.glsl (diff)
Commit f8fb65c7cd79743a6501fe63ff1e28479ceedb4f by Sven Gothel
FixedFuncColorTexture.fp: Remove unused local var
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/FixedFuncColorTexture.fp (diff)
Commit 19bee7d8946721b8d094937abf1b33889b7c32e5 by Harvey Harrison
jogl: fix bit shift error in LEDataInputStream

The readlong() method is attempting to build a 64bit value from two 32 bit reads.
The problem is that shifting an int only uses the lower 5 bits of the shift value,
so << 32 is the same as << 0.  Cast to long and restore the original intention.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/spi/LEDataInputStream.java (diff)
Commit b9653e6f55a96f3769a980b2569fc9fabad9f374 by Harvey Harrison
jogl: remove infinite loop in Path2D.contains(AABBox)

It is impossible to use this method as it will get into an infinite loop as it
just calls itself.  Base the implementation on the contains method shortly before
this method.  As this method is impossible to actually use, it could also just
be removed.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/jogl/classes/jogamp/graph/geom/plane/Path2D.java (diff)
Commit f15b5df4114e46b4c6a968b75aebb6014afc1806 by Harvey Harrison
jogl: fix bad format string in PngChunkTIME

Missing format specifier for the first argument would lead to this throwing IllegalFormatException.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkTIME.java (diff)
Commit 658d269db957cdb986f2da2fbe15d2441b6f03c4 by Sven Gothel
ImmModeSink: Fix buffer grow (+1 element @ named buffer), enable DEBUG_* via properties, drawIndices QUAD w/ proper range and add uint; FixedFunctionHook: drawIndices QUAD w/ proper range and add uint
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/ImmModeSink.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncHook.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 83cc52571ffeeea8efc673ed274a4c7a09597c6c by Sven Gothel
Path2D: Reuse 'contains(..)' method, footprint
The file was modifiedsrc/jogl/classes/jogamp/graph/geom/plane/Path2D.java (diff)
Commit 1b327874356130096546533a690deff3b7bc876c by Sven Gothel
Minor NEWT Display/Screen API doc
The file was modifiedsrc/newt/classes/com/jogamp/newt/Screen.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Display.java (diff)
Commit 153a37378beff3f8b40fed8e55b62c2f2790eca5 by Sven Gothel
FixedFuncPipeline/Hook: Add glColor4ub() w/ value conversion, make glColor4f() more efficient, use pre-alloc NIO buffer
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncPipeline.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncHook.java (diff)
Commit 9c6ad40321266e6fe22455572d942b98535debf1 by Sven Gothel
ImmModeSink: Add glColor3ub(), glColor4ub(); Add proper value conversion of imm. gl* functions; Default color padding is 1f; Make fields private.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/ImmModeSink.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLBuffers.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit e54c934ddb1e2f121f9cbc0956ab8c43b05f7665 by Sven Gothel
ImmModeSink VBO: Update single buffers (vertex, color, ..) if once written and size gross-net > PAGE_SIZE

Usually PAGE_SIZE is written within one DMA xfer command,
so if the gross buffer bulk transfer contains more unused data than PAGE_SIZE
we may win when transfering each single buffer at buffer update.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/ImmModeSink.java (diff)
Commit 4273b4d1ad9780c6ac72683fe8cc6d7a5f402cfa by Sven Gothel
ImmModeSink: Add resizeElementCount, allowing user to set a lower additional resize element count
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/ImmModeSink.java (diff)
Commit dcc9cfd2397f2a44ed8d5b980297c5b974b5ac18 by Sven Gothel
ImmModeSink: Pretty'fying Ctor/Factory methods argument list
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/ImmModeSink.java (diff)
Commit f25682cabc5f421c3126e75833ae70b5a16e5b2e by Sven Gothel
FixedFuncPipeline: Cache current ShaderSelectionMode, update PMVMatrix according it's usage (update Mvi/Mvit only if lighting is being used)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncPipeline.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 1aea29bb5d253600213024fd2c12a91bf3599202 by Sven Gothel
FixedFuncPipeline: Don't handle CullFace, ES2 impl. already takes care of discarding pixels of culled faces.
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncHook.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/FixedFuncColorTexture.fp (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncPipeline.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/FixedFuncColor.fp (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/mgl_uniform.glsl (diff)
Commit 416c7fc1b90cd7b34c251268bb83ebeea61d17d6 by Sven Gothel
NEWT / BCM-VC-IV: Fix transparency according to given capabilities

Tested manual w/ TestGearsES2NEWT on Raspberry Pi
The file was modifiedsrc/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java (diff)
The file was modifiedsrc/newt/native/bcm_vc_iv.c (diff)
Commit 48bcceaf611a17bb3795aa9fe25a0e0c726879f7 by Sven Gothel
EGLDrawableFactory: Detect ES1 implementation within ES2 library, if not found in ES1 library

This is the case in BCM-VC-IV blobs, tested on Raspeberry-Pi
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java (diff)
Commit ba482e4042b899a8b9d9d4a2b660e8e92fcadfe7 by Sven Gothel
Add GenericGLCapabilitiesChooser: Dropping 'windowSystemRecommendedChoice' hint
The file was addedsrc/jogl/classes/com/jogamp/opengl/GenericGLCapabilitiesChooser.java
Commit 5915aa179b74bc7cbc28d43f11e03adfddcecb57 by Sven Gothel
Fix commit 48bcceaf611a17bb3795aa9fe25a0e0c726879f7, EGLDrawableFactory's ES1 impl. detection

'glBegin' is not ES1, duh!
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java (diff)
Commit b5d42f14e0efdb117da9c5145d807ed0d7631b97 by Sven Gothel
NEWT ScreenMode Change Failover / Window.setFullscreen() shall use current ScreenMode rotated resolution.

ScreenMode Change Failover
  - In case a timeout appears (buggy XRandR),
    double check current ScreenMode in case it has been set.

Window.setFullscreen() shall use current ScreenMode rotated resolution.
  - The Screen's virtual size in not correct!
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/ScreenImpl.java (diff)
Commit 545a9422324f5c8ef47b48a2e3e5419c56f19f14 by Sven Gothel
FixedFuncPipeline: Add GL_POINT* state tracking; Fix glDrawArrays(): Issued twice (duh!) almost halfed performance :)

TODO: Create GL_POINT texture and render w/ glDraw*()
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncHook.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncPipeline.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/mgl_uniform.glsl (diff)
Commit 9ad687e18a67d335ea8ed4868025d0c740e02583 by Sven Gothel
FFP-Emu: Adding simple POINTS shader ; Adding GLRunnable2 interface, allowing passing a GL action w/ custom argument and return value.

Adding simple POINTS shader not regarding POINTS parameters and not using a texture (commented out).

FIXME:
  Event thought it works using a texture and gl_PointCoord in frag shader,
  I don't see the point here (lol) if gl_PointSize must be 1.0 in vert shader ..
  otherwise nothing is seen on ES2.0.
  On Desktop POINTS are always shown as 1 pixel sized points!
The file was addedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/FixedFuncPoints.vp
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncPipeline.java (diff)
The file was addedsrc/jogl/classes/javax/media/opengl/GLRunnable2.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/mgl_uniform.glsl (diff)
The file was addedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/FixedFuncPoints.fp
Commit 40d01bef2a1db44533472c37961aabbef68de644 by Sven Gothel
Fix ImmModeSink Padding: Fourth element default value (vertex/color) is 1f
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/ImmModeSink.java (diff)
Commit 5bdd283a9c3d0c656c859d499476173e2f609839 by Sven Gothel
FixedFuncPipeline GL_POINTS: Fix gl_PointSize (attribute data format), Add GL_POINT_SOFT and dist/fade attenuation (Adding basic POINT unit tests)

gl_PointSize (and all other uniform array elems) was not propagated due to wrong usage of GLUniformData component param.
Due to efficiency, we use vec4[2] now and #defines in shader to easy readability.

GL_POINT_SOFT uses gl_PointCoord to determnine inside/outside circle position
while adding a seam of 10% in/out. This almost matches 'other' implementations and gives a nice smooth circle.

!GL_POINT_SOFT produces a proper square (billboard).

Point-Vertex shader takes dist/fade attentuation into account.
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/PointsDemoES1.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/PointsShader.fp
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/PointsDemo.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/PointsShader.vp
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncPipeline.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/mgl_uniform.glsl (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/FixedFuncPoints.vp (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestPointsNEWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/PointsDemoES2.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/FixedFuncPoints.fp (diff)
Commit 03cdffe5739ef8b032638cf4169e713c90fb36c6 by Sven Gothel
FixedFuncHook/ImmModeSink: Fix *Pointer 'normalized' parameter

All *Pointer methods used 'normalized:=false', but we cannot assume
the fixed function code does use normalized (0f..1f) values.
On the contrary, it usually uses the native format value range.

Hence we have to pass normalized:=true for all fixed point data types
and normalized:=false for floating point data types.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLBuffers.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLArrayData.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/ImmModeSink.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncHook.java (diff)
Commit 53d54caf6ee7ea24bcc93599300e06bf455c75aa by Sven Gothel
ImmModeSink: Reduce DEBUG_* print a bit (no this.toString())
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/ImmModeSink.java (diff)
Commit 133d7b82d47b2918af042944158e9b09e2663855 by Sven Gothel
Fix regression of commit 40d01bef2a1db44533472c37961aabbef68de644: Test for fourth element was invalid
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/ImmModeSink.java (diff)
Commit e027d4a2f9b3d7f23e9a9eec81c0cb011e861269 by Sven Gothel
FixedFuncPipeline: Require GLSL 1.20 (GL 2.1) due to GL driver bugs in OSX (gl_PointCoords n/a otherwise); Add FFP Emul point test in TestPointNEWT/PointDemoES1.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/PointsDemoES1.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/PointsDemoES2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncPipeline.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestPointsNEWT.java (diff)
Commit f8237ac370585bd454675a84ee6d81da3f74d765 by Sven Gothel
tests.sh: TestPointsNEWT
The file was modifiedmake/scripts/tests.sh (diff)
Commit d73ee3ac8aac58914146c0c9949902452db83b56 by Harvey Harrison
jogl: use Boolean TRUE/FALSE constants for values that will be immediately unboxed

No reason for ever using new Boolean when the constants are available.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java (diff)
Commit dedf4ea7ddab1279602208fa194231ea65409251 by Sven Gothel
Fix Bug 630: packedDepthStencilAvail didn't check for EXT_packed_depth_stencil extension
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/FBObject.java (diff)
Commit f2661adf587390a61cbb7fe2e3377da2d57672a7 by Sven Gothel
Adapt to GlueGen change 08a8defda8b6f49eb794cf787f688ba65bfe7b37 (VersionNumber)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLVersionNumber.java (diff)
Commit 0f198907181396c5aab545f621098ed2f210003a by Sven Gothel
GLContext: Produce and expose GLSL version as VersionNumber and version string (for shader programs)

Uses GL_SHADING_LANGUAGE_VERSION and parses it via VersionNumber, as well as having a static fallback
using the GL context version.

The value is valid and can be retrieved after ctx has been made current once.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
Commit 4f05d5add18048c2fbd1837c0563446c11177e8c by Sven Gothel
ShaderCode: Add defaultShaderCustomization(..) to prelude shader source w/ GLSL version and default precision (if GLES) - Used by GearsES2/RedSquare/PointDemo (Made GLSL version proof)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/gears.vp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/RedSquareShader.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/ShaderCode.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/RedSquareShader.vp (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/ShaderUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/GearsObjectES1.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/RedSquareShader2.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/gears.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/PointsDemoES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/PointsShader.vp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/PointsShader.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsObjectES2.java (diff)
Commit b008de41549e38aebdfcb7b094046235a8dde72f by Sven Gothel
Fix Bug 601 - Auto-Repeat Behavior: Adding unit tests for typed key order w/ and w/o auto repeat. Incl. fix for Windows.

Auto-Repeat tests recognizes whether auto-repeat could be triggered by AWT Robot.
The latter is not possible on Windows, hence manual testing was required on this platform.

Impact: X11, Windows and OSX produce proper key sequence incl. auto-repeat modifier mask.
The file was modifiedsrc/newt/classes/jogamp/newt/driver/windows/WindowDriver.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/EventCountAdapter.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/InputEventCountAdapter.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTWindowFocusAdapter.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/NEWTMouseAdapter.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTFocusAdapter.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/util/KeyEventCountAdapter.java
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/NEWTEvent.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTMouseAdapter.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/TestKeyEventAutoRepeatNEWT.java
The file was modifiedsrc/newt/native/X11Display.c (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTKeyAdapter.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/NEWTKeyAdapter.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/KeyEvent.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/NEWTFocusAdapter.java (diff)
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/util/NEWTKeyUtil.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/TestKeyEventOrderNEWT.java
Commit cb32db97634ba10961632a365c1256a8b3472112 by Sven Gothel
NEWT KeyEvent: Fix intendation
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/KeyEvent.java (diff)
Commit b8588b12e65ee47b5a74d75ea420a5252e0d93bb by Sven Gothel
NEWT KeyEvent: Remove invalid version remarks.
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/KeyEvent.java (diff)
Commit 2f9c77a347b76bebdadd4bec1ac92aa7ab72365f by Sven Gothel
Fix Bug 631 and enhance 601: Handle multiple keys (pressed, released, types incl. auto-repeat)

- Using keyCode (bit) maps to isPressed and isAutoRepeat, allowing use of multiple keys

- Enhance unit test TestKeyEventOrderNEWT w/ injecting variations of 2 diff. keys

- Manual tested on X11, Windows and OSX w/ and w/o auto-repeat
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/NEWTKeyUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestKeyEventOrderNEWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/windows/WindowDriver.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/TestKeyPressReleaseUnmaskRepeatNEWT.java
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit 70d58b030bdbac98ba592a3a14a84cc0e4941c51 by Sven Gothel
NEWT KeyEvent (Windows, OSX): Check whether keyCode is tracked before using bitfield, use more IntBitfield.put(..) return value for efficiency.
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/windows/WindowDriver.java (diff)
Commit cf9a4e236891ce2f6d9469a017e880eed704dea0 by Sven Gothel
Fix NEWT KeyCode: Basic KeyCode Validation on X11, Windows and OSX

- X11: Add VK_QUOTE mapping

- OSX: Add single shift, ctrl alt key press;
       Fix mapping: Command -> Windows, Option -> ALT, add BACK_QUOTE and QUOTE.
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/KeyEvent.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/MacKeyUtil.java (diff)
The file was modifiedsrc/newt/native/NewtMacWindow.m (diff)
The file was modifiedsrc/newt/native/NewtMacWindow.h (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/NEWTKeyUtil.java (diff)
The file was modifiedsrc/newt/native/X11Display.c (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/TestKeyCodeNEWT.java
Commit b7e84320dced5325bd7f7b4dda917b251e3915ab by Sven Gothel
NEWT X11 Display: Ignore events w/ NULL window, instead of throwing a disturbing and fatal RuntimeException
The file was modifiedsrc/newt/native/X11Event.c (diff)
The file was modifiedsrc/newt/native/X11Display.c (diff)
Commit 61c80ee66512b72e5ea1644bfef5fc60105fe445 by Sven Gothel
Minor edits FBObject/GearsObject
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/FBObject.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/GearsObject.java (diff)
Commit 17d47c83bb976b6185b1562a2c332ecfef258c48 by Sven Gothel
GearsES2/RedSquareES2: Dump GLRendererQuirks at init.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsObjectES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
Commit 9b6448b1d54716fd455c0cad0c6133c0edeb3bb8 by Sven Gothel
GLRendererQuirks: Add RequiresBoundVAO (w/ impl.), GLSLBuggyDiscard (todo) ; GLContextImpl: Bind default VAO if having quirk RequiresBoundVAO.

OSX w/ OpenGL >= 3 core context implementation requires a bound VAO for vertex attribute operations,
i.e. VertexAttributePointer(..). This has been experienced on OSX 10.7.5, OpenGL 3.2 core w/ Nvidia GPU
and in several forum posts. Such 'behavior' violates the GL 3.2 core specification,
which does not state this requirement, hence it is a bug. (Please correct me if I am wrong!)

GLContextImpl works around this quirk, by generating a default VAO and binds it at 1st makeCurrent (@creation)
and deletes it at destroy. This is minimal invasive since no action is required for subsequent makeCurrent or release.
We assume if a user uses and binds a VAO herself, she will mind this quirk.

Note: We could enhance this workaround by quering for a currently bound VAO at makeCurrent() and bind our default if none.
However, we refrain from this operation to minimize the workaround and complexity.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit 85851c9839d620bcbbd07b6ca833f1a5901831cc by Sven Gothel
Rename NEWT KeyEvent Unit tests to end w/ AWT, otherwise no AWT classes will be included in unit test run.
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyPressReleaseUnmaskRepeatAWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/newt/TestKeyCodeNEWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyCodeAWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/newt/TestKeyEventAutoRepeatNEWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/newt/TestKeyEventOrderNEWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/newt/TestKeyPressReleaseUnmaskRepeatNEWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyEventOrderAWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyEventAutoRepeatAWT.java
Commit 74b78c6e59dbdfbd5630f534e9e61e3bac831302 by Sven Gothel
Graph Shader: Using default precision values (VP: highp, FP: mediump), except for sampler2D (mediump instead of lowp)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-es2-merged.vp (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-es2.vp (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01a-es2-merged.fp (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01b-es2.fp (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02b-es2.fp (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer02a-es2.fp (diff)
Commit cbbfb0170eee1fb57e6ddc47da082bd93fe7ad85 by Sven Gothel
Complete Rename NEWT KeyEvent Unit tests, commit 85851c9839d620bcbbd07b6ca833f1a5901831cc
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyPressReleaseUnmaskRepeatAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyCodeAWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyEventOrderAWT.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyEventAutoRepeatAWT.java (diff)
Commit bf0d4a8840addbd099b7b771c25f7135c64132a8 by Sven Gothel
FixedFuncPipeline: Use proper shader version and make GLSL code compatible w/ higher GLSL versions
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncPipeline.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/ShaderCode.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/FixedFuncColorTexture.fp (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/FixedFuncPoints.vp (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/FixedFuncColorLight.vp (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/FixedFuncColor.fp (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/FixedFuncPoints.fp (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/FixedFuncColor.vp (diff)
Commit a192426862ad6f05c3351dbaf9880d00707c01bc by Sven Gothel
GLContextImpl GLRendererQuirks.RequiresBoundVAO: Use isGL3() instead of simple major version number check.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit edb04d01099135ac400cd9d84bda6d0b6ca56953 by Sven Gothel
GLSL Unit tests .. make them all GLSL version proof
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/texsequence_xxx.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/texture01_xxx.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/gears.vp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/default.vp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/PointsShader.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/elektronenmultiplizierer_development.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/PointsShader.vp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/mgl_default_xxx.vp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/RedSquareShader.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/mgl_default_xxx.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/RedSquareShader.vp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/texture01_xxx.vp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/RedSquareShader2.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/elektronenmultiplizierer_port.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/texsequence_xxx.vp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/gears.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/ruler.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/texture02_xxx.fp (diff)
Commit 6936c2e99ab767a96dce0e1fe386481611ea2a18 by Sven Gothel
Fix GLSL unit tests - Add GLSL version customization, fix one wrong 'HIGHP' usage
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState02NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestRulerNEWT01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/RedSquareShader.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/RedSquareShader2.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState01NEWT.java (diff)
Commit 3c8a814d7fb536f298507413f290309ed7c0f24e by Sven Gothel
TestNewtKeyEventAutoRepeatAWT: Wait for 'some' KeyEvents and check count; TestNewtKeyPressReleaseUnmaskRepeatAWT: Enable NewtCanvasAWT test
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyEventAutoRepeatAWT.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyPressReleaseUnmaskRepeatAWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit b961225542227ec30f4b79c4425384e7e161437c by Sven Gothel
GLRendererQuirks.RequiresBoundVAO: Removed, it _is_ in the GL 3.2 core spec - Setting up default VAO for all GL >= 3.2 core ctx.

Refines commit 9b6448b1d54716fd455c0cad0c6133c0edeb3bb8

Due to GL 3.2 core spec: E.2. DEPRECATED AND REMOVED FEATURES (p 331)
"There is no more default VAO buffer 0 bound, hence generating and binding one
to avoid INVALID_OPERATION at VertexAttribPointer."

More clear is GL 4.3 core spec: 10.4 (p 307):

"An INVALID_OPERATION error is generated by any commands which
modify, draw from, or query vertex array state when no vertex array is bound.
This occurs in the initial GL state, and may occur as a result of BindVertexAr-
ray or a side effect of DeleteVertexArrays."

+++

I just have read (same spec) 2.10 (p 46/47):

"An INVALID_OPERATION error is generated if any of the *Pointer commands
specifying the location and organization of vertex array data are called while zero
is bound to the ARRAY_BUFFER buffer object binding point, and the pointer argu-
ment is not NULL."

.. which only constraints the *Pointer command use to _VBO_, not forcing a VAO.

+++
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestRedSquareES2NEWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java (diff)
Commit adea26fedc2fcd99685a73ac3301ccaeadc2fd99 by Sven Gothel
EGL/EGLExt Robustness: Use NIODirectOnly for all bindings. For these internal APIs, critical array is not required, hence redundant.
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java (diff)
The file was modifiedmake/config/jogl/eglext.cfg (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/EGLMediaPlayerImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfiguration.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDisplayUtil.java (diff)
The file was modifiedmake/config/jogl/egl.cfg (diff)
Commit 5deb97e50abf0c19dc37aa69add1dfa2447825ad by Sven Gothel
GLX/GLXExt Robustness: Use NIODirectOnly for all bindings. For these internal APIs, critical array is not required, hence redundant.
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11OnscreenGLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11ExternalGLXContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/GLXUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11PbufferGLXDrawable.java (diff)
The file was modifiedmake/config/jogl/glx-CustomCCode.c (diff)
The file was modifiedmake/config/jogl/glx-x11.cfg (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfiguration.java (diff)
The file was modifiedmake/config/jogl/glxext.cfg (diff)
The file was modifiedmake/config/jogl/glx-CustomJavaCode.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11ExternalGLXDrawable.java (diff)
Commit e5692f615a8c40e7ca750261baf5e8ecdb0a34b8 by Sven Gothel
CGL/CGLExt Robustness: Use NIODirectOnly for all bindings. For these internal APIs, critical array is not required, hence redundant.
The file was modifiedmake/config/jogl/cglext.cfg (diff)
The file was modifiedmake/config/jogl/cgl-macosx.cfg (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfiguration.java (diff)
Commit 24d5fa1241e17f596ae93dff1656a9317daf6fb3 by Sven Gothel
WGL/WGLExt Robustness: Use NIODirectOnly for all bindings. For these internal APIs, critical array is not required, hence redundant.
The file was modifiedmake/config/jogl/wgl-win32.cfg (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WGLGLCapabilities.java (diff)
The file was modifiedmake/config/jogl/wglext.cfg (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsPbufferWGLDrawable.java (diff)
Commit 6f2f5cc9fca5d36b11744ab4d69c3177b0271f22 by Sven Gothel
NEWT/OSX getLocationOnScreenImpl(..): Use real OSXUtil.GetLocationOnScreen(..) if onscreen and surface available.
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
Commit f70e28c8f73c57eb8aa391ef26e1b2357878268a by Sven Gothel
Fix AWTRobotUtil.keyType(..): 'c0' start count must be outside of retry loop; also wait a few ms after key action
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java (diff)
Commit 2db90cf4ffc2e821da8f13fd3057a63b59dc2fc7 by Sven Gothel
TestNewtKey*: Don't test TAB (focus traversal, duh!); Add AWTRobotUtil.requestFocus(robot, ..) for kbd input on Windows (some 'confusion' w/ prev unit test runs)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyPressReleaseUnmaskRepeatAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyCodeAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyEventAutoRepeatAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyEventOrderAWT.java (diff)
Commit 60bf26c5c889cc78a3f9714e7283950088823a90 by Sven Gothel
NEWT Windows: Add more verbose DEBUG information for FOCUS handling
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
Commit dda5e1611fc41089a5f8d486435d3d2d7e9b76d6 by Sven Gothel
Fix regression of commit e5692f615a8c40e7ca750261baf5e8ecdb0a34b8: CGL/CGLExt Robustness ..
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfiguration.java (diff)
Commit b62e1d027c289877686d6008ea8dd40e4e1541ec by Sven Gothel
Fix NEWT KeyEvent: Deliver keyChar w/ pressed and released; Deliver proper modified flags and modifier-key events; Simplify Windows key handling

Preface: Modifier-keys are SHIFT, CTRL, ALT and META and they have a matching modifier-bit.

- Simplify Windows key handling
  - Employ MapVirtualKey(..) for virtual-key to character and scancode to virtual-key mappings,
    allowing to drop tracking of keyCode to keyChar in java code.

    This also removes the platform restriction of delivering keyChar at TYPED only.

- Deliver keyChar w/ pressed and released
  - Due to the lift restriction on the Windows platform (see above),
    we can deliver keyChar w/ all key events on all platforms.

- Deliver proper modified flags and modifier-key events
  All modifier-keys deliver pressed, released and typed events
  with their modifier-bit set.

The above is covered by unit tests, which passed on X11, Windows and OSX (manual test run).
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTMouseAdapter.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyCodeModifiersAWT.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/NEWTKeyUtil.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyCodeAWT.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/NEWTMouseAdapter.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/KeyEvent.java (diff)
The file was modifiedsrc/newt/native/NewtMacWindow.m (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/NEWTKeyAdapter.java (diff)
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/windows/WindowDriver.java (diff)
The file was modifiedsrc/newt/native/X11Display.c (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/InputEventCountAdapter.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyPressReleaseUnmaskRepeatAWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyCodesAWT.java
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyEventAutoRepeatAWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTKeyAdapter.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyEventOrderAWT.java (diff)
Commit 55f4405dbf9253e6ca686e44c50b2cfc1af7f3eb by Sven Gothel
ShaderProgram: Program name is valid if non zero; Add init(GL) return value for success.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/opengl/TextRendererImpl01.java (diff)
Commit d4801323044a20455a256c7856c58b36b054a344 by Sven Gothel
TestInitConcurrent02NEWT: Disabled for auto unit test until further analysis - Windows/ATI driver crash
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestInitConcurrent02NEWT.java (diff)
Commit c2b328ea96b6cb16ca39f13d4bb4d1236c4b8a1d by Sven Gothel
Shader: Add '#define texture2D texture' for GLSL >= 130 ; TestGearsES2AWT add forceGL3; TextureDraw01ES2Listener uses defaultShaderCustomization()
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestRedSquareES2NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/elektronenmultiplizierer_port.fp (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/shaders/FixedFuncColorTexture.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/TextureDraw01ES2Listener.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/elektronenmultiplizierer_development.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/texture02_xxx.fp (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/shader/texture01_xxx.fp (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 7dff066bb823dddb5d6e0e7672f5599afa5a43b9 by Sven Gothel
Add OSX CALayer OpenGL 3 (core) support: Derive pixelformat from parent (GL3), use GL3.2 compatible shader; Use VBO in general.

Covered by:
  Auto unit tests: TestOffscreenLayer01GLCanvasAWT, TestOffscreenLayer02NewtCanvasAWT
  Manual: TestGearsES2AWT '-gl3 -layered'
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestOffscreenLayer02NewtCanvasAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestOffscreenLayer01GLCanvasAWT.java (diff)
The file was modifiedmake/build-jogl.xml (diff)
The file was addedsrc/jogl/classes/jogamp/opengl/shader/texture01_xxx.fp
The file was modifiedmake/stub_includes/opengl/macosx-window-system.h (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m (diff)
The file was addedsrc/jogl/classes/jogamp/opengl/shader/texture01_xxx.vp
Commit f56e36bd4a497643756ab737422eb356b963b27d by Sven Gothel
Fix ProjectFloat (Bug 633): Adding missing offset of sliced buffer usage; reduce buffer usage (performance) in favor of float[].

Thomas De Bodt reported this error and provided the unit test.
The file was modifiedsrc/jogl/classes/jogamp/opengl/ProjectFloat.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/FloatUtil.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestPMVMatrix02NEWT.java
Commit 451faa16651a85bab92e11d12de48e4b195904ba by Sven Gothel
Fix Unit Tests regarding commit 55f4405dbf9253e6ca686e44c50b2cfc1af7f3eb: Shader program name is valid if non-zero.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState02NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestFBOMRTNEWT01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState01NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestRulerNEWT01.java (diff)
Commit f92e5baaea9c15d655f19a3b8dc9101876991995 by Sven Gothel
*FontLoader: Order fields in init-order, make private.
The file was modifiedsrc/jogl/classes/jogamp/graph/font/UbuntuFontLoader.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/JavaFontLoader.java (diff)
Commit 1cd40d8284f2f8d0da9b40c4ea714a20aad97094 by Sven Gothel
jogl-test-applets: Add 'force gl3' GearsES2 Applet for GL3 core testing on OSX
The file was modifiedjnlp-files/jogl-test-applets.html (diff)
The file was addedjnlp-files/jogl-applet-runner-newt-gears-gl3-napplet.html
Commit 875a36a142b086e4f1c311440db008f816258de5 by Sven Gothel
MacOSXCGLContext: Fix ShaderCode instantiation .. (duh!) ; Tested via reparenting TestParentingFocusTraversal01AWT
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/NewtAWTReparentingKeyAdapter.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParentingFocusTraversal01AWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
Commit 40090a5fe7f5b42c2212d9dd5351730e0f38d601 by Sven Gothel
Notes: NVIDIA Tegra discard problem ; TestSharedContextVBOES2NEWT crashes the NV driver sporadically
The file was modifieddoc/TODO.txt (diff)
Commit c135d638fe820457977747e3d45960da64038d53 by Sven Gothel
NEWT Windows KeyEvent: We have to store the keyChar for typed events, since keyChar from pressed/released may be wrong (Uppercase: SHIFT-1, etc ..)

Partially reverts commit: b62e1d027c289877686d6008ea8dd40e4e1541ec
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/windows/WindowDriver.java (diff)
Commit 502847f59ef01c78a85e4ee5453a09d9b83d9a5e by Sven Gothel
NEWT KeyEvent API doc: Document Windows shift+non-uppecase_char, commit c135d638fe820457977747e3d45960da64038d53
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/KeyEvent.java (diff)
Commit 808c8da0729b845d010d3f5e0babf1fc6129c3e9 by Sven Gothel
MacOSXCGLContext[NSOpenGLLayer/NSView]: Propagate drawable change

Propagate drawable change to MacOSXCGLContext where either context/NSView or context/NSOpenGLLayer
association needs to get updated.

Fixes drawable/context switch.
The file was modifiedmake/stub_includes/opengl/macosx-window-system.h (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface.m (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/OffscreenLayerSurface.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawable.java (diff)
Commit c002e04f848116922a1ed7bd96ead54961649bbd by Sven Gothel
GLAutoDrawable: Fix GLEventListener lifecycle and expose more user control (API Change) ; Added GLDrawableUtil

A GLEventListener resides in two states, initialized and uninitialized.
When added to a GLAutoDrawable, it is uninitialized.
A first 'display()' will issue GLEventListener's 'init(..)' which renders it initialized.
This is usually accompanied by 'reshape(..)' propagating the drawable's dimension.

Destruction of the GLAutoDrawable will issue GLEventListener's 'dispose(..)' which renders it uninitialized.

It turns our these means of GLEventListener controls are not sufficient in case
the user requires to remove and add them during the lifecycle and rendering of their GLAutoDrawable host.
GLAutoDrawable 'removeGLEventListener(..)' merely removes the GLEventListener from the list,
but does not complete it's lifecycle, i.e. issues 'dispose(..)' if initialized to realease GL related resources.

Hence the following essential API changes are made to complete the lifecycle:

+  public GLEventListener disposeGLEventListener(GLEventListener listener, boolean remove);

   disposing a single GLEventListener, allowing it's removal from the list being optional

This is demonstrated via GLDrawableUtil.swapGLContextAndAllGLEventListener(GLAutoDrawable a, GLAutoDrawable b), see below.

++++++++

Further more the following API changes were made to expose complete control of
GLEventListener to the user:

-  public void removeGLEventListener(GLEventListener listener);
+  public GLEventListener removeGLEventListener(GLEventListener listener);

   The return value allows simple pipelining, and also delivers information whether
   the passed listener was actually removed.

-  public GLEventListener removeGLEventListener(int index) throws IndexOutOfBoundsException;
+  public int getGLEventListenerCount();
+  public GLEventListener getGLEventListener(int index) throws IndexOutOfBoundsException;

   Dropping the redundant removal by index, while adding count and get methods.

+  public boolean getGLEventListenerInitState(GLEventListener listener);
+  public void setGLEventListenerInitState(GLEventListener listener, boolean initialized);

   Allows retrieving and setting of listener states.

All in all these API changes allows a user to experience all freedoms in dealing w/
GLEventListeners hosted by GLAutoDrawable impl. and shall be future proof.

Note that we have avoided the Iterator pattern due to it's overhead of temporal objects creation.
The simple indexed access allows us to implement each method as an atomic operation.

+++++++++++

Further more a simple enqueue(..) method has been added, allowing to just enqueue a GLRunnable
w/o provoking it's execution - as invoke(..) does.
This method pleases a use case where GLRunnables are batched and shall be executed later on..

   public boolean invoke(boolean wait, GLRunnable glRunnable);
+  public void enqueue(GLRunnable glRunnable);

+++++++++++

Added GLDrawableUtil, exposes utility function to rearrange GLEventListener, modifiy GLAutoDrawable, etc.

GLDrawableUtil.swapGLContextAndAllGLEventListener(GLAutoDrawable a, GLAutoDrawable b)
is tested and demonstrated w/ TestGLContextDrawableSwitchNEWT.

Manually tested on X11, OSX and Windows.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/TextureSequenceCubeES2.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLAutoDrawable.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareES2.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitchNEWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/GLDrawableUtil.java
Commit 9cf42434eb58160e25c79613efca51f2fd4d6086 by Sven Gothel
FPSAnimator: Wait '2 x period' or 20ms, whichever is greater in case of pause/stop - taking execution frequency into account
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java (diff)
Commit b51cab4a8bcf8d9256e39657369510e39d22f162 by Sven Gothel
GLDrawableUtil.swapGLContextAndAllGLEventListener(..): Add glFinish() before and after ctx/drawable swap - sync'ing GL state

Otherwise a driver crash may occur on Windows/NVidia.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLDrawableUtil.java (diff)
Commit 77db6a5c22cb4a53cf911b4caf57127770c70968 by Sven Gothel
Adding Andres Colubri's Test Case (junit'fyed), which provokes a Deadlock on OSX - Adding a similar one w/o deadlock and less framework bits.

Andres Colubri reported a test case in the forum:
  <http://forum.jogamp.org/Thread-blocking-issue-with-AWT-but-not-NEWT-on-OSX-td4026674.html>

Which is now included as TestGLCanvasAWTActionDeadlock01AWT.
A similar w/ less framework bits and w/o dealock is also included as TestGLCanvasAWTActionDeadlock00AWT.

A followup commit will incl. a fix after further analysis.

A commit at this point where TestGLCanvasAWTActionDeadlock01AWT still freezes on OSX is done
to be able to reproduce the bug and see the fix as a patch.
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock00AWT.java
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock01AWT.java
The file was modifiedmake/scripts/tests-x64.bat (diff)
Commit dc3aa7bdd7fd2afb2301e8813d8a5e7a1f87c4f2 by Sven Gothel
TestGLCanvasAWTActionDeadlock01AWT -> TestGLCanvasAWTActionDeadlock02AWT; To add another intermediate unit test for analysis
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock02AWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock01AWT.java
Commit 5e46e5c24a3c35d17fa51b7790889dc1ca0756f8 by Sven Gothel
TestGLCanvasAWTActionDeadlock00AWT: Remove redundant argument
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock00AWT.java (diff)
Commit 0b3f9ee017f7216ec9ff37c16bbb44848aa5cfa5 by Sven Gothel
TestGLCanvasAWTActionDeadlock01AWT: Reproducing OSX deadlock variation, using Applet as component which provokes offscreen FBO layer.
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock01AWT.java
Commit 3a00361952120f8127a3014623de703ac696e036 by Sven Gothel
Analyzed OSX Deadlock w/ AWT Applet & CALayer: Andres Colubri's Test Case, Commit 77db6a5c22cb4a53cf911b4caf57127770c70968

[1] - The AWT/Applet test case on OSX utilized offscreen CALayer, which is correct.
[2] - the GLEventListener.display(..) method calls Frame.setTitle(".."); which is correct,
      but freezes when called right after GLEventListener.init(..)

BUG on OSX/CALayer: If frame.setTitle() is issued right after initialization
the call hangs in
   at apple.awt.CWindow._setTitle(Native Method)
   at apple.awt.CWindow.setTitle(CWindow.java:765) [1.6.0_37, build 1.6.0_37-b06-434-11M3909]

Happens w/ Oracle's JRE7u9 as well!

Workaround:
- Set 'justInitialized' flag in GLEventListener.init(..)
- Clear 'justInitialized' flag in GLEventListener.display(..) at the end
- Skip Frame.setTitle(..) in GLEventListener.display(..) if 'true == justInitialized'

Somebody may send a bugreport to Oracle / OpenJDK.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock01AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock02AWT.java (diff)
Commit 8c78f80f205345fe43ec2639e648421ef0134e57 by Sven Gothel
GLAutoDrawable: Refine API change of commit c002e04f848116922a1ed7bd96ead54961649bbd

As suggested by Julien Gouesse, align 'enqueue(..)' method w/ 'invoke(..)':

-  public void enqueue(GLRunnable glRunnable);

+  public boolean invoke(boolean wait, List<GLRunnable> glRunnables);
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitchNEWT.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLDrawableUtil.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLAutoDrawable.java (diff)
Commit 9e2563da5e40964d691fe9502de6c9178f98bee0 by Sven Gothel
TestGLCanvasAWTActionDeadlock0[01]AWT: Disable 'restart' test on current (non AWT) thread - crashes on solaris (which is fine)

Modifying AWT components shall always happen on AWT-EDT anyways.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock00AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock01AWT.java (diff)
Commit b83b068c0f426f24a58e2bd9f52de9ebd0c7876d by Sven Gothel
Fix GLDrawableHelper.recreateGLDrawable(..): Sync GL command stream before destruction of drawable

Lack of finishing the GL command stream lead to a SIGSEGV on Windows w/ Nvidia driver
where probably pending GL commands were still being processed concurrently.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedmake/scripts/java-win64.bat (diff)
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff)
Commit aa789425b0681b8cf5d4d3474e8fc62792882388 by Sven Gothel
GLFBODrawableImpl: Following suit w/ commit b83b068c0f426f24a58e2bd9f52de9ebd0c7876d, sync GL command stream before FBO reconfig

Even though we currently have no bug experienced on this, it seems to be a good idea for
highly concurrently GL driver implementations.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java (diff)
Commit dbc260bd2e917ee9001461749c99da0c9cbfaf9a by Sven Gothel
Bug 634 - Part 1: FBObject, Make MSAA 'samplingSink' mutable and add setSamplingSink(..). Create MSAA samplingSink lazy if null.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/FBObject.java (diff)
Commit 9ce042df68b70a0e62b21b93d2a1a64722e1e49e by Sven Gothel
FBObject: Rename private fields for better reading: samplesSink* -> samplingSink*
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/FBObject.java (diff)
Commit d0f91a8ed17fbb1a7b56511c4e53a29e576f01af by Sven Gothel
Fix GLAutoDrawable.dispose(): Dispose drawable even w/o context; JAWTWindow.lockSurface(): Check AWT component's native peer

- Fix GLAutoDrawable.dispose(): Dispose drawable even w/o context
  - It is possible to have the GLContext not being created (not made current),
    so drawable shall be disposed independent.

  - Merge Runnable 'postDisposeOnEDTAction' to dispose Runnable for clarity

  - GLDrawableHelper: Split disposeGL from invokeGLImpl for clarity

- JAWTWindow.lockSurface(): Check AWT component's native peer
  - W/o a native peer (!isDisplayable()), JAWT locking cannot succeed.

  - On OSX OpenJDK 1.7, attempting to JAWT lock a peer-less component crashes the VM

  - MacOSXJAWTWindow.lockSurfaceImpl(): Remove redundant null checks
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock02AWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was addedmake/scripts/tests-osx-x64-custom.sh
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock01AWT.java (diff)
Commit 3b57e34459703b2755f9c432e36beff596850b91 by Sven Gothel
Bug 634 - Part 1: Fix FBObject regression of commit dbc260bd2e917ee9001461749c99da0c9cbfaf9a

- init(..): Query MAX_COLOR_ATTACHMENTS: Remove erroneous samplingSink null check (it's always null)

- reset(..): Create & construct samplingSink if required and missing before detaching all (due to bind)

- setSamplingSink(..) returns previous samplingSink
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/FBObject.java (diff)
Commit 122016d1235bf80aca7dcbabece054e1a90360ee by Sven Gothel
Adding basic Frustum utility class interfacing w/ PMVMatrix. Still depending on OpenMALI - hence broken.
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/Frustum2.java
Commit 944562a9600598dfa8a23f96f568fde999e1eca3 by Sven Gothel
Fix Bug 636: Quaternion multiplication unexpected behavior
The file was modifiedsrc/jogl/classes/com/jogamp/graph/math/Quaternion.java (diff)
Commit 0edb45f11cd034c4937e6941b7a3e5d9f7edbd2f by Sven Gothel
Merge MathFloat into FloatUtil
The file was modifiedsrc/jogl/classes/com/jogamp/graph/math/VectorUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/geom/plane/AffineTransform.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/math/Quaternion.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/FloatUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/math/plane/Crossing.java (diff)
The file was removedsrc/jogl/classes/jogamp/graph/math/MathFloat.java
Commit 5fafc1ac360333645b807dcd8dff0c0a655ea439 by Sven Gothel
Reorganize math code into: com.jogamp.opengl.math and com.jogamp.opengl.math.geom packages

Note: WIP - We may relocate / reorg math package.

Public relocations:

com.jogamp.opengl.util -> com.jogamp.opengl.math
  - FixedPoint
  - FloatUtil

com.jogamp.graph.math -> com.jogamp.opengl.math
  - Quaternion
  - VectorUtil

com.jogamp.graph.geom -> com.jogamp.opengl.math.geom
  - AABBox

VectorUtil:
  Introducing Vert2fImmutable and Vert3fImmutable interfaces, allowing graph Vertex instances
  to be used 'graph' agnostic and to document 2d/3d use-cases.
The file was modifiedsrc/jogl/classes/com/jogamp/graph/font/Font.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/OutlineShape.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/ProjectFloat.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/math/FixedPoint.java
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/text/GlyphString.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java
The file was addedsrc/jogl/classes/com/jogamp/opengl/math/Vert3fImmutable.java
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestPMVMatrix01NEWT.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/math/Quaternion.java
The file was removedsrc/jogl/classes/com/jogamp/graph/math/VectorUtil.java
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/opengl/SVertex.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/math/FloatUtil.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/geom/plane/AffineTransform.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/curve/Region.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/util/FixedPoint.java
The file was modifiedsrc/jogl/classes/jogamp/graph/geom/plane/Path2D.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestFloatUtil01MatrixMatrixMultNOUI.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/tess/Loop.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/text/GlyphShape.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/font/typecast/ot/OTGlyph.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/demos/ui/RIButton.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/FloatUtil.java
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/Outline.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/graph/geom/Vertex.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLUniformData.java (diff)
The file was modifiedmake/build-jogl.xml (diff)
The file was removedsrc/jogl/classes/com/jogamp/graph/math/Quaternion.java
The file was addedsrc/jogl/classes/com/jogamp/opengl/math/Vert2fImmutable.java
The file was removedsrc/jogl/classes/com/jogamp/graph/geom/AABBox.java
The file was addedsrc/jogl/classes/com/jogamp/opengl/math/VectorUtil.java
The file was removedsrc/jogl/classes/jogamp/graph/math/plane/Crossing.java
The file was addedsrc/jogl/classes/jogamp/graph/geom/plane/Crossing.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT10.java (diff)
Commit 241f3bfdbbec655130234601652d88c30269fde4 by Sven Gothel
Cleanup Frustum Math Util: Independent / Compile Clean / Relocation ; PMVMatrix: Add getPreMultipliedPMV(..)

- Independent / Compile Clean
  - Remove OpenMALI dependencies
  - Use basic float[] type and FloatUtil
  - Use AABBox - FIXME: May need BBox (no axis alignment ?!)

- Relocation
  - Move to com.jogamp.opengl.math.geom (see commit 5fafc1ac360333645b807dcd8dff0c0a655ea439)
The file was addedsrc/jogl/classes/com/jogamp/opengl/math/geom/Frustum.java
The file was removedsrc/jogl/classes/com/jogamp/opengl/util/Frustum2.java
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java (diff)
Commit 802e80af821efbd20469d1e5b2157a9443dde0d9 by Sven Gothel
AABBox: Add public direct setSize(..), skipping redundant reset() / resize(..)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java (diff)
Commit 31d64a8e03e9c031181b32af55dc30ee3baad976 by Sven Gothel
Frustum: Simpler usage (ctor, update) no need for explicit compute() method. Don't store passing PMV reference. isInside() -> isOutside()
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/geom/Frustum.java (diff)
Commit a2bc4bcf26ce392d892c8cba5071d3f3877ed0c7 by Sven Gothel
PMVMatrix: Add 'Frustum glGetFrustum()' adding same dirty/request methodology as for Mvi and Mvit

Allows user to derive Frustum from updated P + MV

Clarify method name for clearing all update request:
  - disableMviMvitUpdate() -> clearAllUpdateRequests()
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestPMVMatrix01NEWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java (diff)
Commit f96efda203f1ebf79c84b3445efdd824537d6e2e by Sven Gothel
GLDrawableHelper disposeAllGLEventListener(): Don't use cached listener size / check size() > 0, since List can be modified by listener itself
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff)
Commit 802404e08476387f656115b8542366706d7eeb3f by Sven Gothel
Fix Graph SceneUIController: Remove Listener by itself in dispose()
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/demos/ui/SceneUIController.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java (diff)
Commit f67d310743cd6dee3d3005b96b61e9adae628899 by Sven Gothel
Added a condition to skip updateGraphicsConfigurationARB when non-hardware-accelerated capabilities are requested, because only updateGraphicsConfigurationGDI provides software rendering capabilities.
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java (diff)
Commit 263452439c10540776545c12255bf3b75c7fbd2b by Sven Gothel
Frustum: Passing Mv*P (column major order)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/geom/Frustum.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java (diff)
Commit 26bdab54bdf877ea4d9fd8f42317889279706926 by Sven Gothel
Frustum: Print Plane's normals properly in toString()
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/geom/Frustum.java (diff)
Commit 6f22805273d63d3b6f0449f34c0acb5edec285db by Sven Gothel
Validating Frustum w/ help of Eduard White olamedia@gmail.com, referencing the original paper

Paper:
Fast Extraction of Viewing Frustum Planes from the World-View-Projection Matrix
http://graphics.cs.ucf.edu/cap4720/fall2008/plane_extraction.pdf
Authors (in alphabetical order):
   Gil Gribb <ggribb@ravensoft.com>
   Klaus Hartmann <k_hartmann@osnabrueck.netsurf.de>
   06/15/2001

Fix:
- Column Major Order PMV (Passing to Frustum and in calculation itself) according to paper coeff. calculation of plane
- Plane's signed distance function (only add d, don't multiply)
- Normalization: divide by lenght, not multiply
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/geom/Frustum.java (diff)
Commit 5f0aa6b2d1a2af6a0c7c23ac0c00bfde06fafe4c by Sven Gothel
Adding Ref.: Frustum-Culling, Max Wagner
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/geom/Frustum.java (diff)
Commit 3859f4577524bd3302631272579183adbc92f5c2 by Sven Gothel
Frustum: Clarify isOutside(AABBox) impl, add isOutside for point and sphere
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/geom/Frustum.java (diff)
Commit 92406ae9a2153c1b6a74c29d9939a021d898dcf1 by Sven Gothel
Frustum: Cleanup / update; PMVMatrix: Fix mulPMV

Frustum: Cleanup / update
  - Remove ctor w/ PMV, use update(..) instead - avoid API explosion
  - Add update(Plane[]) to copy existing Frustum planes
  - Mention world-coordinates in update(PMV)

PMVMatrix: Fix mulPMV
  - P*Mv in column major order is correct for Frustum
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/geom/Frustum.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java (diff)
Commit d621fcf6f2c6096ea71bf2ebb767c48f8eb3a5e1 by Sven Gothel
Frustum: Add doc. about Frustum's Plane's normal orientation
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/geom/Frustum.java (diff)
Commit 1f297402b5cf6d0be8d2d852ee6704680984c35b by Sven Gothel
Frustum: Clarify method names, fix point/sphere classification, add used references

Clarify method names:
  - update(..) -> updateByPMV(..), updateByPlanes(..)
  - isOutside(AABBox) -> isAABBoxOutside(AABBox)
  - .. same for point/sphere, while adding 'Location classifyType(..)'
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/geom/Frustum.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java (diff)
Commit 1f33b196d339006d132fc6adafa345913bc08f53 by Sven Gothel
NewtVersionActivity: Dump information in logcat
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/NewtVersionActivity.java (diff)
Commit dbe36a8ff7d3f0ebe75d2f02e93e0ece1000ee15 by wamei.cho
Fix Bug : Quaternion multiplication unexpected behavior
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/math/Quaternion.java (diff)
Commit 7e5371ca8eafce28c242fa7fbd8aec045fc81b71 by Sven Gothel
OSX CALayer Stencil/.. Fix: In case of FBO CALayer usage, use default caps/pixelformat w/ chosen GLProfile only

Using a pixelformat w/ chosen stencil for CALayer does corrupt rendering for an unknown reason,
probably due to incompatible pixelformat w/ CALayer composition.

This patch simply discards any special chosen caps, while only recognizing the desired GLProfile
for the FBO CALayer pixelformat.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableGLCanvasOnOffscrnCapsAWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableGLWindowOnOffscrnCapsNEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableNewtCanvasAWTOnOffscrnCapsAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableDelegateOnOffscrnCapsNEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableFactoryOffscrnCapsNEWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java (diff)
Commit a349db5086a7be7dd80fc2ad29a8a4b55f343e01 by Sven Gothel
Bug628: Adding unit test reproducing the deadlock realiable withing first rounds of multi-threaded display.

If a NEWT Window locking operation is performed from within NEWT's EDT (native event dispatch)
and a mutable SWT operation performed via NEWT's display invoke - a deadlock occurs.
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestNewtCanvasSWTBug628ResizeDeadlock.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestNewtCanvasSWTGLn.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java (diff)
Commit f24844c5e6c57a43df79224f2d3a89e9720726f7 by Sven Gothel
Fix SWTEDTUtil Bug628: Perform NEWT event dispatching on SWT-EDT, due to possible triggered locking action, i.e. display(). Do the same for AWTEDTUtil.

This fix actually clarifies the annotated FIXME :)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/swt/SWTEDTUtil.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java (diff)
Commit cc5fb8d9f807089c5d119f3b56eed7d018a1dba2 by Sven Gothel
FPSAnimator: Add note on deamon-thread and JVM shutdown behavior.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/Animator.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java (diff)
Commit b6fa407d4bf19ef9fe387454b5eeca68853532b9 by Sven Gothel
SWTEDTUtil/AWTEDTUtil: Fix deadlock situation in waitUntilStopped(), etc - wrap task execution (or enqueing) into status-sync 'edtLock'

This fixes the disparity w/ DefaultEDTUtil, i.e. aligns it's implementation/semantics.
The file was modifiedsrc/newt/classes/com/jogamp/newt/swt/SWTEDTUtil.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/DefaultEDTUtil.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java (diff)
Commit ae30626c7d857c21eabaa0d0d819ad13d19d9987 by Sven Gothel
Add test-x64 script for running SWT junit test cases (only) - also documents how to run partial junit tests
The file was addedmake/scripts/tests-x64-junit-swt.sh
Commit 541bcc1eecc50656392e1fec1a27b08ab78eceff by Sven Gothel
SWT: Bump to version 4.3.0 M3 201210312000
The file was removedmake/lib/swt/gtk-linux-x86/about_files/pixman-licenses.txt
The file was removedmake/lib/swt/gtk-linux-x86_64/about_files/about_cairo.html
The file was removedmake/lib/swt/gtk-solaris-sparc/.project
The file was removedmake/lib/swt/gtk-solaris-sparc/.classpath
The file was modifiedmake/lib/swt/gtk-solaris-sparc/swt-debug.jar (diff)
The file was modifiedmake/lib/swt/gtk-linux-x86/about.html (diff)
The file was removedmake/lib/swt/gtk-linux-x86_64/about_files/pixman-licenses.txt
The file was modifiedmake/lib/swt/win32-win32-x86/swt-debug.jar (diff)
The file was removedmake/lib/swt/gtk-linux-x86/about_files/about_cairo.html
The file was modifiedmake/lib/swt/README.txt (diff)
The file was modifiedmake/lib/swt/cocoa-macosx-x86_64/about.html (diff)
The file was modifiedmake/lib/swt/gtk-linux-x86_64/swt-debug.jar (diff)
The file was modifiedmake/lib/swt/gtk-solaris-x86/swt-debug.jar (diff)
The file was modifiedmake/lib/swt/cocoa-macosx/swt-debug.jar (diff)
The file was modifiedmake/lib/swt/cocoa-macosx/about.html (diff)
The file was removedmake/lib/swt/gtk-solaris-x86/.classpath
The file was modifiedmake/lib/swt/cocoa-macosx-x86_64/swt-debug.jar (diff)
The file was modifiedmake/lib/swt/gtk-linux-x86_64/about.html (diff)
The file was removedmake/lib/swt/gtk-solaris-x86/.project
The file was modifiedmake/lib/swt/gtk-linux-x86/swt-debug.jar (diff)
The file was modifiedmake/lib/swt/win32-win32-x86_64/swt-debug.jar (diff)
Commit 8cf694c1424277e6358039a964ecd75c54cf9af9 by Sven Gothel
SWTAccessor: OS_gtk_widget_unrealize optional (SWT 4.3) ; decorate PrivilegedAction for static initSingleton block (SWTAccessor, NewtFactory, NativeWindowFactory)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/NewtFactory.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java (diff)
Commit 17dd761d7c2b224f0505a399bf4ecb18634e9250 by Sven Gothel
SWTEDTUtil/AWTEDTUtil: Fix deadlock situations ; Cleanup TestNewtCanvasSWTBug628ResizeDeadlock

- Fix deadlock situation in waitUntilStopped/Idle(), skip if on AWT/SWT EDT

- Use RunnableTask for sync task invocation, don't block AWT/SWT EDT.

- Cleanup TestNewtCanvasSWTBug628ResizeDeadlock (works on OSX as well)
The file was addedmake/scripts/tests-macosx64-junit-swt.sh
The file was modifiedsrc/newt/classes/com/jogamp/newt/swt/SWTEDTUtil.java (diff)
The file was addedmake/scripts/tests-win64-junit-swt.bat
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestNewtCanvasSWTGLn.java (diff)
The file was modifiedmake/scripts/make.jogl.all.win64.bat (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestNewtCanvasSWTBug628ResizeDeadlock.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/DisplayImpl.java (diff)
The file was removedmake/scripts/tests-x64-junit-swt.sh
The file was addedmake/scripts/tests-linux-x64-junit-swt.sh
Commit 337ae7842fc9a78196dab9a21eb052b3f4dfc5cd by Sven Gothel
X11Util/Xmisc setX11ErrorHandler: Force setting X11 error handler if invoked from Java ensuring to overwrite other TKs handler

SWT sets it's error handler, which exits application in case of an X11 error (e.g. n/a GL3 impl.).
We need to allow overwriting it, hence allowing multiple calls (NEWT, GLContext).

This patch also makes native NativewindowCommon_x11ErrorHandlerEnable(..) function static.
The file was modifiedsrc/nativewindow/native/x11/Xmisc.c (diff)
The file was modifiedsrc/nativewindow/native/x11/Xmisc.h (diff)
Commit f25b5c973150252af5c5fbf4ca87b03e2e9aee32 by Sven Gothel
Fix script lstjars.sh's pack200 list
The file was modifiedmake/scripts/lstjars.sh (diff)
Commit 2542e21e3c0276f82aba0010220fc9c58fb51202 by Sven Gothel
Fix regression of commit 4dd44b985fe0541be3a3bcd9045d201ed3ca2cc5: Setting 'sendReshape' for onscreen drawables as well.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
Commit c5abdedc7944dd9eff39800a8fd4e4f0dadd8b9a by Sven Gothel
etc/profile.jogl: Fix OpenIndiana ARCH i86pc -> x86 (used currently for SWT tests only)
The file was modifiedetc/profile.jogl (diff)
Commit c2425664dd28479483a6c761f52ad709a6e25977 by Sven Gothel
Complete commit 541bcc1eecc50656392e1fec1a27b08ab78eceff (SWT version bump 3.7.1 -> 4.3.0-M3): gtk-freebsd-x86_64 is still on 3.7.1
The file was addedmake/lib/swt/gtk-freebsd-x86_64/README.txt
Commit 90b59f265a227ab36d307195628f25356b5ce731 by Sven Gothel
Fix etc/test_dbg.sh: Missing jogl.all.jar -> jogl-all.jar
The file was modifiedetc/test_dbg.sh (diff)
Commit c89255427102a3b71cdc82ed4b7284931b00dfa9 by Sven Gothel
SWT Solaris x86 files: Use version 4.2, 4.3.0-M3 fails, see README.txt
The file was modifiedmake/lib/swt/gtk-solaris-x86/swt-debug.jar (diff)
The file was addedmake/lib/swt/gtk-solaris-x86/README.txt
Commit 6497cfa578b3ea5222678de930bb335e30794c7b by Sven Gothel
SWTAccessor: Add SWT 4.3's X11-GTK version adaption (2.14, 2.24, 3.0)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java (diff)
Commit beb11947fb16dd5549b2e1b1383f95e30178bf0a by Sven Gothel
TestSWTJOGLGLCanvas01GLn: Use display.syncExec(..) where possible, add Animator
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTJOGLGLCanvas01GLn.java (diff)
Commit 601d6c46df61853fb61df087327a055550316b1d by Sven Gothel
SWT GLCanvas: Fix dispose bug, check for isDisposed() and add DisposeListener; Run GL tasks on current thread w/o restrictions

Fix dispose bug, check for isDisposed() and add DisposeListener
  - Don't issue SWTAccessor.setRealized(..), since it's called implicit via super.dispose()
  - Check isDisposed() ..
  - add DisposeListener to act on parent's disposal (Shell, Composition, ..)

Run GL tasks on current thread w/o restrictions
+    * The current thread seems to be valid for all platforms,
+    * since no SWT lifecycle tasks are being performed w/ this call.
+    * Only GL task, which are independent from the SWT threading model.
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 03d74338497130f8100272803cae475043d8ceee by Sven Gothel
NewtCanvasSWT: Add DisposeListener
The file was modifiedsrc/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java (diff)
Commit 811e3791b98fea0dfa3b7d301cb532c54df8dc82 by rob.hatcherson
Fix for JOGL bug 629, and added new unit tests.

The change to AWTNewtEventFactory appears to fix the original issue
for AWTCanvas instances, and the TestNewtEventModifiersAWTCanvas
appears to work ok too.  However, there are still issues with
NewtCanvasAWT and NewtCanvasSWT instances.  These might be problems
in the test code, but there's also a good chance there are still
issues in the NEWT event delivery infrastructure.  For the time being
I recommend that only TestNewtEventModifiersAWTCanvas be included
in routine unit tests.

The tests are defined in TestNewtEventModifiers, and the remaining
test classes extend it to define how the window and associated
GL drawing surface are created.

File ModifierMappings.txt is simply informational, and shows how
the modifier bits are laid out between AWT and NEWT.  This possibly
should have been a spreadsheet.
The file was modifiedsrc/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiers.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersAWTCanvas.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/event/ModifierMappings.txt
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasAWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasSWT.java
Commit 0bb202f2883e1eb82256140f13310046f7b13c62 by Sven Gothel
Bug628: Adding unit-test 'TestNewtCanvasSWTBug628ResizeDeadlock' exposing NewtCanvasSWT asyncExec(..) bug w/ native parenting

The unit test shows, that while using JOGL's SWT GLCanvas Display's asyncExec(..) works properly,
but w/ NewtCanvasSWT on Windows does not.

NewtCanvasSWT differs w/:
  - Using native parenting [Newt GLWindow to SWT Canvas]
  - Processing native events in own NEWT EDT, w/ own Windows dispatch hook [For the child GLWindow only]
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestNewtCanvasSWTBug628ResizeDeadlock.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTBug643AsyncExec.java
Commit 9ddbfb35882aa4c361d161ab8aca91ed670a97c8 by Sven Gothel
Simplify NEWT EDTUtil invoke: To start EDT Runnable maybe null - start EDT even if on EDT thread.

DEBUG: Name EDTUtil impl, e.g. Default, AWT and SWT
The file was modifiedsrc/newt/classes/jogamp/newt/DefaultEDTUtil.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Display.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/swt/SWTEDTUtil.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/util/EDTUtil.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java (diff)
Commit 4d9f7514ccea1669405a511d054b0fca8eae7550 by Sven Gothel
Fix NewtCanvasSWT's newtChild usage: Only use set newtChild if it's ready, i.e. SWTEDTUtil set and parented; Recognize pending resize.
The file was modifiedsrc/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java (diff)
Commit 1f360ff73901b0a48f9ee310d8f2e5c4aad1e101 by Sven Gothel
NEWT WindowImpl: Don't issue native resize if invisible, simply use defineSize(..); Don't set persitent undecorated flag if child window at creation; Use local 'screen' directly.

- Don't issue native resize if invisible, simply use defineSize(..)
  Invisible windows may not promote size change natively,
  hence simply setting the size via defineSize(..) is appropriate.
  Latter setVisible(true) will take size into account.

- Don't set persitent undecorated flag if child window at creation
  Even if a window is a child at creation, it maybe reparented to top-level
  where the default behavior is to be expected.
  Undecorated top-level window shall require explicit setUndecorated(true).

- Use local 'screen' directly.
  No need to make code more complicate ..
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit b6f54d1714597ba2799160569b56139277db9e07 by Sven Gothel
NEWT WindowImpl fixes: surfaceLockCount-- if native lock fails; waitForVisible(.., fastFail:=false); waitForSize(..) @ setSize; reparent definePosition(..);

- surfaceLockCount-- if native lock fails
  In case native lock fails, not only remove the windowLock but also decr. surfaceLockCount (proper roll back) - was a BUG!

- waitForVisible(.., fastFail:=false)
  Don't fail fast if visibility wasn't reached.

- waitForSize(..) @ setSize
  Wait for size change - otherwise an SWT child won't reach desired size.

- reparent definePosition(..);
  Position might not get updated by WM events (SWT parent apparently)

- Windows WindowDriver: Cleanup code a bit.
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/windows/WindowDriver.java (diff)
Commit f0f58e120817b57ed3fb70c238001579a68e4064 by Sven Gothel
Fix Bug 643: SWT 'display.asyncExec(Runnable runnable)' runnable not executed on Windows

Turns out that the NEWT Windows impl. didn't properly validated the client region @ WM_PAINT
and hence 'exhausted' the message pipeline, i.e. never reached an IDLE state.

The latter caused SWT to never reach a point where deferred asyncExec(..) Runnables
got processed.

Besides this SWT effect, this also caused a NEWT window on Windows to always repaint itself (?).
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
Commit aa4b8c9abbf9529fdbb3c4982895c01f2698451f by Sven Gothel
NEWT EDTUtil: Simplify running state (default is running @ setEDTUtil()); Simplify DefaultEDTUtil impl. and fix concurrency leak w/ 'shouldStop'
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/DisplayImpl.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestDisplayLifecycle01NEWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Display.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/swt/SWTEDTUtil.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/util/EDTUtil.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/DefaultEDTUtil.java (diff)
Commit 571c21df9310d043b08a4a72064617cbe6eee0fa by Sven Gothel
SWT GLCanvas/NewtCanvasSWT: Check isVisible() @ validation; NewtCanvasSWT remove just introduced setVisible(false) and adapt to setEDTUtil() changes. ; Enhance Bug 643 unit test: Also test NEWT EDT and pre-visible GLWindow.

- SWT GLCanvas/NewtCanvasSWT: Check isVisible() @ validation

- NewtCanvasSWT remove just introduced setVisible(false) and adapt to setEDTUtil() changes

- Enhance Bug 643 unit test: Also test NEWT EDT and pre-visible GLWindow.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTBug643AsyncExec.java (diff)
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestNewtCanvasSWTBug628ResizeDeadlock.java (diff)
Commit ceadea1c11cfeecfcafe3dfa76aafd8e915c0076 by Sven Gothel
Fix GLDrawableHelper invokeGLImpl(..): Only attempt to release context after successfull claim; Also fix intendations of block.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff)
Commit 7cb6cf2a9708d3f4e06f2215eb0d06b00fa6cd15 by Sven Gothel
SWT GLCanvas: Fix sporadic drop of redraw on X11 _and_ allow using custom GLCapabilities on X11 (feature complete)

To allow custom GLCapabilities, we had to use native parenting on X11 w/ a new child window.
The desired visualID chosen by the users GLCapabilities is passed to the new child window.

The redraw drops must be caused by the original GDK or the new child GDK window.
Now we use a plain X11 child window similar to NEWT's X11 window and NewtCanvasSWT,
which doesn't expose this bug.
(Note: SWTAccessor/GLCanvas still contains the uncommented GDK code path for further inspection, if desired)

Also added SWTNewtEventFactory to test event handling on the SWT GLCanvas w/ GearsES2.

TestSWTJOGLGLCanvas01GLn tests custom GLCapabilities now.

SWTEDTUtil has been moved to private: com.jogamp.newt.swt -> jogamp.newt.swt.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTBug643AsyncExec.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/newt/classes/jogamp/newt/swt/SWTEDTUtil.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java (diff)
The file was modifiedmake/config/nativewindow/x11-CustomJavaCode.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestNewtCanvasSWTBug628ResizeDeadlock.java (diff)
The file was modifiedmake/build-newt.xml (diff)
The file was modifiedmake/scripts/tests-x32.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTJOGLGLCanvas01GLn.java (diff)
The file was modifiedmake/build-common.xml (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was modifiedsrc/nativewindow/native/x11/Xmisc.c (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/x11/X11DummyUpstreamSurfaceHook.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was addedsrc/newt/classes/jogamp/newt/swt/event/SWTNewtEventFactory.java
The file was removedsrc/newt/classes/com/jogamp/newt/swt/SWTEDTUtil.java
Commit 433c63b98ebda7b320942ed485a8ee742d9523e7 by Sven Gothel
Update JOGL WWW page (Added sections: App, Util, Games, Old; Added Ardor3D, jME3, ticked2ride, jake2 update ..); Cleanup html5.
The file was addedwww/media/dyn4j.png
The file was addedwww/media/jmonkeyengine.png
The file was modifiedwww/index.html (diff)
The file was addedwww/media/ardor3d.png
The file was addedwww/media/ticket2ride_picture4.jpg
Commit 0c3073629328a92920822c2416be865861ab43f9 by Sven Gothel
Add Java3d and nifty-gui
The file was addedwww/media/Java3d.png
The file was modifiedwww/index.html (diff)
The file was addedwww/media/nifty-logo-new.png
The file was modifiedwww/index.html (diff)
The file was modifiedwww/index.html (diff)
Commit 36a6cfb5b346f3b0cda7326f61bf22fb60486fd2 by Sven Gothel
WWW: Link to Siggraph2012 page and use relative URL to wiki
The file was modifiedwww/index.html (diff)
Commit e7064ece049705e013d80985eae698ce0ee3c4e3 by Sven Gothel
Cleanup GLContext special entries: getOffscreenContextPixelDataType(), getOffscreenContextReadBuffer(), .. ; Add GLFBODrawable API entries for multi buffering (no impl. yet); GLJPanel 1st simplification using offscreen drawable

- Cleanup GLContext special entries: getOffscreenContextPixelDataType(), getOffscreenContextReadBuffer(), .. ;
  - add: getDefaultReadBuffer() (-> exposed via GLBase as well)
  - add: isGLOrientationFlippedVertical()
  - add: getDefaultPixelDataType()
  - removed impl: getOffscreenContextPixelDataType()
  - removed impl: getOffscreenContextReadBuffer()
  - removed impl: offscreenImageNeedsVerticalFlip()

- Add GLFBODrawable API entries for multi buffering (no impl. yet);
  - TODO: Add implementation code in GLFBODrawableImpl

- GLJPanel 1st simplification using FBO
  - Use above new GL/GLContext entries
  - Fix: getNativeSurface() and getHandle()
  - TODO:
    - Remove distinction of 'pbuffer' and 'software',
    - Use GLDrawableFactory.createOffscreenDrawable(..)
    - Use GL for FBO swapping
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-common.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsBitmapWGLContext.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLBase.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOffscreenCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11PixmapGLXContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLOffscreenAutoDrawableImpl.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLFBODrawable.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/FBObject.java (diff)
Commit b8a8fc24a3afb0cb06a31504bdea1a98b8f00ef4 by Sven Gothel
GLArrayData/ImmModeSink: Remove implicit dependency on ShaderState - allow operating w/o it; ShaderState: Remove notion of GL context attachment, use pass-through or object association; GLArrayData/GLUniformData: Add basic GLSL location methods

- GLArrayData/GLUniformData: Add basic GLSL location methods
  - GLArrayData
    - add: setLocation(..) for attribute location/index retrieval (post link) and binding (pre link)
  - GLUniformData
    - add: setLocation(..) for attribute location/index retrieval (post link)

- GLArrayData/ImmModeSink: Remove implicit dependency on ShaderState - allow operating w/o it
  - GLArrayData
    - add: 'public void associate(Object obj, boolean enable)', allows setting ShaderState usage

- ShaderState: Remove notion of GL context attachment, use pass-through or object association
  - ownsAttribute(..) associates the attribute w/ ShaderState
  - removed GL context ShaderState attachment

Tested:
- ImmModeSink w/ GLSL/ES2 w/ and w/o ShaderState
- GLArrayData* w/ and w/o ShaderState
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandler.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLArrayData.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/DemoGL2ES2ImmModeSink.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState01NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState02NEWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/ImmModeSink.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLArrayDataServer.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandlerFlat.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/glsl/ShaderState.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/glu/GLUquadricImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/TestImmModeSinkES2NEWT.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/GLArrayHandler.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/MultisampleDemoES2.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLUniformData.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/DemoGL2ES1ImmModeSink.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsObjectES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/GLSLMiscHelper.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/DemoGL2ES1Plain.java (diff)
Commit 74c254d42bb2389dc9bf257898053700c8c72568 by Sven Gothel
Fix/Complete commit b8a8fc24a3afb0cb06a31504bdea1a98b8f00ef4 - Adding missing GLU code
The file was modifiedmake/config/jogl/glu-CustomJavaCode-base.java (diff)
The file was modifiedmake/config/jogl/glu-common.cfg (diff)
Commit e92823cddc54b0f4fa71e234061a21de6ee5248c by Sven Gothel
GLJPanel: Impl. is GLProfile agnostic; Use GLDrawableFactory.createOffscreenDrawable(..) for common OffscreenBackend (dropping pbuffer/software); Flip FBO w/ GLSL texture renderer.

- Implementation is GLProfile agnostic
  - Shall work on ES2, GL2, .. etc

- Use GLDrawableFactory.createOffscreenDrawable(..) for common OffscreenBackend (dropping pbuffer/software)
  - Leave offscreen selection to common factory code, favoring FBO

- Flip FBO w/ GLSL texture renderer
  - Faster on low CPU machines
  - Enabled if GL2ES2 and FBO offscreen
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff)
The file was addedsrc/jogl/classes/jogamp/opengl/util/glsl/GLSLTextureRaster.java
Commit 15735cf6861ad12503875f73eafde8b95932c0a8 by Sven Gothel
MacOSXCGLContext: Use new setLocation(gl, shader-program); Minor edits..
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestJScrollPaneMixHwLw01AWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/spi/PNGImage.java (diff)
Commit 8ceeb99603bb197b5f2da931c6d1be738df44c45 by Sven Gothel
Bug642: Add test case for Swing JSplit Pane w/ GLCanvas and GLJPanel
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug642JSplitPaneMixHwLw01AWT.java
The file was modifiedmake/scripts/tests.sh (diff)
Commit 1062e8ebfd6d2643bba9a68bbbc78bb44b3ede6a by Sven Gothel
Cleanup atomic JARs; Removed Debug/Trace pipelines of common profiles

GLU:
  jogl-glu.jar <- jogl-glutess.jar, jogl-glumipmap.jar and
                  javax/media/opengl/glu/*
                  javax/media/opengl/glu/gl2es1/*
                  jogamp/opengl/glu/* jogamp/opengl/glu/error/*

  jogl-glu-gldesktop.jar stays.

CORE (jogl.core.jar):
  + com/jogamp/opengl/util/*
  + jogamp/opengl/util/*
  + com/jogamp/opengl/util/glsl/*
  + jogamp/opengl/util/glsl/*

DEBUG/TRACE: Removed Debug/Trace pipelines of common profiles (won't work anyways)
  - [Debug|Trace]GL2ES1
  - [Debug|Trace]GL2ES2
  - [Debug|Trace]GL2GL3
The file was modifiedmake/build-jogl.xml (diff)
The file was modifiedmake/build-common.xml (diff)
Commit cdd6b8fe25581b127e36f713e31c84af2d72945e by Sven Gothel
Bug 651: Mesa3D: GL_INVALID_ENUM in glGetIntegerv(pname=GL_MAX_TEXTURE_IMAGE_UNITS) ; Add unit test / bisect Mesa3D

This bug lies within Mesa3D (any renderer) and is fixed in
commit 8dc79ae7d73cf6711c2182ff9a5d37ef6c989d23.

Mesa3D Version 9.0 still exposes this bug,
where 9.0.1 has it fixed w/ above commit.
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLUnitsNEWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLPointsNEWT.java
The file was modifiedmake/scripts/tests.sh (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestPointsNEWT.java
Commit 13600772542d9d5ad65c6d73b3d568100d6445b6 by Sven Gothel
GLContextImpl: Make createContextARBImpl/setGLFunctionAvailability more robost while detecting erroneous queried GL version
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11ExternalGLXContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXExternalCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/awt/MacOSXJava2DCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLExternalContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsExternalWGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLContext.java (diff)
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
Commit 0c8ed3a90eb590a16ff31d241c906a8e8936e270 by Sven Gothel
FBObject, minor edit: GL2GL3.GL_MAX_COLOR_ATTACHMENTS -> GL2ES2.GL_MAX_COLOR_ATTACHMENTS
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/FBObject.java (diff)
Commit 99b79930f6b25bf8b8bc29dc9a36b33717bdbf0e by Sven Gothel
*Drawable impl. DEBUG: Add getThreadName() to debug out.
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLPbufferDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11PbufferGLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXPbufferCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11PixmapGLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsPbufferWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsBitmapWGLDrawable.java (diff)
Commit 1ae0737f34143a5ed655bd9c4d5fe9b0437c7774 by Sven Gothel
Fix Bug 642 TestJSplitPaneMixHwLw01AWT (AWT-GLCanvas); Robustness GLContext/GLDrawable

- Fix Bug 642 TestJSplitPaneMixHwLw01AWT
  On Windows platform when mixing hw/lw JSplitPanel,
  the GLCanvas is removed and added when splitter is moved.
  The lack of robustness (see below) lead to an exception.

  Note: Only w/ GLJPanel (no hw/lw mixing) the splitter can be moved
  in both direction. Only here it is guaranteed that the GL component
  will survive the action.

- Fix AWT-GLCanvas EDT Runnable: swapBuffer().. / display(..)
  - Check drawable.isRealized() within the lock on the performing thread.
    This is not possible before issuing the EDT Runnable action
    since we cannot hold the lock beforehand.

- Robustness GLDrawableImpl
  - boolean realized -> volatile boolean realized
  - remove 'synchronized' on isRealized() and setRealized(..)
  - Use dbl-checked locking on 'realized' test for swapBuffers() and setRealized(..)

- Robustness GLContextImpl
  - Catch createImpl(..) exception and properly return CONTEXT_NOT_CURRENT
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableImpl.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestJScrollPaneMixHwLw01AWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestIsRealizedConcurrency01AWT.java
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug642JSplitPaneMixHwLw01AWT.java (diff)
Commit 4fa7bfd2018fe5a5c08157a26be22af194839718 by Sven Gothel
Bug 642: Refine test case, adding Hw/Lw mix intermediate Container test to avoid remove/add of GL component on Window when moving splitter.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestIsRealizedConcurrency01AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug642JSplitPaneMixHwLw01AWT.java (diff)
Commit f358151ca6f5279a3e97547931f915df78d5129c by Sven Gothel
Bug 642 / Refine 1ae0737f34143a5ed655bd9c4d5fe9b0437c7774: GLContextImpl.makeCurrent() - Handle !drawable.isRealized() early, don't catch 'create' Exception

Catching the createImpl() exception could be confusing, since it shall succeed.
Such exception is required to hint a platform bug and to debug it.

Hence testing drawable.isRealized() upfront is preferrable, i.e. catching a well known case
for returning CONTEXT_NOT_CURRENT.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
Commit b1fb2d2b3e565596c585286d0cbec7eb2a07f73d by Sven Gothel
Fix regression of commit b8a8fc24a3afb0cb06a31504bdea1a98b8f00ef4: Cache ShaderState for share ctor.
The file was modifiedmake/scripts/java-win32-dbg.bat (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsObjectES2.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
Commit 97b817685af3fcb67f02ddd50f87627b97dd3e5b by Sven Gothel
Bug 642 / Refine 1ae0737f34143a5ed655bd9c4d5fe9b0437c7774: GLCanvas.displayOnEDT: Also check null!=drawable

As for 1ae0737f34143a5ed655bd9c4d5fe9b0437c7774, an animator may inject a display Runnable on the EDT
before AWT destruction. In case this Runnable is executed after destruction on the EDT - it would fail.
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 13168c99ff9e8bf71c83f1be7afee270a3db4074 by Sven Gothel
Fix commit 811e3791b98fea0dfa3b7d301cb532c54df8dc82: Make AWT usage Java6 clean (was using Java7 stuff); Note: Need to test!
The file was modifiedsrc/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiers.java (diff)
Commit 7ec58d773535e86e413e3c581a5e5bd734cb1269 by Sven Gothel
Fix 13168c99ff9e8bf71c83f1be7afee270a3db4074 / 811e3791b98fea0dfa3b7d301cb532c54df8dc82: AWT-NEWT Modifier mapping - part-2

AWTNewtEventFactory:
  - getAWTButtonMask() -> getAWTButtonDownMask()
    - using proper _DOWN_MASK values (regression of commit 13168c99ff9e8bf71c83f1be7afee270a3db4074)
    - com.jogamp.newt.event.MouseEvent.BUTTON_NUMBER buttons
  - adding 'ModifierMappings.txt' to API doc header
  - remove obsolete 'int awtModifiers2Newt(int awtMods, boolean mouseHint)'
  - 'int awtButton2Newt(int awtButton)' 1:1 button name mapping

Tests:
  - rename TestNewtEventModifiers -> BaseNewtEventModifiers
    to avoid being picked up by our junit testing framework.
    The latter tests all classes starting w/ 'Test*'
The file was removedsrc/test/com/jogamp/opengl/test/junit/newt/event/ModifierMappings.txt
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/InputEvent.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiers.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasSWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasAWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersAWTCanvas.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/event/BaseNewtEventModifiers.java
Commit 58eb9d922c2a16a2724aaa2188c56784d440fb99 by Sven Gothel
Move pre-existing NEWT event test to new dedicated package package: com.jogamp.opengl.test.junit.newt.event
The file was removedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyCodeModifiersAWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodeModifiersAWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyCodesAWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyEventAutoRepeatAWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyEventOrderAWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyPressReleaseUnmaskRepeatAWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodesAWT.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/newt/TestNewtKeyPressReleaseUnmaskRepeatAWT.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareES2.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyEventAutoRepeatAWT.java
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyEventOrderAWT.java
Commit f3e2467decf2a5ee47cfb458f7071772f39ea9c6 by Sven Gothel
AWT-NEWT Modifier mapping and test: part-3 (NEWT BUTTON MASK always, ..)

- AWTNewtEventFactory's awtModifiers2Newt:
  - always include NEWT BUTTON_MASK (press, release, ..)
    where AWT doesn't include them at release (it's only a DOWN_MASK).

- Test BaseNewtEventModifiers, ..
  - No need to call super class Before, BeforeClass, .. manually
  - Use RedSquareES2 as GL demo
  - Adapt to AWTNewtEventFactory's modifier change above (NEWT BUTTON MASK even at release)
  - More descriptive error/log text

- Added _mandatory_ TestNewtEventModifiersNEWTWindowAWT
  to test native NEWT behavior.
  This shall be the golden behavior all translated events shall compare w/.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersAWTCanvas.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNEWTWindowAWT.java
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasSWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/BaseNewtEventModifiers.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasAWT.java (diff)
Commit d45f777e7969769eaa9b7d7f3eb5b34c10268368 by Sven Gothel
AWT-NEWT Modifier mapping and test: part-3 (Fix unit tests)

- Finetune delay

- Wait for eventCount

- Fix Listener concurrency

- Manually tested (enabled in our unit tests now)
  - Tool Combinations
    - NEWT GLWindow
    - AWT GLCanvas
    - NewtCanvasAWT
    - NewtCanvasSWT
  - On
    - Linux/X11
    - Windows
    - OSX(+)

(+): Failure NEWT: When multiple buttons are pressed,
     only the last one is visible via modifier MASK.
"expected:[button1, button2], have: [button2]"
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasSWT.java (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersAWTCanvas.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNEWTWindowAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/BaseNewtEventModifiers.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasAWT.java (diff)
Commit 17fde6c517b4ccf91b07c7e86974019bcbfee642 by Sven Gothel
NEWT peserve 'mouseButtonModMask' to be sent for all mouse- and key events. TODO: NEWT Event Factories. Misc: Cleaned up spacing.

On some native OS, the accumulation of pressed button modifier-mask is not available, e.g. OS X.

NEWT WindowImpl.doMouseEvent(..), invoked by native NEWT events,
will track the pressed mouse button modifier-mask, similar to mouseButtonPressed to synthesize the DRAGGED event.

Added NEWT WindowImpl.doKeyEvent(..) to honor the pressed mouse button modifier-mask,
i.e. pass it w/ key events as well.

TODO: Unify synthesization of NEWT event artifacts as described by the above,
allowing NEWT event translation to benefit from same code to gain same semantics.
Notable: AWTNewtEventFactory and SWTNewtEventFactory
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit b478cf3ead567fcc79fd8b75cade17efe0af3127 by Sven Gothel
WT-NEWT Modifier mapping and test: part-4 (Fix unit tests): BaseNewtEventModifiers ignore more events (clicked, wheel, entered, exited); Fix TestNewtEventModifiersNewtCanvasSWT SWT-Display thread.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasSWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/BaseNewtEventModifiers.java (diff)
The file was modifiedmake/build-test.xml (diff)
Commit a35beb22d712b6da85a794115b19d484a12c8643 by Sven Gothel
NEWT/Android: Fix NewtBaseActivity.getWindow() recursion if used w/o delegated Activity, i.e. our ActivityLauncher
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/NewtBaseActivity.java (diff)
Commit b0be3d764fc6ff90457fcb96ea81d53ba04cd420 by Sven Gothel
Misc OSX/SWT: OSXUtil.RunOnMainThread(..) refinement; Fix Test*NewtEventModifiers for SWT (TestNewtEventModifiersNewtCanvasSWT)

- Misc OSX/SWT: OSXUtil.RunOnMainThread(..) refinement
  - 'waitUntilDone' is implemented on Java site via lock/wait on RunnableTask to not freeze OSX main thread.

- Fix Test*NewtEventModifiers for SWT (TestNewtEventModifiersNewtCanvasSWT)
  - Deal with SWT's requirement to run the SWT event dispatch on the TK thread,
    which must be the main thread on OSX.
    We spawn off the actual test-action into another thread,
    while dispatching the events until the test-action is completed.

- AWTRobot: Add 'void requestFocus(Robot robot, Object obj, int x, int y)'
  - Use waitForIdle() only if programmed in Robot (Deadlock w/ OSX SWT)
  - Required for SWT usage (see above)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/BaseNewtEventModifiers.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasSWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java (diff)
Commit 3cb2d5c1714b7b371ebd979304bb1e09a193f228 by Sven Gothel
Test*NewtEventModifiers*: Clear 'clearing' events on thread - @Before/@After -> execOffThreadWithOnThreadEventDispatch

Remaining 'clearing' events from _releaseModifiers() and escape() broke test case.
The file was modifiedmake/scripts/tests-x64.bat (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/event/BaseNewtEventModifiers.java (diff)
Commit 796ac5af822f74dd3534f3192f13c398bacd6f07 by Sven Gothel
NEWT/Android: Fix NewtBaseActivity.getWindow() recursion if used w/o delegated Activity, i.e. our ActivityLauncher (Completes commit a35beb22d712b6da85a794115b19d484a12c8643)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/NewtBaseActivity.java (diff)
Commit 57c4e440ffa53ba7f868a145212df78e2eb2f8f2 by Sven Gothel
Android build scripts: Fix env. name ANDROID_SDK_HOME -> ANDROID_HOME

Intuitively I assumed ANDROID_SDK_HOME to be pointing to the SDK root dir,
however this is not true: Semantics by Android tools are:

ANDROID_SDK_HOME - Users ~/.android folder
ANDROID_HOME     - SDK root folder
The file was modifiedmake/scripts/make.jogl.all.android-armv7-cross.sh (diff)
The file was modifiedmake/scripts/make.jogl.all.android-armv6-cross.sh (diff)
Commit f514582845efaf2bf41cbcbeb1e2378d224b11a3 by Sven Gothel
adb-launch-main.sh: ANDROID_SDK_HOME -> ANDROID_HOME
The file was modifiedmake/scripts/adb-launch-main.sh (diff)