summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Simplify Animator* Synchronization: Remove barrier 'stateSync' and favor ↵Sven Gothel2013-11-105-362/+260
| | | | | | | | | | | | simple 'synchronized' on Animator for field-get, which is already used in most methods Utilizing a 2nd synchronization object 'stateSync' besides the main sync object, Animator itself, is hard to maintain. It's performance advantages for querying states ae questionable and may even introduce bugs. Use synchronization on Animator instance for all field read/write access. Fix unsynchronized write access of 'animThread' in Animator.MainLoop.run().
* Tests: Add com/jogamp/opengl/test/junit/jogl/acore/anim Animator test packageSven Gothel2013-11-096-68/+654
|
* TestPerf001GLJPanelInit02AWT: Same size for !overlap and overlapSven Gothel2013-11-091-6/+4
|
* TestPerf001GLJPanelInit02AWT: Add overlapping test ..Sven Gothel2013-11-082-6/+40
|
* Android ES3 Movie Demos: Add workaround for: P0003: Extension ↵Sven Gothel2013-11-075-205/+229
| | | | | | | | | 'GL_OES_EGL_image_external' not supported + // Bug on Nexus 10, ES3 - Android 4.3, where + // GL_OES_EGL_image_external extension directive leads to a failure _with_ '#version 300 es' ! + // P0003: Extension 'GL_OES_EGL_image_external' not supported + preludeGLSLVersion = false;
* GLJPanel: Don't ctor DefaultGLCapabilitiesChooser() if null chooser is ↵Sven Gothel2013-11-071-1/+1
| | | | passed, this allows native GLCaps/config query to follow fast-path
* WindowsWGLGraphicsConfigurationFactory: Fix chosenPFDID -> recommendedIndex ↵Sven Gothel2013-11-071-20/+33
| | | | | | | | (!skipCapsChooser mode) Regression of commit cf1163fc88976e7087d3a17524a49139e35a4708: Commit dropped seeking recommendedIndex of chosenPFDID within cleaned-up availableCaps when in !skipCapsChooser mode.
* WGLGLCapabilities: Print pfdID as decimal (convention)Sven Gothel2013-11-071-1/+1
|
* TestTiledPrintingGearsSwingAWT: Cleanup whitespacesSven Gothel2013-11-071-26/+26
|
* GLJPanel: Remove redundant !isInitialized [double-]check in ↵Sven Gothel2013-11-071-33/+29
| | | | initializeBackendImpl(), already tested before function entry!
* Bug 898: Apply best efford on Animator operation's finishLifecycleAction(..) ↵Sven Gothel2013-11-073-20/+172
| | | | in !blocking mode, i.e. notifyAll() if waitCondition holds and test again
* Android Newt[Debug|Version]Activity: Separate both activities (testing odd ↵Sven Gothel2013-11-073-86/+130
| | | | reusing of app)
* Bug 890 - Fix GLES3 Profile Mapping, i.e. GL2ES2 queries and mappings; ↵Sven Gothel2013-11-0719-73/+117
| | | | | | | | | | | | | | | | | | | | Validate isGLES*() usage and definition ; Add and use ShaderCode.createExtensionDirective(..) - Fix GLES3 Profile Mapping, i.e. GL2ES2 queries and mappings - GLProfile: Add GL2ES2 -> ES3 mapping - EGLContext: Reuqest major '3' for ES3 - EGLGLCapabilities/EGLGraphicsConfiguration: Consider EGLExt.EGL_OPENGL_ES3_BIT_KHR - Validate isGLES*() usage and definition - Fix BuildComposablePipeline's isGLES() code - For GLSL related queries use isGLES() instead of isGLES2(), which would exclude ES3 - Add and use ShaderCode.createExtensionDirective(..) - Supporting creating GLSL extension directives while reusing strings from GLExtensions - Minor cleanup of GLContextImpl.setGLFuncAvail(..)
* Android NEWT*Activity: Request GL2ES2 instead of GLES2 (Be aware of ES3)Sven Gothel2013-11-076-23/+23
|
* Android: Cleanup Movie*ActivityLauncher* propertiesSven Gothel2013-11-078-110/+115
|
* Android: Add NewtDebugActivitySven Gothel2013-11-076-53/+130
|
* TestPerf001GLWindowInit03NEWT: Don't run !reuse Display - Crash on ↵Sven Gothel2013-11-061-1/+6
| | | | Windows/ATI driver ..
* Bug 894 - GLJPanel: Expose 'initializeBackend(boolean offthread)' allowing ↵Sven Gothel2013-11-067-73/+436
| | | | | | user to trigger backend initialization eagerly and offthread (optional, !WINDOWS) TestPerf001GLJPanelInit02AWT compares all variations: no-gl, glcanvas, gljpanel and gljpanel-initMT (offthread)
* Bug 894 - GLDrawableFactory* [dummy|offscreen] Surface creation w/ own ↵Sven Gothel2013-11-066-37/+41
| | | | device does _not_ require locking on global shared device.
* NativeWindow *GraphicsDevice: Align constructors to simplify call hierarchy ↵Sven Gothel2013-11-062-21/+5
| | | | for analysis.
* NEWT Window: Expose 'setVisible(boolean wait, boolean visible)' allowing ↵Sven Gothel2013-11-063-16/+33
| | | | applications to not block until window becomes visible.
* Bug 888 / Bug 891- Enhance GLCapabilities-Query: Refine unit testsSven Gothel2013-11-055-19/+30
|
* JNI Code: Call DeleteLocalRef(..) manually.Sven Gothel2013-11-052-0/+2
|
* Bug 888 / Bug 891- Enhance GLCapabilities-Query: Add raw perf. test case ↵Sven Gothel2013-11-055-10/+245
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'choose' only and 'full' offscreen-drawable w/ context test01ChooseOnly exposes X11/GLX perf. enhancement of 613e33ee8ffc1f2b9c5db1e1b5bb5253a159ed6d: PRE CHANGE: ++++ UITestCase.setUp: com.jogamp.opengl.test.junit.jogl.perf.TestPerf001RawInit00NEWT - test01ChooseOnly INIT START #0 Run: 0, count 50/50 raw: choose 503/t 10.06/1 INIT END #0 INIT START #1 Run: 1, count 50/50 raw: choose 384/t 7.68/1 INIT END #1 INIT START #2 Run: 2, count 50/50 raw: choose 344/t 6.88/1 INIT END #2 POST CHANGE: ++++ UITestCase.setUp: com.jogamp.opengl.test.junit.jogl.perf.TestPerf001RawInit00NEWT - test01ChooseOnly INIT START #0 Run: 0, count 50/50 raw: choose 49/t 0.98/1 INIT END #0 INIT START #1 Run: 1, count 50/50 raw: choose 43/t 0.86/1 INIT END #1 INIT START #2 Run: 2, count 50/50 raw: choose 38/t 0.76/1 INIT END #2
* Bug 888 / Bug 891- Enhance GLCapabilities-Query: Add perf. test caseSven Gothel2013-11-055-7/+490
| | | | | | | | | Even though the test case itself cannot show the proper initialization time, it can be used w/ an attached profiler i.e. Test w/ 50 X11GLXGraphicsConfigurationFactory.chooseGraphicsConfigurationFBConfig() invocations: - pre change: 1.708 ms - post change: 650 ms (613e33ee8ffc1f2b9c5db1e1b5bb5253a159ed6d)
* Test DumpGLInfo: Dump caps list and extenionsSven Gothel2013-11-051-6/+6
|
* Bug 888 - Validate CPU Runtime Performance: Only use one HashMap to collect ↵Sven Gothel2013-11-051-30/+38
| | | | | | | | unified gl- and glx-extension strings. - HashMap is more efficient than HashSet - No need to use sub HashSet's .. we can use global HashMap. 'Loosing' duplicate GLX entries due to GL duplicates is acceptable.
* Bug 888 / Bug 891 - Enhance GLCapabilities-Query: Apply changes of commit ↵Sven Gothel2013-11-0514-136/+276
| | | | | | | 613e33ee8ffc1f2b9c5db1e1b5bb5253a159ed6d to EGL and WGL. Note: WGL config query is already performed as a bulk operation. Note: OSX does not perform such queries.
* Bug 888 - Validate CPU Runtime Performance: ↵Sven Gothel2013-11-046-61/+206
| | | | | | | | | | | | | | | | | | | | X11GLXGraphicsConfiguration.GLXFBConfig2GLCapabilities(..) X11GLXGraphicsConfiguration.GLXFBConfig2GLCapabilities(..) ran over all FB configs and for each it grabbed native config values separately. Fetching them in bulk mode saves around 7% of this function's cost. Also reuse XRenderPictFormat instance for 'XRenderDirectFormat XRenderFindVisualFormat(..)' call, saving a few NIO creation cycles w/ StructAccessor. Biggest savior is X11GLXGraphicsConfigurationFactory.chooseGraphicsConfigurationFBConfig()'s fast path w/o chooser and usable 1st FBConfig. Here we only issue 'GLXFBConfig2GLCapabilities(..)' on the first valid entry. Test w/ 50 X11GLXGraphicsConfigurationFactory.chooseGraphicsConfigurationFBConfig() invocations: - pre change: 1.708 ms - post change: 650 ms Time is no spent almost solely on native glXChooseFBConfig (546ms).
* GLContextImpl: Move sharedContextHandle check to makeCurrentWithinLock(..) ↵Sven Gothel2013-11-029-93/+58
| | | | and let it fail there instead of within impl. class, only pass the handle - simplifies and removes redundancy.
* GLRendererQuirks: Add GLSharedContextBuggy ('Mesa Intel 9.2.1' and ↵v2.1.2Sven Gothel2013-11-012-8/+63
| | | | | | | 'Hisilicon Immersion.16') Note: Even though Mesa Intel driver crashes w/ heavy multithreading (Bug 873), it works well w/ our multithreaded GLMediaPlayer.
* Bug 885 - GLMediaPlayer: Allow single threaded mode - Especially where ↵Sven Gothel2013-11-017-112/+194
| | | | | | | | | | | | multiple media textures (Android) or shared GL context are not usable. - GLMediaPlayer: - TEXTURE_COUNT_MIN is the new minimum: '1' - i.e. no multithreading, single threaded player - TEXTURE_COUNT_DEFAULT is '4' - multithreaded - GLMediaPlayerImpl: - Add Single threaded mode, but perform initStreamImpl(..) off-thread. -
* Bug 852: Add unit test TestCPUSourcingAPINEWT validating CPU sourcing, i.e. ↵Sven Gothel2013-11-013-5/+228
| | | | expecting exception w/ core profile!
* Clarify Bug 692: Unbinding a VAO does _not_ imply unbinding of set VBOs ↵Sven Gothel2013-11-016-53/+164
| | | | | | | | | | | | | | | | | | | | | (spec doesn't mention it, and it does not show results w/ CPU sourced rendering) ; Clean up GLBuffer*Tracker + * Note that VAO initialization does unbind the VBO .. since otherwise they are still bound + * and the CPU_SRC test will fail!<br/> + * The OpenGL spec does not mention that unbinding a VAO will also unbind the bound VBOs + * during their setup.<br/> + * Local tests here on NV and AMD proprietary driver resulted in <i>no ourput image</i> + * when not unbinding said VBOs before the CPU_SRC tests.<br/> + * Hence Bug 692 Comment 5 is invalid, i.e. <https://jogamp.org/bugzilla/show_bug.cgi?id=692#c5>, + * and we should throw an exception to give users a hint! Leaving uncommented code in GLBufferStateTracker .. +++ - Clean up GLBuffer*Tracker - Use final - Use static final keyNotFound value.
* Bug 881 - Add 'Application-Name' in Jar's manifest to avoid Java6 NPEs ..Sven Gothel2013-11-016-0/+6
|
* Bug 882 - Crash on OSX when closing NEWT window - Fix: Release NewtMacWindow ↵Sven Gothel2013-11-013-8/+164
| | | | | | | | | | manually in close0() Release NewtMacWindow manually in close0() - Mark [NewtMacWindow setReleasedWhenClosed: NO] in init0(..) - Release NewtMacWindow manually in close0(..) Check pointer args in close0(..)
* Bug 882 - Crash on OSX when closing NEWT window - Check JavaVM and JNIEnv ↵Sven Gothel2013-11-011-11/+43
| | | | handles before usage in NewtMacWindow (Not the culprit .. but more safe)
* EGLDrawableFactory.createDummySurfaceImpl: fix caps to pbuffer - since we do ↵Sven Gothel2013-10-312-1/+2
| | | | | | | use EGLDummyUpstreamSurfaceHook .. a pbuffer offscreen fixOffscreenBitOnly(..) may yield FBO queries / chosing .. usually doesn't matter (on devices here), but not accurate.
* GLDrawableFactory: createDummy*(..) Pass GLCapabilitiesImmutable + ↵Sven Gothel2013-10-317-22/+47
| | | | GLCapabilitiesChooser instead of GLProfile, allowing using same or similar caps - important for sharing ctx
* TestBinary16NOUI: Remove hardship from test node - Disable 'verbose' avoids ↵Sven Gothel2013-10-312-51/+82
| | | | 'out of memory' and saves most of the time; Also run test exclusively.
* AndroidGLMediaPlayerAPI14: Avoid possible NPEsSven Gothel2013-10-311-44/+50
|
* Bug 754 - Remove Ubuntu fonts from jogl-all.jar, provide it separately to ↵Sven Gothel2013-10-316-16/+160
| | | | | | | | | | | | | | | reduce footprint for the masses. Remove the ubuntu fonts from atomic/jogl-util-graph.jar and hence all derivated 'all' JAR files. The Android jar files still contain the fonts as assets! atomic/jogl-util-graph-fonts-p0.jar contains the fonts and is either referenced by: - UbuntuFontLoader: Using class based Jar URI derivation using TempJarCache to [down]load and extract the jar file (similar to native lib-loading). - Explicitly via traditional classpath, see jnlp-files/jogl-applet-runner-newt-GraphTextDemo01b-napplet.html The pack200 jogl-all.jar file is now below 1MB
* Fix Bug 878 - JAWTWindow's HierarchyListener doesn't set component visible ↵Sven Gothel2013-10-312-11/+190
| | | | | | | | | | | | | | | | | | | (again) on 'addNotify(..)' - GLCanvas in JtabbedPane disappear Regression of commit e33e6374e0be0454f7e9732b5f897f84dbc3c4dc (Fix for Bug 729 and Bug 849) ! +++ JAWTWindow's HierarchyListener doesn't set component visible (again) on 'addNotify(..)' It only renders the component invisible after removeNotify() which is performed implicit anyways .. Case java.awt.event.HierarchyEvent.DISPLAYABILITY_CHANGED shall perform similar as our java.awt.event.HierarchyEvent.SHOWING_CHANGED impl. +++ Tested on Gnu/Linux X11 and OSX incl. re-test Bug 729 and Bug 849 unit tests.
* Test Rename: Add Bug 729 / Bug 849 to Bug 816 Unit Test Names - Allowing a ↵Sven Gothel2013-10-315-12/+14
| | | | better unit test lookup
* Rename Binary*Test -> TestBinary*NOUI to get picked up by build-test.xml's ↵Sven Gothel2013-10-313-3/+3
| | | | junit.run.noui
* Merge remote-tracking branch 'mraynsford/mark'Sven Gothel2013-10-316-0/+1672
|\
| * Add functions for converting to and from binary16 half-precision floating ↵Mark Raynsford2013-10-316-0/+1672
| | | | | | | | point values. Derived from http://mvn.io7m.com/ieee754b16, of which I am the original author.
* | TestSharedContextVBOES2NEWT1: Fix copy/paste (mistakenly used sharedGears), ↵Sven Gothel2013-10-312-3/+5
|/ | | | add println; GearsES: Add init/shared state to 'toString()'
* Fix Unit Test Regression (commit 9f2a9df0a4b7093925c8854b37fba053469a4b35): ↵Sven Gothel2013-10-302-22/+20
| | | | GearsObject used getGL2ES2(), which is not allowed.
* Add GLES1Impl 'finalizeInit()' to avoid a 'catched exception roundtrip'Sven Gothel2013-10-301-0/+3
|