{
  "_class" : "hudson.matrix.MatrixRun",
  "actions" : [
    {
      
    },
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UpstreamCause",
          "shortDescription" : "Started by upstream project \"jogl\" build number 1,222",
          "upstreamBuild" : 1222,
          "upstreamProject" : "jogl",
          "upstreamUrl" : "job/jogl/"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1222,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "1638fb3e80a1102670b5d216647ee6fce0031d7f",
            "branch" : [
              {
                "SHA1" : "1638fb3e80a1102670b5d216647ee6fce0031d7f",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1638fb3e80a1102670b5d216647ee6fce0031d7f",
            "branch" : [
              {
                "SHA1" : "1638fb3e80a1102670b5d216647ee6fce0031d7f",
                "name" : "origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "1638fb3e80a1102670b5d216647ee6fce0031d7f",
        "branch" : [
          {
            "SHA1" : "1638fb3e80a1102670b5d216647ee6fce0031d7f",
            "name" : "origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "git://jogamp.org/srv/scm/jogl.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.GitTagAction"
    },
    {
      
    },
    {
      "_class" : "hudson.tasks.junit.TestResultAction",
      "failCount" : 1,
      "skipCount" : 0,
      "totalCount" : 898,
      "urlName" : "testReport"
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#1222",
  "duration" : 4548275,
  "estimatedDuration" : 3745003,
  "executor" : None,
  "fullDisplayName" : "jogl » windows-x86_64 #1222",
  "id" : "2014-02-15_20-47-38",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 1222,
  "queueId" : -1,
  "result" : "UNSTABLE",
  "timestamp" : 1392493658000,
  "url" : "https://jogamp.org/chuck/job/jogl/label=windows-x86_64/1222/",
  "builtOn" : "win64-nvgtx460-win7-jogamp-x64-sgothel-011",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/native/MacWindow.m",
          "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01NEWT.java"
        ],
        "commitId" : "c3c204a2e374c1dc4c1fb51f15444e5b92850839",
        "timestamp" : 1392050788000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Bug 970: NEWT OSX ChildWindow setVisible(..) does not hide child window appropriately\u000a\u000aInstead of using [mWin orderBack: mWin] for child windows,\u000autilize [mWin orderWindow: NSWindowOut relativeTo: [pWin windowNumber]]\u000a",
        "date" : "2014-02-10T17:46:28+0100",
        "id" : "c3c204a2e374c1dc4c1fb51f15444e5b92850839",
        "msg" : "Bug 970: NEWT OSX ChildWindow setVisible(..) does not hide child window",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/native/MacWindow.m"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01NEWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/javax/media/opengl/GLProfile.java",
          "src/jogl/classes/jogamp/opengl/GLContextImpl.java",
          "make/scripts/tests-x64-dbg.bat",
          "src/newt/classes/jogamp/newt/DisplayImpl.java",
          "make/scripts/tests-win.bat",
          "make/scripts/tests.sh"
        ],
        "commitId" : "c5964bf2e3ebd6e05a7d551b033355c21ca9eea9",
        "timestamp" : 1392166088000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Bug 972 - Reduce ClassLoader Lookup, i.e. Class.forName(..): GLProfile, GLContextImpl, DisplayImpl\u000a\u000aGLProfile, GLContextImpl:\u000a  - ReflectionUtil.DEBUG_STATS_FORNAME: Dump forName stats if set\u000a  - Cache GL*Impl and GL*ProcAddressTable Constructor<?> for GLContextImpl's createInstance(..)\u000a  - Remove off-thread early classloading thread which only adds complications\u000a\u000aDisplayImpl:\u000a  - Remove one redundant availability test\u000a",
        "date" : "2014-02-12T01:48:08+0100",
        "id" : "c5964bf2e3ebd6e05a7d551b033355c21ca9eea9",
        "msg" : "Bug 972 - Reduce ClassLoader Lookup, i.e. Class.forName(..): GLProfile,",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/DisplayImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/GLProfile.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-x64-dbg.bat"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-win.bat"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java"
        ],
        "commitId" : "84930529068062d29d48924b37953ecb1ee30bdd",
        "timestamp" : 1392166490000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Bug 973: NativeWindowFactory: Needs service provider interface (SPI) for TK specific implementations (Scaling)\u000a\u000aAdd FIXME note ..\u000a",
        "date" : "2014-02-12T01:54:50+0100",
        "id" : "84930529068062d29d48924b37953ecb1ee30bdd",
        "msg" : "Bug 973: NativeWindowFactory: Needs service provider interface (SPI) for",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java"
        ],
        "commitId" : "0666a9ee8332e8ab59d533c65552dae8c58cf267",
        "timestamp" : 1392166514000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Bug 973: NativeWindowFactory: Needs service provider interface (SPI) for TK specific implementations (Scaling)\u000a",
        "date" : "2014-02-12T01:55:14+0100",
        "id" : "0666a9ee8332e8ab59d533c65552dae8c58cf267",
        "msg" : "Bug 973: NativeWindowFactory: Needs service provider interface (SPI) for",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/nativewindow/classes/javax/media/nativewindow/util/PixelFormatUtil.java",
          "src/jogl/classes/com/jogamp/opengl/util/PNGPixelRect.java",
          "src/jogl/classes/com/jogamp/opengl/util/texture/TextureIO.java"
        ],
        "commitId" : "21b68a5e73a672da34b37b5641b779aa1e3fa41d",
        "timestamp" : 1392243429000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "TextureIO: Support PNGTextureWriter w/ TextureData IntBuffer (via PNGPixelRect and PixelFormatUtil)\u000a\u000aTextureData IntBuffer could be caused by AWT read-pixels\u000abut is not seamlessly supported via PNGPixelRect since the latter\u000auses a hardcoded ByteBuffer.\u000a\u000aAdd static PNGPixelRect.write(..) supporting IntBuffer\u000ato support this case for now.\u000aPNGPixelRect instances do not support any Buffer type to avoid\u000aa bloated implementation.\u000a\u000aPixelFormatUtil adds support for int32 pixel format conversion.\u000a",
        "date" : "2014-02-12T23:17:09+0100",
        "id" : "21b68a5e73a672da34b37b5641b779aa1e3fa41d",
        "msg" : "TextureIO: Support PNGTextureWriter w/ TextureData IntBuffer (via",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/util/PixelFormatUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/PNGPixelRect.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/texture/TextureIO.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/awt/AWTGLReadBufferUtil.java",
          "src/jogl/classes/com/jogamp/opengl/util/GLPixelBuffer.java",
          "src/jogl/classes/com/jogamp/opengl/util/GLReadBufferUtil.java",
          "make/scripts/tests-win.bat",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLJPanelResize02AWT.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "1d2515da352a79c239efecdfa3e0fade47779781",
        "timestamp" : 1392246287000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Bug 962 - AWTGLReadBufferUtil should use aligned BufferedImage [for resized images]; Fix GLReadBufferUtil GL_PACK_ROW_LENGTH\u000a\u000aAWTGLPixelBuffer is being reused when used via AWTGLPixelBufferProvider\u000aeven when resized.\u000a\u000aAWTGLPixelBufferProvider uses  GLPixelBufferProvider's requiresNewBuffer(..)\u000awhich returns true if\u000a  - allowRowStride==true and pixel-buffer size < required-size, or\u000a  - allowRowStride==false and pixel-buffer size < required _or_ width doesn't match\u000a\u000aotherwise it returns true, i.e. the AWTGLPixelBuffer is reused.\u000a\u000aHence the used BufferedImage might need to be aligned,\u000ai.e. using AWTGLPixelBuffer's getAlignedImage(..).\u000a\u000a+++\u000a\u000aGLReadBufferUtil shall use current texture-data width for GL_PACK_ROW_LENGTH,\u000anot the static GLPixelBuffer's width, which may not reflect image dimension (resize)\u000a\u000a+++\u000a",
        "date" : "2014-02-13T00:04:47+0100",
        "id" : "1d2515da352a79c239efecdfa3e0fade47779781",
        "msg" : "Bug 962 - AWTGLReadBufferUtil should use aligned BufferedImage [for",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/awt/AWTGLReadBufferUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLPixelBuffer.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-win.bat"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLReadBufferUtil.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLJPanelResize02AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/texture/TextureIO.java"
        ],
        "commitId" : "8631e403aa0c02c53b06819ef9b112af1885d4f7",
        "timestamp" : 1392246391000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "TextureIO: Fix PNGTextureWriter Vertical-Flip, i.e. pass TextureData's getMustFlipVertically() to PNGPixelRect\u000a",
        "date" : "2014-02-13T00:06:31+0100",
        "id" : "8631e403aa0c02c53b06819ef9b112af1885d4f7",
        "msg" : "TextureIO: Fix PNGTextureWriter Vertical-Flip, i.e. pass TextureData's",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/texture/TextureIO.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/config/jogl/gl-common.cfg",
          "make/config/jogl/gl-common-gpubufferonly.cfg",
          "make/config/jogl/gl4bc-common-cpubufferJavaCode.java"
        ],
        "commitId" : "325986eb0b14e90d9ef35cbb0ca57c9c91df4827",
        "timestamp" : 1392255183000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Bug 974 - Add missing [GL4] glMultiDrawArraysIndirect(int mode, int type, long indirect_offset, int drawcount, int stride)\u000a",
        "date" : "2014-02-13T02:33:03+0100",
        "id" : "325986eb0b14e90d9ef35cbb0ca57c9c91df4827",
        "msg" : "Bug 974 - Add missing [GL4] glMultiDrawArraysIndirect(int mode, int",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/config/jogl/gl4bc-common-cpubufferJavaCode.java"
          },
          {
            "editType" : "edit",
            "file" : "make/config/jogl/gl-common.cfg"
          },
          {
            "editType" : "edit",
            "file" : "make/config/jogl/gl-common-gpubufferonly.cfg"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/WindowImpl.java",
          "src/nativewindow/classes/jogamp/nativewindow/SurfaceUpdatedHelper.java",
          "src/newt/classes/com/jogamp/newt/opengl/GLWindow.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java"
        ],
        "commitId" : "8be9d9b5bd71854f4da15294b47125a8a4975e31",
        "timestamp" : 1392307947000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "SurfaceUpdatedListener: Order methods in impl. Class; SurfaceUpdatedListener: Mark methods final, use volatile 'isEmpty' to bail out early @ surfaceUpdated.\u000a",
        "date" : "2014-02-13T17:12:27+0100",
        "id" : "8be9d9b5bd71854f4da15294b47125a8a4975e31",
        "msg" : "SurfaceUpdatedListener: Order methods in impl. Class;",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/opengl/GLWindow.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/WindowImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/SurfaceUpdatedHelper.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLJPanelAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/GLReadBuffer00Base.java",
          "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLWindowNEWT.java",
          "make/scripts/tests.sh",
          "make/scripts/tests-win.bat",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLJPanelResize02AWT.java"
        ],
        "commitId" : "908ebd99d1eb57ce773a1fdd67c76886da86b9e6",
        "timestamp" : 1392319956000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Bug 975 - GLJPanel's OffscreenDrawable shall not double swap (custom swap by GLEventListener using [AWT]GLReadBufferUtil)\u000a\u000aWhen utilizing [AWT]GLReadBufferUtil it is usually desired to read from the front-buffer\u000ainstead the back-buffer. The latter may not be defined, e.g. when using MSAA.\u000a\u000aA GLEventListener utilizing [AWT]GLReadBufferUtil,\u000amust perform the drawable.swapBuffers() to be able to read from the front-buffer.\u000a\u000aUsually GLAutoDrawable.setAutoSwapBuffer(false) should be called here,\u000ato avoid a double swap - however GLJPanel does not support toggling auto-swap\u000asince it requires to control swap for it's own read-pixels.\u000a\u000aRemedy for GLJPanel:\u000a  - GLJPanel issues helper.setAutoSwapBufferMode(false) - immutable\u000a\u000a  - Enable GLJPanel.swapBuffer() if initializes\u000a    This was previously disabled.\u000a\u000a  - GLJPanel's OffscreenBackend listens to  surfaceUpdated,\u000a    to be notified whether postGL needs to swap buffer\u000a    or the drawable.swapBuffer() was already called between preGL and postGL.\u000a\u000aSee unit tests adding/removing a snapshot GLEventListener\u000aperforming swapBuffers() and setting auto-swap accordingly.\u000a",
        "date" : "2014-02-13T20:32:36+0100",
        "id" : "908ebd99d1eb57ce773a1fdd67c76886da86b9e6",
        "msg" : "Bug 975 - GLJPanel's OffscreenDrawable shall not double swap (custom",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLJPanelAWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLWindowNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-win.bat"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/GLReadBuffer00Base.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLJPanelResize02AWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/GLStateTracker.java",
          "src/jogl/classes/com/jogamp/opengl/util/GLPixelStorageModes.java"
        ],
        "commitId" : "d55fa82fe6f236523dd4f701a15057b1a0ca8e36",
        "timestamp" : 1392351507000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLPixelStorageModes: Safe and restore GL2ES3 modes, i.e. add missing GLES3 modes. GLStateTracker: Use proper GL names for enums\u000a",
        "date" : "2014-02-14T05:18:27+0100",
        "id" : "d55fa82fe6f236523dd4f701a15057b1a0ca8e36",
        "msg" : "GLPixelStorageModes: Safe and restore GL2ES3 modes, i.e. add missing",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLStateTracker.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLPixelStorageModes.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/GLReadBufferUtil.java"
        ],
        "commitId" : "fb12b0b6fa37d3a4136bb04597b3c32b15832c82",
        "timestamp" : 1392351575000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLReadBufferUtil: Set PACK_ROW_LENGTH for ES3 as well - also set ReadBuffer to default.\u000a",
        "date" : "2014-02-14T05:19:35+0100",
        "id" : "fb12b0b6fa37d3a4136bb04597b3c32b15832c82",
        "msg" : "GLReadBufferUtil: Set PACK_ROW_LENGTH for ES3 as well - also set",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLReadBufferUtil.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLJPanelAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/GLReadBuffer00Base.java",
          "src/test/com/jogamp/opengl/test/junit/util/UITestCase.java",
          "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLWindowNEWT.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "82f679b064784213591b460fc5eaa1f5f196fbd1",
        "timestamp" : 1392352633000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Bug 975 - GLJPanel's OffscreenDrawable shall not double swap - Use default auto-swap mechanims\u000a\u000aRefines commit 908ebd99d1eb57ce773a1fdd67c76886da86b9e6\u000a\u000aNote that the test case decide whether to auto-swap (after read-pixels)\u000aor not auto-swap (manual swap before read-pixels).\u000a\u000aSee UITestCase.swapBuffersBeforeRead(GLCapabilitiesImmutable chosenCaps):\u000a   Determines whether the chosen GLCapabilitiesImmutable requires a swap-buffers before reading pixels.\u000a\u000a   Usually one uses the default-read-buffer, i.e. GL.GL_FRONT for single-buffer\u000a   and GL.GL_BACK for double-buffer GLDrawables\u000a   and GL.GL_COLOR_ATTACHMENT0 for offscreen framebuffer objects.\u000a   Here swap-buffers shall happen after calling reading pixels, the default.\u000a\u000a   However, multisampling offscreen GLFBODrawables utilize swap-buffers to downsample\u000a   the multisamples into the readable sampling sink.\u000a   In this case, we require a swap-buffers before reading pixels.\u000a\u000a   Returns:  chosenCaps.isFBO() && chosenCaps.getSampleBuffers()\u000a\u000a+++\u000a\u000a- GLJPanel:\u000a  - Remove SurfaceUpdatedListener mechanism in favor of\u000a    default auto-swap-buffer via GLDrawableHelper.\u000a    This removes complexity.\u000a\u000a  - postGL does not need to perform explicit swapBuffer operation,\u000a    but rely on GLDrawableHelper and the default mechanism.\u000a    This is also compatible w/ J2D backend.\u000a\u000a  - Use GLDrawableHelper for setAutoSwapBufferMode(..) and getAutoSwapBufferMode()\u000a\u000a+++\u000a\u000aUnitTests:\u000a\u000a- UITestCase:\u000a  - Add 'boolean swapBuffersBeforeRead(GLCapabilitiesImmutable chosenCaps)'\u000a    to determine whether swapBuffers() must occure before read-pixels. See above.\u000a\u000a- GLReadBuffer00Base*\u000a  - remove explicit addSnapshotGLEL/removeSnapshotGLEL\u000a\u000a  - add TextRendererGLEL, to display frame-count and -dimension\u000a\u000a  - SnapshotGLEL*\u000a    - simply toggle auto-swap in their init(..) and dispose(..) method!\u000a\u000a    - clear back-buffer if 'swapBuffersBeforeRead'\u000a      to test whether the right buffer is being used for read-pixels.\u000a",
        "date" : "2014-02-14T05:37:13+0100",
        "id" : "82f679b064784213591b460fc5eaa1f5f196fbd1",
        "msg" : "Bug 975 - GLJPanel's OffscreenDrawable shall not double swap - Use",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/util/UITestCase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLWindowNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/GLReadBuffer00Base.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLJPanelAWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/openal/av/ALAudioSink.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "938fbc9e4cb58c1ab6a6f66f128189ed7b634955",
        "timestamp" : 1392448350000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Bug 927 - Multithreading (MT) issues with ALAudioSink (openal-soft)\u000a\u000a- Using update openal-soft (commit 7297c3214a4c648aaee81a9877da15b88f798197)\u000a\u000a- Analyzed openal-soft threading issues:\u000a  - a global-lock would have removed the issue\u000a\u000a  - turns out that using ALC_EXT_thread_local_context's alcSetThreadContext(..)\u000a    instead of alcMakeContextCurrent(..) solves the issue\u000a\u000a- Cleaned up al*GetError() queries and handling\u000a\u000a- Simplified flush/dequeue buffers\u000a",
        "date" : "2014-02-15T08:12:30+0100",
        "id" : "938fbc9e4cb58c1ab6a6f66f128189ed7b634955",
        "msg" : "Bug 927 - Multithreading (MT) issues with ALAudioSink (openal-soft)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/openal/av/ALAudioSink.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "doc/HowToBuild.html"
        ],
        "commitId" : "1638fb3e80a1102670b5d216647ee6fce0031d7f",
        "timestamp" : 1392448663000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "doc/HowToBuild.html: Complete Debian package list, add note on multiarch packages\u000a",
        "date" : "2014-02-15T08:17:43+0100",
        "id" : "1638fb3e80a1102670b5d216647ee6fce0031d7f",
        "msg" : "doc/HowToBuild.html: Complete Debian package list, add note on multiarch",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "doc/HowToBuild.html"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jogamp.org/chuck/user/sgothel",
      "fullName" : "Sven Gothel"
    }
  ]
}