summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* GLGLuegen: Enhance debug/analysis code and API commentsSven Gothel2012-02-154-41/+94
| | | | | | | | | | | | | - Use Gluegen.debug() setting - BuildStaticGLInfo.getExtension(name) returns a set of all extension where name occurs - GLConfiguration.shouldIgnoreExtension() reflects all extensions, inclusive the renames one and gives a warning in case the symbol belongs to multiple extension - in debug mode! - API comment: List all extensions, incl. the one from the renames, this allows having a proper list to which extensions the define/function belongs to.
* OpenGL 4.2 functional support (GL header sync)Sven Gothel2012-02-145-35/+1009
| | | | | | | | | Note: EXT_shader_image_load_store is dropped to favor ARB_shader_image_load_store Since no new (4.2) extension still does not require >= 3.1 all extensions are visible within the common profile GL2GL3. Please review!
* 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-144-87/+55
| | | | and debug context.
* Fix ExtensionAvailabilityCache ; Enhance caching.Sven Gothel2012-02-1412-123/+129
| | | | | | | | | | | | | | | | | | | ExtensionAvailabilityCache regression / enhancement: - Set context version (w/o string) before caching. This is required since we query the ctx version. Regression from 4011e70eed8c88aee0fcd051a50ab3f15bb94f68 - Remove GLContextImpl state. Only use the passed value at initialization. - Defined initialization, due to the 'new' cache/instantiation logic Remove redundant GLContext profile bits: - CTX_OPTION_ANY: implicit if !CTX_OPTION_FORWARD - CTX_IMPL_ACCEL_HARD: implicit if !CTX_IMPL_ACCEL_SOFT Cache key (ProcAddressTable, Extensions): - Mask out GLContext.CTX_OPTION_DEBUG | GLContext.CTX_IMPL_ES2_COMPAT, since they don't influence the cached values.
* Enhance ExtensionAvailabilityCache ; Expose extension count in GLContext ↵Sven Gothel2012-02-139-117/+199
| | | | | | | | | | | | | | (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-135-17/+59
|
* OSX/Java7 JAWT/JAWTUtil: Support OSX/Java7 CALayer only JAWT mode; Cleanup ↵Sven Gothel2012-02-133-38/+76
| | | | | | | | | JAWT/JAWTUtil - Support OSX/Java7 CALayer only JAWT mode - Cleanup JAWT/JAWTUtil while moving elaborated logic and data to JAWTUtil, leave generated JAWT simple.
* MacOSXCGLDrawableFactory: Fix typo 'Applet' -> 'Apple' for APPLE_float_pixelsSven Gothel2012-02-132-8/+15
| | | | - be verbose about features in DEBUG mode (RECT, NPOT, APPLE_float_pixels)
* Java2D OGLPipeline: Disabled for Max OSXSven Gothel2012-02-131-2/+12
|
* Fix JOGL GLContextImpl ProcAddressTable and Extension CachingSven Gothel2012-02-136-39/+29
| | | | | | | | | Bug caused using wrong extension cache and probably the wrong procAddress table. - do not reuse local field value if not cached - issue resetState() after each createContextARBMapVersionsAvailable(..) query - remove cache entry for extension (copy/paste bug) - resetState() shall clean platform extProcAddressTable in specializations
* Reduce GL* interface 'extends' to direct base interface.Sven Gothel2012-02-1310-30/+30
|
* OpenGL ES/EGL OverhaulSven Gothel2012-02-1340-371/+949
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
* NEWT: Fix deadlock w/ AWT parent (NewtCanvasAWT) - focus window @ creation ↵Sven Gothel2012-02-081-3/+7
| | | | after releasing parent lock (AWT lock).
* javac - setup encoding to UTF-8Sven Gothel2012-01-238-8/+29
|
* GLDynamicLibraryBundleInfo: Remove 'nativewindow_x11' preload lib ↵Sven Gothel2012-01-234-14/+2
| | | | (implicitly loaded by NativeWindowFactory)
* Minor edit: Suppress USE_WGLVersion_Of_5WGLGDIFuncSet message when default.Sven Gothel2012-01-231-1/+3
|
* Bug 551 validation.Sven Gothel2012-01-234-5/+158
| | | | | | 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.
* Use glFlush() in favor of glFinish() for bug 548 and bug 533 fix - due to ↵Sven Gothel2012-01-231-4/+4
| | | | | | | | | | performance issues. Chris reported a better performance using glFlush() instead of glFinish() while maintaining stability in respect to the NV bug on OSX 10.6.8. Even though this is at release() where we would assume a passed GL sync point (swap buffers) the driver may involve a whole I/O roundtrip .. well.
* Merge branch 'master' of github.com:sgothel/joglSven Gothel2012-01-221-2/+15
|\
| * Merge pull request #43 from krisher/masterSven Gothel2012-01-191-2/+15
| |\ | | | | | | Fixed SWT threading policy violation when using worker mode for JOGL threading.
| | * Fix for use of SWT GLCanvas in headless mode (or with threading in worker ↵Dan Krisher2012-01-111-2/+15
| | | | | | | | | | | | mode). See discussion in Bugzilla #484
* | | Add verification script for compiled-in Java version; Add osx 32bit test script.Sven Gothel2012-01-222-0/+34
| | |
* | | Fix Bug 516 (Determine Java Version) / Fix OS X 10.5 linkage (weak ↵Sven Gothel2012-01-2210-39/+102
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | framework, NEWT) - Fix Bug 516 (Determine Java Version). See gluegen: 64639b805a32338385421f168e12c1ef7f749d00 - Fix OS X 10.5 linkage (weak framework, NEWT) - Use weak framework linkage for all modules and frameworks: AppKit, QuartzCore, Cocoa, OpenGL, JavaNativeFoundation - NEWT: Handle NS exception while calling OS X >= 10.6 only methods: - 'setAllowsConcurrentViewDrawing()' - 'setCanDrawConcurrently()'
* | test scriptsSven Gothel2012-01-192-5/+27
| |
* | NEWT/OSX: Window close (release) on main thread, ensuring no 'main thread' ↵Sven Gothel2012-01-191-1/+2
| | | | | | | | event is pending
* | NativeWindow/OSX: Fix Offscreen CALayer SIGSEGV @ Shutdown (Cleanup referencing)Sven Gothel2012-01-194-27/+62
| | | | | | | | | | | | | | | | | | | | - 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-188-46/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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!
* | NEWT/X11: Fix Insets determination for undecorated / child window.Sven Gothel2012-01-181-53/+86
| | | | | | | | | | | | | | | | | | | | | | | | Due to latest changes, a bug is disposed where the native 'updateInsets' attempts to determine the window insets by it's parent window (fall-back). The latter works only in case of a top-level window. Adding query to the WM whether the window is decorated (top-level) or not. Attempt to use the fall-back parent window method in case of a decorated window. This whole inset code based on the parent window is probably completly redundant, nevertheless we keep it alive until further notice.
* | NEWT: Use accessors to read/write postion and size, allowing better trace ↵Sven Gothel2012-01-189-132/+124
| | | | | | | | | | | | | | | | | | and controlling autoPosition; Restrict more fields to private where possible. WindowImpl's position and size is made private and accessed by it's getter and setter (definePosition/defineSize). This allows better tracing of value changes and ensures autoPosition is set to false.
* | NEWT/OSX: Cleanup 'javaWindowObject' @ window-close & avoid NPE; Disable ↵Sven Gothel2012-01-184-16/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lostFocus (resignKeyWindow) when in fullscreen mode; Ignore invalid key release/type events. - Cleanup 'javaWindowObject' @ window-close & avoid NPE Ensure that the direct window.close() impl. removes the global reference and that all use cases check for NULL pointer. - Disable lostFocus (resignKeyWindow) when in fullscreen mode Similar to the X11 KDE bug, OS X delivers a lostFocus event which we prevent from being processed in fullscreen mode. - Ignore invalid key release/type events In case of offscreen/onscreen switching (fullscreen/reparenting) via destroy/create, the still pressed key would be send to the new window and repeat the action (key typed). State validation discards the double processing.
* | Newt: Add fullscreen for offscreen windows (currently OSX only); Focus ↵Sven Gothel2012-01-182-98/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | handling; Misc. - Add fullscreen for offscreen windows (currently OSX only), - Focus handling - requestFocus() @ creation - remove requestFocus() delay in setFullscreen() since focus loss in fullscreen mode is caused by a KDE 'misbehavior' in general. See X11Common.c FS_GRAB_KEYBOARD, an experimental focus loss prevention, disabled due to it's behavioral impact of removing the ability to use WM keyboard commands (task switcher). - Remove pending events waiting longer than TO (1200ms)
* | NEWT/OSX: Cleanup NewtMacWindow header (sort, fix and add declarations); ↵Sven Gothel2012-01-173-123/+129
| | | | | | | | Remove warning of unused var
* | NEWTWindow Focus: Skip requestFocus() if already owning focus; ↵Sven Gothel2012-01-162-4/+10
| | | | | | | | | | | | | | | | | | | | | | setFullscreen() requests focus 'later'. We shall rely on the focus state, hence we can skip 'requestFocus()' if we already own the focus. This allows a fast-path especially when called from native code (mouse click). Request focus 'later' on setFullscreen() allowing native WM to complete event handling, this is required especially on X11 to guarantee a focused fullscreen window.
* | NewtCanvasAWT: Handle 'lost' child and fullscreen case.Sven Gothel2012-01-162-31/+62
| | | | | | | | | | | | | | NewtCanvasAWT may loose it's parent role (reparenting). In such cases it shall no more handle focus events. Focus handling is also no more desired in case the child is in fullscreen mode.
* | NEWT childWindow: No autoPosition, use 0/0 as default.Sven Gothel2012-01-161-4/+10
| |
* | NEWT/OSX CALayer Animation Fix: Use '[layer removeAllAnimations]', '[layer ↵Sven Gothel2012-01-162-11/+5
| | | | | | | | removeAnimationForKey: kCAOnOrderIn, kCAOnOrderOut, kCATransition]' doesn't work
* | NEWT/OSX Pointer Invisible Fix: 10.6.* responder declarations & test ↵Sven Gothel2012-01-164-11/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | focus/isInside On OS X 10.6.8 the lack of responder method declarations (mouseEntered, ..) lead to ignore the impl. callbacks. 'isMouseInside' cannot rely on 'mouseExit'/'mouseEntered' when setMouseInvisible() is being called, deduce it manually. focusLost == mouseExit (OS X behavior), hence focusGained needs to set mouse invisible/visible in case it's requested.
* | Minor Edits: Add GL_RENDERER to JoglVersion dump; Fix typo in PMVMatrix.Sven Gothel2012-01-142-4/+6
| |
* | test scriptsSven Gothel2012-01-143-17/+65
| |
* | NEWT/OSX Performance Fix: Cache CGDisplayScreenSize() result, since it's ↵Sven Gothel2012-01-133-8/+81
| | | | | | | | | | | | | | ridiculous slow Each call to CGDisplayScreenSize() took around 6ms (5ms .. 20ms, avrg 6ms) which added up to ~2s for ~400 Screen modes.
* | OSX Fix: Catch releaseImpl's glFinish() exception (DebugGL); Make ↵Sven Gothel2012-01-134-12/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | GLContext.release's setCurrent(null) exception prone. Catch releaseImpl's glFinish() exception (DebugGL) glGetError() after glFinish() (eg. w/ debug pipeline) produced unknown error 0x0506 on OS X (10.7.2 NV). Make GLContext.release's setCurrent(null) exception prone Call setCurrent(null) in finalizer block to ensure it's 'released' out of the TLS even when an exception is being thrown. Make MacOSX Shared Resources 'destroy' more error prone (catch exceptions)
* | OSX Fixes: bug 548 (another regression: pixelfmt), ctx creation failure -> ↵Sven Gothel2012-01-136-34/+39
|/ | | | | | | | | | no exception, - bug 548: Another regression: pixelfmt failed for 10.6.7 and/or software OpenGL - enforcing accelerated leads to no pixelformat, - using the NSOpenGLView defaultPixelFormat causes to SIGSEGV - ctx creation failure shall just lead to return null, no immediate exception
* Add 'AWT' in JOGL's SWT GLCanvas test case, since impl. still needs AWT ↵Sven Gothel2012-01-093-3/+11
| | | | threading (-> FIXME)
* Better unit test names for SWTSven Gothel2012-01-093-6/+6
|
* Add JOGL SWT GLCanvas unit testSven Gothel2012-01-093-4/+189
|
* minor edits / clarify SWT test descripionSven Gothel2012-01-093-5/+10
|