summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add Support for GL 4.3 (Bug 716) and ES 3.0 (Bug 717)Sven Gothel2013-07-15110-15599/+18279
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ES3 / GL4.3: - Update all EGL, GLX, WGL and GL (desktop and mobile) khronos headers to latest version. - GL3/gl3* -> GL/glcorearb* - Explicitly preserve ES2_compatibility and ES3_compatibility in header, most extension grouping was removed in new headers. - Always load all GLHeader to ensure proper extension association across all profiles. - Unified method signatures - Added GL_EXT_map_buffer_range to core - Using common 'glMapBufferImpl(..)' for all glMapBuffer(..) and glMapBufferRange(..) impl. - Init necessary fields of GL instances via 'finalizeInit()' called by reflection, if exist. This allows removing initialization checks, i.e. for all buffer validations. - BuildStaticGLInfo: Can handle new GL header structure, i.e. one CPP extenstion block incl. define + funcs. - GLJavaMethodBindingEmitter: Simply print the - No GL duplication due to new intermediate interfaces, see below - OO lineare inheritance (Added GL2ES3, GL3ES3 and GL4ES3 intemediates): GLBase - GL - GL2ES2 - GLES2 GLBase - GL - GL2ES2 - GL2GL3 - [ GL2, GL3 ] GLBase - GL - GL2ES2 - GL2ES3 - GL3ES3 - [ GL3 ] GLBase - GL - GL2ES2 - GL2ES3 - GL3ES3 - GL4ES3 - [ GLES3, GL4, .. ] - Expose 'usable' intermediate interfaces GL3ES3 and GL4ES3 in GLBase/GLProfile/GLContext via is*() and get*(). - GLContext*: - isGL3core() is true if [ GL4, GL3, GLES3 ] (added GLES3) - Added ctxProfile argument to allow handling ES versions: - getMaxMajor(..), getMaxMinor(..), isValidGLVersion(..) and decrementGLVersion(..) - mapGLVersions(..) prepared for ES ARB/KHR validation - EGLContext checks ES3 (via old ctx's GL_VERSION) - ExtensionAvailabilityCache adds GL_ES_Version_X_Y for ES. - Prelim tests w/ Mesa 9.1.3 GL Version 3.0 (ES profile, ES2 compat, ES3 compat, FBO, hardware) - OpenGL ES 3.0 Mesa 9.1.3 [GL 3.0.0, vendor 9.1.3 (Mesa 9.1.3)] - TODO: - Use KHR_create_context in EGLContext.createContextARBImpl(..) - More tests (Mobile, ..) +++ Misc: - GLContext*: - Complete glAllocateMemoryNV w/ glFreeMemoryNV.
* TestMainVersionGLWindowNEWT: Add 'manual' version get/print for verification.Sven Gothel2013-07-102-2/+8
|
* TestGLWindows02NEWTAnimated: Give animator a chance to become paused after ↵Sven Gothel2013-07-102-2/+9
| | | | pulling GLAD from it.
* junit.run.newt.awt: Exclude SWTSven Gothel2013-07-101-0/+1
|
* TestScreenMode00cNEWT: Enable testing of UITestCase.resetXRandRIfX11() only ↵Sven Gothel2013-07-101-1/+3
| | | | in manual mode.
* UITestCase.resetXRandRIfX11(): Iterate through all outputs and sets the ↵Sven Gothel2013-07-094-24/+169
| | | | | | preferred mode and normal rotation using RandR 1.3 .. using commandline processing w/ 'xrandr'
* PNGJ: Bump to git sha1 a0b1101ba2d37de39428ed55c8189502e24a3125 of ↵Sven Gothel2013-07-094-1338/+1440
| | | | | | https://code.google.com/p/pngj Part 2/2 - Started w/ 51427b92a2d9cd3fc619854e26536c9c6adad947 Missed rejected patches ..
* Refine 95ffc6f73b460a24e8f117060de1d80ec85e4c25: Reset X11 XRandR only for ↵Sven Gothel2013-07-0910-1/+17
| | | | MonitorMode test cases reducing impact.
* NEWT MonitorMode test cases: Add X11 XRandR commandline reset to ↵Sven Gothel2013-07-096-4/+280
| | | | | | | | UITestCase's AfterClass if available (X11). In case a MonitorMode test case fails, force XRandR reset '-s 0 -o normal' at end of test class if X11. Unit Test: TestScreenMode00cNEWT
* NEWT EDTUtil: Exposed weakness of EDTUtil usage due to usage of ↵Sven Gothel2013-07-0928-294/+434
| | | | | | | | | | | | | | | | | | | | | WeakReference, i.e. higher retention of Display instances. - WeakReference Change 99479bf3197cde8e89c5b499d135417863d521c7 - Refines commits: feb352145af1643a57eaae99c0342e6f5e0f2a2e dec4b02fe4b93028c85de6a56b6af79601042d6e 433e3914324b90c910b018bb7d9d80e814c67123 Reviews EDTUtil API and usage: - less confusing / more determined EDTUtil API - EDTUtil's thread shall only be reset and started when required (-> lazy) - EDTUtil's instance in Display shall be handled thread safe w/o extra blocking - EDTUtil's implementations (Default, SWT and AWT) shall be aligned / similar as much as possible Further note: SWT's EDTUtil (NewtCanvasSWT) shall not use a reused Display instance due to it's custom SWTEDTUtil. We may need to disable the ref. cache if custom EDTUtil (setEDTUtil) is intended (used).
* Fix SWTEDTUtil regression caused by ↵Sven Gothel2013-07-056-42/+70
| | | | | | | | | | | | dec4b02fe4b93028c85de6a56b6af79601042d6e, ensuring EDT is running for reused Display instances. Refine EDTUtil semantics of: - reset() - waitUntilStopped() AWTEDTUtil/SWTEDTUtil: Properly signal !running when shutdown SWTEDTUtil: Take SWT isDisposed() into account.
* NEWT Display.create: If reusing an existing instance, ensure EDT is running!Sven Gothel2013-07-053-9/+25
|
* Fix Bug 765: Add glMultiDrawElementsBaseVertex ; Restrict PointerBuffer ↵Sven Gothel2013-07-052-2/+115
| | | | | | | | | | | | | | | | | usage to NIO only. Code snippet for PointerBuffer usage: Code snippet .. how to use PointerBuffer in this case: IntBuffer indices = Buffers.newDirectIntBuffer(count); indices.put(...); ... indices.rewind(); final PointerBuffer indicesP = PointerBuffer.allocateDirect(1); indicesP.referenceBuffer(indices); -> glMultiDrawElementsBaseVertex(int mode, IntBuffer count, int type, PointerBuffer indices, int primcount, IntBuffer basevertex)
* Fix Bug 763 and Bug 764: Proper GL gluegen for glCreateShaderProgramv and ↵Sven Gothel2013-07-051-4/+18
| | | | | | | | | | | | | | | | GL3's glDraw*Elements*. glCreateShaderProgramv: Param idx 2 should be String[] All following draw commands are buffer object types, i.e. shall accept memory buffer reference (VBO/VAO/..): +BufferObjectKind Element glDrawElementsBaseVertex +BufferObjectKind Element glDrawElementsInstanced +BufferObjectKind Element glDrawElementsInstancedBaseInstance +BufferObjectKind Element glDrawElementsInstancedBaseVertex +BufferObjectKind Element glDrawElementsInstancedBaseVertexBaseInstance BufferObjectKind Element glDrawRangeElements +BufferObjectKind Element glDrawRangeElementsBaseVertex
* Workaround NVidia driver 325.8 returning 4.3-compat for any compat request, ↵Sven Gothel2013-07-051-3/+10
| | | | | | i.e. allowing 4.3 and 4.4 for GL version validation. 4.4 b/c it may come up soon.
* TestScreenMode*: Stop animator before destroying window - be nice.Sven Gothel2013-07-052-0/+4
|
* GLWindow.shutdownRenderingAction: If on anim thread, simply stop ourselves ↵Sven Gothel2013-07-051-10/+15
| | | | (non-blocking)
* TestScreenMode02bNEWT: Don't assert/wait for Screen shutdown if mode change ↵Sven Gothel2013-07-051-1/+0
| | | | already failed
* NEWT WindowImpl: Add little GCed / windowList-size stats at addWindow2ListSven Gothel2013-07-041-1/+5
|
* DefaultEDTUtil: If EDT is not started and task is null and wait intended, ↵Sven Gothel2013-07-041-1/+4
| | | | use nullTask ensuring to wait until EDT started.
* Fix NPE - Regression of commit 99479bf3197cde8e89c5b499d135417863d521c7Sven Gothel2013-07-041-1/+3
|
* NEWT: Using WeakReferences for global cache of Display, Screen and Window ↵Sven Gothel2013-07-047-86/+169
| | | | | | | | | | | | | instances; Removing ref. at API destroy() is wrong ; Allow GC to clear .. - Removing ref. at API destroy() is wrong - Since all instances can be recreated, removing ref at destroy() is simply wrong. - Keep weak references until GC collects, i.e. user does not claim them anymore. - Safe for Display, since it holds it's EDT thread. - Window/Screen .. if user abandons reference .. nothing we can do here. - Allow GC to clear .. No need to hold ref loonger than user.
* TestDisplayLifecycle02NEWT: Renable testDisplayCreate02 (my fault)Sven Gothel2013-07-041-1/+1
|
* TestDisplayLifecycle02NEWT: Ensure window/screen has been destroyed before ↵Sven Gothel2013-07-041-3/+19
| | | | validating active count.
* TestScreenMode*: At destruction, properly wait until Window and Screen ↵Sven Gothel2013-07-046-14/+30
| | | | (after mode change) has been destroyed - avoiding conflicts w/ other tests (off thread destruction)
* TestScreenMode02bNEWT: Full MonitorMode w/ rotation failure - Expected on ↵Sven Gothel2013-07-041-0/+5
| | | | some platforms (NV driver) - Tolerated for now
* Refine 9c7ab101cf5261db3ef6160c0aa1906ffcce188b: Don't print extensions .. ↵Sven Gothel2013-07-046-13/+21
| | | | too much
* TestScreenMode*: Be more verbose setting screen mode.Sven Gothel2013-07-046-55/+110
|
* X11Window FullScreen: Toggle _NET_WM_BYPASS_COMPOSITOR not only for ABOVE .. ↵Sven Gothel2013-07-042-4/+4
| | | | but also for FULLSCREEN WM state.
* Revisit Bug 770 and Bug 771: Only use FLAG_IS_FULLSCREEN_SPAN if required; ↵Sven Gothel2013-07-0410-84/+142
| | | | | | | | | | | | | At MonitoMode change, reset fullscreen if FLAG_IS_FULLSCREEN_SPAN is supported. - Bug 770: Only use FLAG_IS_FULLSCREEN_SPAN if required - If X11 WindowDriver _and_ virtual-screen-size > fullscreenViewport, - else we still use _NET_WM_STATE_FULLSCREEN on X11! - Bug 771: At MonitoMode change, reset fullscreen if FLAG_IS_FULLSCREEN_SPAN is supported - Since we may still use _NET_WM_STATE_FULLSCREEN on X11: - Pause fullscreen at monitorModeChangeNotify(..) - Resume fullscreen at monitorModeChanged(..)
* TestScreenMode* Cleanup (reset)Sven Gothel2013-07-049-86/+129
| | | | | | | | | | - TestScreenMode01aNEWT and TestScreenMode01dNEWT test auto-reset (destroying last Screen ref. reinstates orig MonitorMode) - Other tests do manual reset. - Add ant test target 'junit.run.newt.monitormode' to test only monitor-mode / fullscreen cases
* Use JoglVersion.getGLStrings(..) in 'famous' tests, removes redundancy .. ↵Sven Gothel2013-07-046-40/+12
| | | | Gears* RedSquare*
* Remove deprecated methods.Sven Gothel2013-07-048-74/+15
| | | | | | | | | - Quaternion.isEmpty() - Texture.dispose(GL) - GLContext.getGLVersionMajor() / ..Minor() - GLContextImpl.bindPbufferToTexture() / releasePbufferFromTexture() - MouseEvent.getWheelRotation() -
* GLRendererQuirks.GLNonCompliant: Recoverd a bit of known knowledge .. in API ↵Sven Gothel2013-07-031-0/+8
| | | | doc.
* Merge remote-tracking branch 'mraynsford/mark'Sven Gothel2013-07-032-20/+10
|\
| * Remove redundant check around Mesa quirk (that check has already occurred ↵Mark Raynsford2013-07-031-9/+6
| | | | | | | | via isDriverMesa)
| * Merge branch 'master' of ssh://jogamp.org/srv/scm/jogl into markMark Raynsford2013-07-0337-257/+690
| |\
| * | Bug 759:Mark Raynsford2013-07-022-13/+6
| | | | | | | | | | | | | | | | | | | | | Currently, the compatibility context on Mesa >= 9.1.3 seems to be very broken. The core contexts, however, seem to be quite stable. This commit both reduces and widens the scope of the current Mesa quirk to include only Compatibility contexts on OpenGL > 3 || 3.n where n >= 1.
* | | Revise commit 4c34f5980bddcdc84b10cb3bcbb96b365b9d471e (Bug 767): TAB, BS ↵Sven Gothel2013-07-037-40/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | and CR/ENTER are printable for NEWT KeyEvent and font handling. Fix regression. - Original behavior was treating CR/ENTER them as printable, lets keep it this way. - KeyEvent: Query these 3 whitespaces upfront, no need to incl. them in 'nonPrintableKeys'. - Fix regression: Native VK_ENTER was not change in commit 4c34f5980bddcdc84b10cb3bcbb96b365b9d471e.
* | | WindowImpl.consumeKeyEvent: Reduce DEBUG println and show println after ↵Sven Gothel2013-07-032-8/+10
| |/ |/| | | | | propagating event to show whether it has been consumed.
* | GLJPanel: Add remark about FBO / GLSL texture-unit usage in API doc; Add API ↵Sven Gothel2013-07-031-4/+61
| | | | | | | | | | | | | | entry to set/get texture unit (default 0). Allowing a user to set a specific texture-unit and to query the used texture-unit, allows one to avoid a collision w/ own texture programming .. i.e. removes the burden to setup all params etc.
* | Texture: Add 'Order of Texture Commansa' and their semantics to API doc .. ↵Sven Gothel2013-07-031-12/+27
| | | | | | | | due to lot's of confusions.
* | GLContext: Rename 2-digit VersionNumber statics aligning w/ all 3-digit ↵Sven Gothel2013-07-035-16/+16
| | | | | | | | names, e.g. Version31 -> Version310. ; Trim GLVersionNumber string.
* | Bug 724: Testing PNG Transparency / Fixing GLSL Shader of test case: Mix ↵Sven Gothel2013-07-037-14/+259
| | | | | | | | texture alpha properly (pre-multiply), due to lack of ALPHA_BLENDING.
* | PNGJ: Bump to git sha1 a0b1101ba2d37de39428ed55c8189502e24a3125 of ↵Sven Gothel2013-07-0220-157/+263
| | | | | | | | https://code.google.com/p/pngj/
* | Bug 724: Add manual unit test, incr. PNGImage verbosity.Sven Gothel2013-07-024-11/+16
| |
* | Fix Bug 767: TAB + BS are considered 'printable' - Compromise of 'editor' ↵Sven Gothel2013-07-021-9/+14
|/ | | | view and 'font-definition' view. ENTER not. Fix ENTER code: 0xa -> 0xd !
* Bug 734: Bug could not be reproduced w/ TestScreenMode02bNEWT, however on ↵Sven Gothel2013-07-024-6/+244
| | | | | | | some X11 tests systems, artifacts could be experienced. X11 Test systems w/ AMD fglrx and Intel Mesa, the rotated height is cut off .. probably due to bug of driver code and rotation.
* Fix Bug 768 / NEWT Windows: Use layout dependent keySymbol, if independent ↵Sven Gothel2013-07-021-0/+3
| | | | keyCode is 0.
* Fix Bug 770 and 771Sven Gothel2013-07-026-221/+265
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug 770: X11Window.c: - Request focus _before_ enabling EWMH flags (fullscreen or above) after resize and temporary invisibility. This actually allows us to keep the focus after resize and repositioning! - Set _NET_WM_BYPASS_COMPOSITOR implicit analog to _NET_WM_STATE_FLAG_ABOVE - Clean up _NET_WM_* flag names, avoiding name space collisions, i.e. adding FLAG! - Remove dead _NET_WM_STATE setting via direct window property (not working anyways) - Remove dead code: FS_GRAB_KEYBOARD X11/WindowDriver.java: - Enable _NET_WM_STATE_FLAG_ABOVE temporarily if FLAG_IS_FULLSCREEN && !FLAG_IS_ALWAYSONTOP - Override focusChanged(..) to react on focus lost/gained in case of temporarily enabled _NET_WM_STATE_FLAG_ABOVE. If focus is lost, disable _NET_WM_STATE_FLAG_ABOVE, otherwise re-enable it. WindowImpl.java: - FullscreenAction.run: Always use 'FLAG_IS_FULLSCREEN_SPAN' +++ Bug 771: WindowImpl.java: - Keep fullscreenMonitors and fullscreenUseMainMonitor values intact, allowing them to be tracked. Remove duplicates in FullscreenAction class. - MonitorModeListenerImpl.monitorModeChanged: Add fullscreen path: If the changed monitor is part of fullscreenMonitors, recalculate the viewport union and reset position and fullscreen-size. - MonitorModeListenerImpl: Try to regain focus after successful mode change.