aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/com/jogamp/opengl
Commit message (Collapse)AuthorAgeFilesLines
* Adding unit test to validate proper X11 Display closing (Bug 565)Sven Gothel2012-03-192-0/+197
| | | | | Modified Daniel Balog's unit tests, covering GLWindow (NEWT), GLCanvas (AWT) and GLPBuffer to fail immediatly when more than 1 open X11 Display is open.
* Adapt to GlueGen IO resource changes URL -> URLConnection for effeciency; ↵Sven Gothel2012-03-174-5/+5
| | | | | | | | | | API doc enhancements; Minor edits - API doc added/enhanced: - ShaderCode - ShaderUtil - NewtBaseActivity: Clarify method / var names
* Android Tests: Using JogAmp's ActivityLauncher (gluegen commit: ↵Sven Gothel2012-03-149-0/+683
| | | | | | | | 0cfc7847c58b51c9a26b50d905b592d1fc4c8578) - Remove jogl.android-launcher.apk in favor of generic jogamp.android-launcher.apk - All Android test code resides in jogl.test.apk (initial launcher and delegated 'real' one)
* Minor changes: DefaultGLCapabilitiesChooser + GearsES1/2 and Android demosSven Gothel2012-03-1011-49/+66
| | | | | | | | | | DefaultGLCapabilitiesChooser: Move 'static' values to final static. GearsES1/2: Handle width>=height case -> flip frustum. Android: Enable fps trace dump after visibility, use default RGBA_8888, Explicitly don't use swapInterval (-1). NEWTGearsES2TransActivity: Gather Screen size and set demo view 2/3 of it.
* NativeWindow public-spec to public-impl reorg ↵Sven Gothel2012-03-062-2/+2
| | | | (javax.media.nativewindow.<impl> -> com.jogamp.nativewindow.<impl>) 2/3
* Test*ES2Newt: Add shutdown w/ type to internal loop testSven Gothel2012-03-052-4/+35
|
* Fix GLWindow/SWT-GLCanvas: set context synchronized ; Misc ChangesSven Gothel2012-03-051-1/+1
| | | | | | | | | | | | Fix GLWindow/SWT-GLCanvas: set context synchronized - GLWindow fix commit a0177c8a1048683e5d43f4712f8f9e37091d4e85. Removed explicit recursive surface lock requires recursive context locking, otherwise concurrent rendering fails. The implicit recursive surface lock within context makeCurrent() is applied after the context lock itself. Misc Changes - Fix TestPBufferDeadlockAWT, which was not using the unique profile string reference
* Complete LOCK_SURFACE_CHANGED ; Introduce NativeVisualID (Daisy chaining ↵Sven Gothel2012-03-058-64/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *GraphicsConfiguration) ; ... NativeVisualID: New interface for Capabilities implementations, allowing retrieval of the native 'visual id'. Impl. by WGL, X11 and EGL. JAWTWindow.lockSurface() - Detect surfaceHandle change an return LOCK_SURFACE_CHANGED (see: LOCK_SURFACE_CHANGED) EGLDrawable: - Impl. updateHandle() (see: LOCK_SURFACE_CHANGED) - use NativeVisualID for EGLGraphicsConfiguration selection to respect a native 'visual id' EGLContext.createContextImpl: Use NIO for attributes EGLDisplayUtil: Enhance eglGetDisplay w/ DEBUG code and NativeSurface / EGL_DEFAULT_DISPLAY variation EGL, XGL, WGL GraphicsConfiguration: - Don't set ALPHA_SIZE and STENCIL_SIZE if not requested in attribute list for context creation. - toString() shows proper identification, eg.: egl, x11, win32 .. EGLGraphicsConfigurationFactory: Daisy chain GraphicsConfigurationFactory for native device type (currently only X11). This allows choosing the EGLGraphicsConfiguration and hence native visual id based on EGL when invoked via the factory model (generic). In case EGLGraphicsConfigurationFactory is not suitable or doesn't produce a native visual id, it falls back the the original one. X11AWTGraphicsConfigurationFactory and X11Window: Use generic NativeVisualID which allows EGLGraphicsConfiguration implicit. *GraphicsConfiguration's DEBUG flag is pushed up to DefaultGraphicsConfiguration LOCK_SURFACE_CHANGED: - commit 006e9fe402a0a47b45fd2c4af51296aef895e8b5 - commit a0177c8a1048683e5d43f4712f8f9e37091d4e85 Impact: - Fixes EGL/GLES (wrapper/native) usage on X11, proper Xvisual selection w/ EGL - Fixes EGL/GLES (wrapper/native) usage on Windows, ANGLE works w/ NEWT and forced ES2
* TestGearsES2NEWT: Remove redundant GLES2 testSven Gothel2012-02-291-11/+0
|
* CrossTest: Add AWT Unit-Test. Unit-Tests: Refine GLProfile request where we ↵Sven Gothel2012-02-2924-114/+102
| | | | favor a more detailed request than getDefault().
* Fix minor test issuesSven Gothel2012-02-273-33/+11
|
* Fix TestGearsGLJPanelAWTBug450 (regression of commit ↵Sven Gothel2012-02-261-1/+1
| | | | 397665ff472d83809a028e4f4a5d332294617623)
* UITestCase: Gracely ignore unsupported tests (ES2) ; Ignore all ↵Sven Gothel2012-02-2518-40/+230
| | | | Shared-Context and more 'known' test cases for ES.
* Min. Graph Parameter type change: texSize/width/.. for multipass-renderer: ↵Sven Gothel2012-02-258-27/+24
| | | | | | | | | | int -> int[] "texWidth desired texture width for multipass-rendering. The actual used texture-width is written back when mp rendering is enabled, otherwise the store is untouched." This allows the 'backend' to correct the texSize, ie in regards to GL_MAX_TEXTURE_SIZE .. etc. Without this write-back, it would re-create the FBO for every frame.
* TestInitConcurrentNEWT: Reduce max threads (16 -> 8) on ARM, also use vsync ↵Sven Gothel2012-02-241-2/+7
| | | | to reduce load
* Surface2File: Use .tga to write pixels, which allows RGB and RGBASven Gothel2012-02-241-1/+1
|
* Fix MultisampleDemo01 -> MultisampleDemoES1 (proper profile, remove ↵Sven Gothel2012-02-243-31/+52
| | | | immediate mode for ES1) ; Fix GLES1Impl.glOrtho()
* Add GLProfile.getGL2GL3() meta profile getter completing getGL2ES[12]()Sven Gothel2012-02-244-8/+26
|
* GLProfile.GL2GL3: Use GL2GL3 profile (required for this test) and check it's ↵Sven Gothel2012-02-231-8/+7
| | | | availability.
* Fine tune unit tests for ES platformsSven Gothel2012-02-2213-49/+134
|
* DEBUG Output: More thread-names to drawable/context lifecycle; Remove ↵Sven Gothel2012-02-221-1/+1
| | | | massive '!!!' occurence
* TestGPUMemSec01NEWT ES fix: No RGB read pixel available on ES platformSven Gothel2012-02-221-11/+65
|
* Test: UITestCase.get*Name() takes 'String separator' as argument.Sven Gothel2012-02-224-15/+15
|
* TextureIO (TGA/NetPbm): Allow GL_BGR[A] and use GL_BGRA if available ; Fix ↵Sven Gothel2012-02-222-0/+208
| | | | | | | | | | | | | NetPbmTextureWriter ; Added unit tests - Allow GL_BGR[A] usage (TGA / NetPbm) - Use GL_BGRA if available (TGA), utilize GLContext.isTextureFormatBGRA8888Available() - Fix NetPbmTextureWriter - Maintain 'auto' magic mode for 'spi' role in TextureIO (was overwritten) - Use FileChannel for nio buffer streaming, instead of array copy
* Test (graph) fixes for ESSven Gothel2012-02-227-52/+108
| | | | | | - MSAATool: Catch gl-errors on glIsEnabled(..) queries - Call MSAATool.dump(..) in base class GPURendererListenerBase01
* FontSet (graph): get*(..) throws IOException - Proper passing and handling ↵Sven Gothel2012-02-223-39/+83
| | | | of IOException
* API Change [GLProfile/GLContext]: Add notion of hardware acceleration in ↵Sven Gothel2012-02-202-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | GLProfile.get<Profile>() methods. We need to distinguish between software and hardware accelerated OpenGL profiles to allow choosing the proper profiles [default, GL2ES1, GL2ES2, ..] on platforms where both, software and hardware implementations exist (GL, GLES2, ..). Where no preference is being requested, hardware acceleration is favored: GLProfile.getDefault() GLProfile.getGL2ES1() GLProfile.getGL2ES2() Some method signatures needed to change GLProfile: getMaxProgrammable(AbstractGraphicsDevice device) -> getMaxProgrammable(AbstractGraphicsDevice device, boolean favorHardwareRasterizer) GLProfile adds: isHardwareRasterizer() Determination whether a hardware acceleration is being used or not is extended in GLContextImpl by querying the current context's GL_RENDERER string. If the latter contains 'software' (case insensitive) it is not hardware accelerated. At least this works w/ newer Mesa3D impl, where GLX_SLOW_CONFIG is not set!
* Fix commit fb7165e690546359dee92dd60b04be69f141c87e; Clarify ↵Sven Gothel2012-02-204-22/+23
| | | | ShaderState.attachShaderProgram(..)
* Cleanup ShaderCode/Program/StateSven Gothel2012-02-193-6/+3
| | | | | | - Add multiple sources for create ShaderCode - Add Shaderstate attachShaderProgram w/ enable flag - Clarify doc
* Fix TestTransformFeedbackVaryingsBug407NEWT (2): Use getMaxProgrammable() ↵Sven Gothel2012-02-141-1/+1
| | | | for profile, allowing test on OSX (only has GL3 core profile at max).
* Fix TestTransformFeedbackVaryingsBug407NEWT regression: Get default profile ↵Sven Gothel2012-02-141-2/+1
| | | | (not GL4) and check. Ooops.
* Simplify TestTransformFeedbackVaryingsBug407NEWT: Use 'in thread' ctx flow ↵Sven Gothel2012-02-141-81/+50
| | | | and debug context.
* Enhance ExtensionAvailabilityCache ; Expose extension count in GLContext ↵Sven Gothel2012-02-131-11/+49
| | | | | | | | | | | | | | (and clean up) - GLContext - Expose isFunctionAvailable(), isExtensionAvailable(), getPlatformExtensionCount(), getGLExtensionCount() - sort methods a bit ExtensionAvailabilityCache: - Favor StringBuilder instead of StringBuffer (faster) - Resuse set's - Hold dedicated counts of extensions, platform and GL
* Test: Remove dedicated mobile profile test, will be included in ↵Sven Gothel2012-02-131-93/+0
| | | | TestGLProfile01NEWT
* OSX CALayer fix for Java7 (force CALayer to 0/0, always remove all animations)Sven Gothel2012-02-132-9/+38
|
* OpenGL ES/EGL OverhaulSven Gothel2012-02-135-35/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - GLProfile properly detects native EGL/ES1/ES2 on the 'desktop' device factory. This allows usage of Mesa's EGL/ES or Imageon's PVR emulation, etc. - GLProfile drops getDefaultDesktopDevice() and getDefaultEGLDevice() since both are aligned by getDefaultDevice(). - Fix GL_ARB_ES2_compatibility detection and utilize resulting isGLES2Compatible() where possible. This allows ES2 compatible desktop profiles to use core ES2 functionality (glShaderBinary() .. etc) even with a GL2ES2 desktop implementation. - EGLDrawable: If createSurface(..) fails (BAD_NATIVE_WINDOW) w/ surfaceHandle it uses windowHandle if available and differs. This allows the ANGLE impl. to work. - Properly order of EGL/ES library lookup: ES2: libGLESv2.so.2, libGLESv2.so, GLES20, GLESv2_CM EGL: libEGL.so.1, libEGL.so, EGL - *DynamicLookupHelper reference will be null if it's library is not complete (all tool libs, all glue libs and a ProcAddressFunc lookup function - if named). - Enhance GL version string (incl. ES2 compatible, hw/sw, ..) - GLBase: Fix docs and remove redundancies - Prepared (disabled) DesktopES2DynamicLibraryBundleInfo to be used for a real EGL/ES2 implementation within the desktop GL lib (AMD). Sadly it currenly crashed within eglGetDisplay(EGL_DEFAULT_DISPLAY), hence it's disabled.
* Bug 551 validation.Sven Gothel2012-01-231-0/+150
| | | | | | Turns out, that the culprit (at least on my Win7 NVidia machine) is the runtime property "-Dsun.java2d.opengl=false". When _not_ setting this prop. the test runs fine.
* NativeWindow/OSX: Fix Offscreen CALayer SIGSEGV @ Shutdown (Cleanup referencing)Sven Gothel2012-01-191-1/+1
| | | | | | | | | | - allocate CALayer w/ invoking init: [[CALayer alloc] init] - attach CALayer to JAWTSurfaceLayer w/o autorelease: surfaceLayers.layer = layer; // already incr. retain count - destroy CALayer @ JAWTWindow destroy
* UI Test AWTRobotUtil's toFront*(): retry requestFocus() within loop.Sven Gothel2012-01-191-11/+14
|
* UI Test / AWTRobotUtil: Relax and fix focus testsSven Gothel2012-01-185-39/+70
| | | | | | | | | | | | | | | | | - toFront*(..) uses the AWT Window focus state, instead of our AWTWindowFocusAdapter, which removes false negatives. Often the focus is already hold on the Window where no focus change will be recognized by our AWTWindowFocusAdapter. - assertRequestFocusAndWait(..) recovers from lack of focus-lost event (if received focus-gained) and only dumps the case - returns success. - Since assertRequestFocusAndWait(..) implicitly tests the passed FocusAdapter and relaxes the constraints (see above) no more post-call assertions on the FocusAdapter is being performed (removed). - assertRequestFocusAndWait(..) is no more used on AWT Window or Frame, see 1st note above!
* Add 'AWT' in JOGL's SWT GLCanvas test case, since impl. still needs AWT ↵Sven Gothel2012-01-091-2/+6
| | | | threading (-> FIXME)
* Better unit test names for SWTSven Gothel2012-01-093-6/+6
|
* Add JOGL SWT GLCanvas unit testSven Gothel2012-01-091-0/+178
|
* minor edits / clarify SWT test descripionSven Gothel2012-01-092-4/+10
|
* TestAWTCardLayoutAnimatorStartStopBug532: Minor edit / Uncomment Windows ↵Sven Gothel2012-01-091-4/+4
| | | | hdc/hwnd dump.
* TestAWTCardLayoutAnimatorStartStopBug532: Refine, add 'continue' mode, ..Sven Gothel2012-01-081-29/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previous commit 098398c2a9145447da5314eed9792b3738c2d515 cleaned up and fixed context/drawable lock/unlock for makeCurrent()/release()/destroy() and consistency is looks much better now in this regard. However, on Intel HD 3000 / Windows7, our AnimatorControl start/stop still let the 2nd switch to GLCanvas within the CardPanel not showing rendering results. One interesting artefact though: 1st switch 2 GLCanvas (rendering visible): *** hdc 0x2f010ec5, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1] *** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1] *** hdc 0x2f010ec5, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1] *** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1] -> alternating HDC's 2nd switch 2 GLCanvas (rendering _not_ visible): *** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1] *** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1] *** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1] *** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1] -> fixed HDC Maybe this is a hint for what is going wrong in JAWTWindow locking, which aquires the frame's HDC. Verifying the recursive lock shows proper lock/unlock actions though.
* Fix TestAWTCardLayoutAnimatorStartStopBug532 pause/resume testSven Gothel2012-01-061-1/+4
|
* Added Unit-Test for Bug 532 to test Animator behavior w/ CardLayout and ↵Sven Gothel2012-01-061-0/+173
| | | | diff. Platforms
* Screen: width/height reflects virtual Screen size (-> big-desktop)Sven Gothel2011-12-232-18/+1
| | | | | | | | | | Add updateScreenSize() utilizing new getNativeScreenSizeImpl() to set/update the virtual Screen size. This replaces setScreenSize() where the ScreenMode dimension was being used which doesn't reflect the virtual size. ScreenMode Test Impact: We cannot assertEquals(sm.getRotatedWidth(), screen.getWidth()), since ScreenMode size != virtual size.
* NEWT Multi-Monitor 1/2: Allow negative window position; Validate Screen-Index;Sven Gothel2011-12-232-35/+112
| | | | | | | | | | | | | | | | - Allow negative window position, using flag 'autoPosition' to mark a custom user position. This impacts Windows and X11 window creation code, which supports native auto positioning. - Screen: Validate Screen-Index. In 'big-desktop' mode the Screen index is always 0. This is true for X11 with Xinerama enabled and MS-Windows in general. Platforms w/o multiple Screen support always use index 0. - X11: Separate X11 Display/Screen/Window native code in their respective C files - Windows test scripts: use '%*' to catch all arguments - Add missing (c)