SuccessChanges

Summary

  1. TestParenting01dAWT: Add waitForVisible after toggling NEWT child window (details)
  2. Bug 938 - MemoryObject.java has no more equals() method (details)
  3. Bug 942 - Share GLBufferStateTracker ; Unify GLBufferStateTracker and (details)
  4. JAWTWindow DEBUG: Dump all JAVA_VERSION* information (details)
  5. Revert "Bug 942 - Share GLBufferStateTracker ; Unify (details)
  6. Bug 942: Bug 942 - Review GLBuffer[State|Size]Tracker and NIO mapped (details)
  7. Bug 942 - Review GLBuffer[State|Size]Tracker: Add synchronized access to (details)
  8. Bug 943 - GLBufferStateTracker shall support tracking all possible (details)
  9. Bug 942: GLBufferObjectTracker: Tracking GLBufferStorage accurately, (details)
  10. Bug 942: GLBufferObjectTracker Enhancement [2/2]: Add mapped buffer (details)
  11. Better shared GLAutoDrawable synchronization: Block slave instances to (details)
  12. HowToBuild: Add 'libxcursor-devel' dependency and a debian one-liner .. (details)
  13. GLBufferObjectTracker: Fix copyright notice (drop Sun Microsystems since (details)
  14. TestSharedContextVBOES2NEWT3: Re-enable temp disabled tests (oops) (details)
  15. Add 'Permissions: all-permissions' to jogl-test.jar for Oracle's 7u51 (details)
  16. windows test script (details)
  17. Doc: JOGL-DEPLOYMENT Change 'Traditional Applets' to 'New Applets' (details)
  18. Adaption of Oracle's Deployment changes, i.e. >= 7u51 (details)
  19. JNLP/Applets: Remove 'sun.java2d.noddraw' - We don't test with these (details)
  20. JOGL Test Applets: Refine html pages (details)
  21. Adding missing 'gl-if-CustomJavaCode-gl2.java' of commit (details)
Commit 41be8824318d709459c08669218696d196719c90 by Sven Gothel
TestParenting01dAWT: Add waitForVisible after toggling NEWT child window visibility helping robostness of test case.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01dAWT.java (diff)
Commit 6c971f91fbe6a7e3bc45563d80d42a753586d629 by Sven Gothel
Bug 938 - MemoryObject.java has no more equals() method

Re-adding 'equals(..)' method erroneously removed with commit 8457bf35fee253d9af29ff1150a9671f6896fc17.

'equals(..)' is important to allow the HashMap<> for glMapBuffer(..) work properly!
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/MemoryObject.java (diff)
Commit 7c5483d5b20aed9c87c5ce3f6bc840b6546edcd1 by Sven Gothel
Bug 942 - Share GLBufferStateTracker ; Unify GLBufferStateTracker and GLBufferSizeTracker (simplification)

Due to future mapped buffer tracking, the GLBufferStateTracker instance shall be shared
across shared GLContextImpl instances similar to GLSizeStateTracker!

This allows us to merge GLSizeStateTracker code into GLBufferStateTracker
to simplify the implementation.

+++

Clear the GLBufferStateTracker (@destruction) only if no more
created shares are left!

+++
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-common.java (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-gles3.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextShareSet.java (diff)
The file was modifiedmake/config/jogl/gl-gl4bc.cfg (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-gl4bc.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLBufferStateTracker.java (diff)
The file was modifiedmake/config/jogl/gl-common.cfg (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-gles1.java (diff)
The file was removedsrc/jogl/classes/jogamp/opengl/GLBufferSizeTracker.java
Commit 961930f9e2cd40dc4de736201bcfa68c1ff09909 by Sven Gothel
JAWTWindow DEBUG: Dump all JAVA_VERSION* information
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/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug816OSXCALayerPos01AWT.java (diff)
Commit f8a74c9831c65725a699320c27e62161a0378241 by Sven Gothel
Revert "Bug 942 - Share GLBufferStateTracker ; Unify GLBufferStateTracker and GLBufferSizeTracker (simplification)"

This reverts commit 7c5483d5b20aed9c87c5ce3f6bc840b6546edcd1.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLBufferStateTracker.java (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-common.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedmake/config/jogl/gl-gl4bc.cfg (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-gles1.java (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-gles3.java (diff)
The file was addedsrc/jogl/classes/jogamp/opengl/GLBufferSizeTracker.java
The file was modifiedmake/config/jogl/gl-common.cfg (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-gl4bc.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextShareSet.java (diff)
Commit 30bd30d6563041b71f40e4c336e636768ae26f9d by Sven Gothel
Bug 942: Bug 942 - Review GLBuffer[State|Size]Tracker and NIO mapped buffers

Commit f8a74c9831c65725a699320c27e62161a0378241 reverted
commit 7c5483d5b20aed9c87c5ce3f6bc840b6546edcd1
due to the fact that the buffer binding itself is _not_
shared across shared GLContext!

Apply uncritical changes of 7c5483d5b20aed9c87c5ce3f6bc840b6546edcd1:

+++

Simplify GLBufferSizeTracker creation @ GLContextImpl ctor,
make it final.

+++

Clear the GLBufferSizeTracker (@destruction) only if no more
created shares are left!

+++

Refine API doc.

+++
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLBufferStateTracker.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextShareSet.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLBufferSizeTracker.java (diff)
Commit d0acb35b6568eaf592bb3d5011619eae5c8bc592 by Sven Gothel
Bug 942 - Review GLBuffer[State|Size]Tracker: Add synchronized access to shared bufferSizeTracker
The file was modifiedmake/config/jogl/gl-common.cfg (diff)
The file was modifiedmake/config/jogl/gl-gl4bc.cfg (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-common.java (diff)
Commit 19c91de9f02fc713fce09277ea243d966cbc9ac8 by Sven Gothel
Bug 943 - GLBufferStateTracker shall support tracking all possible buffer targets
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLBufferStateTracker.java (diff)
Commit 09fc7aa5539731bb0fba835caee61f6eb837ecff by Sven Gothel
Bug 942: GLBufferObjectTracker: Tracking GLBufferStorage accurately, synchronized and secure [1/2]

GLBufferSizeTracker becomes GLBufferObjectTracker
and tracks the buffer's data store, GLBufferStorage, accurately, synchronized and secure.

Synchronization is required, since the GLBufferStorage can be
shared across many GLContext on multiple threads.

This requires all GLBufferStorage lifecycle affecting GL functions
to utilize synchronized GLBufferObjectTracker methods
while passing a native GL-func callback.

These GL functions are:
  - glBufferData, glBufferStorage (GL 4.4), glNamedBufferDataEXT
    Creating the GLBufferStorage object
  - glMapBuffer, glMapBufferRange, and their *Named*EXT variants
  - glUnmapBuffer, glUnmapNamedBufferEXT

'glDeleteBuffers' can simply notify the GLBufferObjectTracker

No more HashMap is required to associate the mapped buffer address
to the mapped ByteBuffer.

GLBufferObjectTracker simply utilizes a
   buffer-name (int) -> GLBufferStorage
map.

+++

The security aspect shall be implemented by validating all arguments
whether they match the required GL constraints,
as well as validating tracked states like 'size'.

The following functions will throw an GLException accordingly:
  - glBufferData, glNamedBufferDataEXT
     * @throws GLException if size is less-than zero
     * @throws GLException if a native GL-Error occurs

  - glBufferStorage (GL 4.4)
     * @throws GLException if size is less-or-eqaul zero
     * @throws GLException if a native GL-Error occurs

  - glMapBuffer, and it's *Named*EXT variant
    * @throws GLException if buffer is not bound to target
    * @throws GLException if buffer is not tracked
    * @throws GLException if buffer is already mapped
    * @throws GLException if buffer has invalid store size, i.e. less-than zero

  - glMapBufferRange, and it's *Named*EXT variant
    * @throws GLException if buffer is not bound to target
    * @throws GLException if buffer is not tracked
    * @throws GLException if buffer is already mapped
    * @throws GLException if buffer has invalid store size, i.e. less-than zero
    * @throws GLException if buffer mapping range does not fit, incl. offset

  - glMapBufferRange, and it's *Named*EXT variant
    Only clear mapped buffer reference of GLBufferStorage
    if native unmap was successful.

Further more special error handling shall be applied to:
  - glMapBuffer, and it's *Named*EXT variant,
    glMapBuffer, and it's *Named*EXT variant
    - A zero GLBufferStorage size will avoid a native call and
      returns null
    - A null native mapping result indicating an error will
     not cause a GLException but returns null
     This allows the user to handle this case.
The file was modifiedmake/config/jogl/gl-gl4bc.cfg (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-common.java (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-gles3.java (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomCCode-gles3.c (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-gl4bc.java (diff)
The file was addedsrc/jogl/classes/javax/media/opengl/GLBufferStorage.java
The file was removedsrc/jogl/classes/jogamp/opengl/GLBufferSizeTracker.java
The file was modifiedsrc/jogl/classes/jogamp/opengl/MemoryObject.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncHook.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modifiedmake/config/jogl/gl-if-CustomJavaCode-es3.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/gluegen/opengl/BuildComposablePipeline.java (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-gles1.java (diff)
The file was addedsrc/jogl/classes/jogamp/opengl/GLBufferObjectTracker.java
The file was modifiedmake/config/jogl/gl-common.cfg (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLBufferStateTracker.java (diff)
The file was modifiedmake/config/jogl/gl-if-gl2.cfg (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLBase.java (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomCCode-gles1.c (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomCCode-gl4bc.c (diff)
Commit 343deff48d81b0abf58c275d9e0aced12a911802 by Sven Gothel
Bug 942: GLBufferObjectTracker Enhancement [2/2]: Add mapped buffer capabilities to GLArrayDataServer and add unit tests

GLArrayDataServer:
  - Add create*Mapped(..) variants for GPU mapped buffer usage
    w/o client buffers.

  - Fix API documentation (arguments)

  - Fix 'addGLSLSubArray(..)'
    - properly compute and pass 'subStrideB' in bytes to GLArrayDataWrapper ctor.

  - Add 'mapStorage(..)' and 'unmapStorage(..)'
    allowing to map the GPU buffer.

GLArrayDataWrapper:
  - Fix getElementCount(): Consider stride in bytes and consider 'mappedElementCount'
  - getSizeInBytes(): Consider 'mappedElementCount'

Tests:
  - Use new GLBase methods, e.g. getBoundBuffer(..) instead of glGetBoundBuffer(..)

  - TestMapBufferRead01NEWT: Validate GLBufferStorage (i.e. GLBufferObjectTracker)

  - Add RedSquareMappedES2 using GPU mapped buffer
    - Test w/ TestRedSquareES2NEWT, cmd-line 'mappedBuffers'

  - GearsES1 and GearsES2: Add GPU buffer mapping mode for all test cases
    - Add buffer validation mode, i.e. test whether GLBufferObjectTracker
      works properly.

    - Test w/ TestGearsES2NEWT, cmd-line 'mappedBuffers'

  - TestSharedContextVBOES2NEWT0, TestSharedContextVBOES2NEWT3:
    - Add GPU mapped buffers tests to validate GLBufferObjectTracker
      code path with shared GLContext across multiple threads.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT0.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/GearsES1.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/GearsObject.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareMappedES2.java
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/util/GLArrayDataServer.java (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/acore/TestSharedContextVBOES2NEWT3.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/GearsObjectES1.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/GLSLMiscHelper.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLMesaBug658NEWT.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/acore/TestMapBufferRead01NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsObjectES2.java (diff)
Commit 97f4ef2763596993bcb8a6b84150c9ec906dde08 by Sven Gothel
Better shared GLAutoDrawable synchronization: Block slave instances to also block until all master's GLEventListener.init(..) methods have been called

Better shared GLAutoDrawable synchronization.
Block slave instances to also block until all master's GLEventListener.init(..) methods have been called

- GLSharedContextSetter: Add areAllGLEventListenerInitialized()
  - GLCanvas (SWT, AWT)
  - GLJPanel
  - GLAutoDrawableBase (GLWindow, ..)

- GLDrawableHelper's isSharedGLContextPending(..)
  takes 'areAllGLEventListenerInitialized()' into consideration
  allowing to block the slave creation until master is completed.

This solves teh use case, where the master creates resources in it's
GLEventListener initialization (buffers), which are shared with
it's slaves.
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLSharedContextSetter.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java (diff)
Commit 75d2460c32ab0e49094d8e96552f187b65f6d36f by Sven Gothel
HowToBuild: Add 'libxcursor-devel' dependency and a debian one-liner ..
The file was modifieddoc/HowToBuild.html (diff)
Commit 105de0ce8eeeedba0186d76cd6826a699f75f5c2 by Sven Gothel
GLBufferObjectTracker: Fix copyright notice (drop Sun Microsystems since this is a rewrite of previous GLBufferSizeTracker)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLBufferObjectTracker.java (diff)
Commit b17b201eb8a66b0a04cc2173b08a8d0d9e6fcea3 by Sven Gothel
TestSharedContextVBOES2NEWT3: Re-enable temp disabled tests (oops)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextVBOES2NEWT3.java (diff)
Commit 62334d30c4c1ba0a3f10d96fc0eeed3fc24af882 by Sven Gothel
Add 'Permissions: all-permissions' to jogl-test.jar for Oracle's 7u51 Java Plugin (duh)
The file was modifiedmake/joglversion-test (diff)
The file was modifiedmake/scripts/tests-win.bat (diff)
Commit 70f5c06b8155f7511987b73a24fda258ea2abfbc by Sven Gothel
Doc: JOGL-DEPLOYMENT Change 'Traditional Applets' to 'New Applets' (NApplet)
The file was modifieddoc/deployment/JOGL-DEPLOYMENT.html (diff)
The file was modifieddoc/userguide/index.html (diff)
Commit 5e8361d84078568d54b9561315151e2c5e287147 by Sven Gothel
Adaption of Oracle's Deployment changes, i.e. >= 7u51

Sadly, due to Oracle's Java Applet Plugin update 7u51,
unsigned applets are no more allowed and effectively
lower the bar to create user applets with raised privileges.<br/>
Hence JogAmp Community <b>signs</b> jogl-all.jar and gluegen-rt.jar, which contain the
JOGL's supporting classes as well as jogl-test.jar, which contains the applet class.<br/>
jogl-test.jar's manifest file uses <i>Permissions: sandbox</i>
to <b>not raise privileges</b>.
The file was modifiedjnlp-files/jogl-applet-runner-newt-gears-normal.html (diff)
The file was modifieddoc/deployment/JOGL-DEPLOYMENT.html (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-GraphTextDemo01.html (diff)
The file was modifiedjnlp-files/jogl-javaws-version.jnlp (diff)
The file was removedjnlp-files/jogl-applet-version-lancheronly.html
The file was modifiedjnlp-files/jogl-applet-version.html (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-MovieCube.html (diff)
The file was modifiedjnlp-files/jogl-test-applets.html (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-gears-normal-napplet.html (diff)
The file was modifiedmake/joglversion (diff)
The file was modifiedjnlp-files/jogl-applet-version.jnlp (diff)
The file was modifiedjnlp-files/jogl-application-version.jnlp (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-gears-special.html (diff)
The file was modifiedmake/joglversion-test (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt.jnlp (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-GraphUISceneDemo01.html (diff)
The file was modifiedmake/joglversion-all (diff)
The file was removedjnlp-files/jogl-applet-runner-newt-gears-normal-launcheronly.html
The file was modifiedmake/build-test.xml (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-ElektronenMultiplizierer.html (diff)
Commit 3691ff45fe3dcb334d363a45a91ec0eb1cd6f2b4 by Sven Gothel
JNLP/Applets: Remove 'sun.java2d.noddraw' - We don't test with these flags either ..
The file was modifiedjnlp-files/jogl-applet-runner-newt-gears-special-napplet.html (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-gears-normal-napplet2.html (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-GraphTextDemo01-napplet.html (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-gears-gl3-napplet.html (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-gears-normal-napplet.html (diff)
The file was modifiedjnlp-files/jogl-applet-version-napplet.html (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-MovieCube-napplet.html (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-ElektronenMultiplizierer-napplet.html (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-GraphTextDemo01b-napplet.html (diff)
The file was modifiedjnlp-files/jogl-applet-bug818_gljpanel01.html (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-GraphUISceneDemo01-napplet.html (diff)
Commit 648d2438945f3d08854d8ac4e0322a7d44578f0d by Sven Gothel
JOGL Test Applets: Refine html pages
The file was modifiedjnlp-files/jogl-applet-runner-newt-gears-normal-napplet.html (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-gears-normal-napplet2.html (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-gears-normal.html (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-gears-gl3-napplet.html (diff)
Commit e7002849ff0b55d86e351a9ccfc279bddd1a6d51 by Sven Gothel
Adding missing 'gl-if-CustomJavaCode-gl2.java' of commit 09fc7aa5539731bb0fba835caee61f6eb837ecff
The file was addedmake/config/jogl/gl-if-CustomJavaCode-gl2.java