aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Bug 1150 - Fix GLContextImpl.createImpl(..) NoARBCreateContext and '!ARB GL ↵Sven Gothel2015-03-2616-933/+1340
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | >= 3.1' issues This fix solves the described issues below. Test cases added for onscreen and offscreen drawables, the latter includes Window's bitmap special case. GLContextImpl.createImpl(..): Fix NoARBCreateContext and '!ARB GL >= 3.1' issues: ================================================================================= GLContextImpl.createImpl(..) implementation of X11GLXContext and WindowsWGLContext wrongly handles the case of NoARBCreateContext. Here the !ARB created context shall allow GL >= 3.1, since ARB context creation is disabled and 'no mix' can occur. The latter was already intended due to failure criteris 'createContextARBTried' in: if( glCaps.getGLProfile().isGL3() && createContextARBTried ) { failure("createImpl ctx !ARB but ARB is used, profile > GL2 requested"); } Further, WindowsWGLContext treats glCaps.isBitmap() within the 'createContextARBTried=true' case, but it shall never tried using the ARB context creation method. This even lead to the issue of creating a 1.1 context, but having the ProcAddressTable being still on the GL > 2 cached table. This is due to 'setGLFunctionAvailability(..)'. Ensure 'setGLFunctionAvailability(..)' is functional ==================================================== Caller shall either throws an exception if method returns false or issues a state reset. In case 'setGLFunctionAvailability(..)' throws an exception itself, the states are no issue.
* Bug 1149 - Replacing PCPP w/ JCPP: Update HowToBuild.htmlSven Gothel2015-03-241-2/+8
|
* Adapt to new JNI header location within GlueGen, completes commit ↵Sven Gothel2015-03-243-16/+22
| | | | | | 9fb45e70730198fa7be940c5b48dd5c59bf04b93 JNI header moved to GlueGen via commit 532b8df474976b474f0cf4eb2d93588ded2ad3fe
* Remove all JNI header, as they were unified in GlueGen commit ↵Sven Gothel2015-03-2414-2587/+0
| | | | 532b8df474976b474f0cf4eb2d93588ded2ad3fe
* Bug 1148 - OSX MonitorDevice: Use unique and native deviceID instead of indexSven Gothel2015-03-219-153/+160
| | | | | | | | | | | | | Adopt to bug 1147, commit 2c88b6dfd4eb7e2cd9a50fa48e08ecafc980931a. Using the native unique deviceID makes monitor identification more robust. This also allows us simplify displayID -> NSScreen-idx -> MonitorDevice into displayID -> MonitorDevice and to survive a primary monitor change.
* Bump oculusvr-sdk - Bug 1116 - Add OculusVR DK2 Support - Part-1 (DK2 on DK1 ↵Sven Gothel2015-03-211-0/+0
| | | | SDK w/o Eye Tracker)
* Bug 1116 - Add OculusVR DK2 Support - Part-1 (DK2 on DK1 SDK w/o Eye Tracker)Sven Gothel2015-03-2118-377/+761
| | | | | | | | | | | | | | | | | - DK2's screen on X11 (at least) starts in rotated mode, detect and apply MonitorDevice rotation via NEWT's OpenGL StereoDeviceUtil - Move StereoDevice.Config -> StereoDeviceConfig - Expose generic StereoDevice to public: GenericStereoDeviceConfig + GenericStereoDeviceFactory - GenericStereoDeviceFactory exposes public GenericStereoDeviceConfig creation for mono, sbs-stereo and lense-sbs-stereo w/ diff. parameters. - Pass eye surface/texture size for each eye from device to renderer, instead of assuming unified values. - Unify GenericStereoDevice.createRenderer(..) and OVRStereoDevice.createRenderer(..) code
* Bug 1147 - Fix XRandR13 Usage: Rotate / Change-Mode, use unique CRTC/Mode ↵Sven Gothel2015-03-2018-232/+773
| | | | | | | | | | | | | | | | | | | | | ids, .. RandR 1.3 XRRSetCrtcConfig related: - X11RandR13 now sets the new screen size via XRRSetScreenSize(..) - X11RandR13 now propagates RRScreenChangeNotify events via XRRUpdateConfiguration(event). Hence reporting virtual desktop size now. - X11RandR13 now disables the CRTC before XRRSetCrtcConfig(..) to avoid invalid configuration (see spec)! RandR 1.3 General: - Uses unique id named instead of unstable index for modes and CRTC. This allows proper identification even for 'swizzled' devices.
* Fix API Doc: GLBufferObjectTracker / GLBufferStorageSven Gothel2015-03-122-12/+22
|
* Resolve RenameJavaSymbol issues (GLUgl2 and CGL) using GLEmitter (-> ↵v2.3.0Sven Gothel2015-03-115-29/+16
| | | | | | | | | | | | | | | | DelegateImplementation) due to new GlueGen Semantics GlueGen would usually use the original native C method name for proc-address or direct call. GLEmitter however uses the renamed method name, assuming it is shorter and resulted from a 'RenameExtensionIntoCore' directive. GLUgl2 native usage was broken since 2.2.4 GLUgl2 and CGL use RenameJavaSymbol w/ the intention of delegation, hence resolve the issue using the new DelegateImplementation directive which preserves the original function name for the native call.
* Bug 1135: GLBufferObjectTracker for GL 4.5: Separate GL 4.5 DSA and ↵Sven Gothel2015-03-117-49/+193
| | | | | | | | | GL_EXT_direct_state_access We cannot subsume/rename even parts of GL_EXT_direct_state_access, since it is explcit stated in the spec that no assumption shall be made in regards compatibility and interaction. Hence we add both, GL 4.5 DSA and GL_EXT_direct_state_access.
* Bug 1135: Complete GLBufferObjectTracker for GL 4.5 using GlueGen's ↵Sven Gothel2015-03-1116-597/+230
| | | | | | | | | | | | DelegateImplementation/ReturnsOpaque (Bug 1144) Using GlueGen's new DelegateImplementation/ReturnsOpaque feature (Bug 1144) allows us to drop manually C implementation stubs, while simply delegating into the renamed private generated variant using the manual stub. Completed glBufferStorage and glNamedBufferStorage for GL 4.4 while subsuming DSA's of GL 4.5 and GL_EXT_direct_state_access (only the single functions, otherwise extension is not compatible).
* Bug 1135: Bump [html] doc to include GL 4.5, ES 3.1 and EGL [ 1.0 .. 1.5 ]Sven Gothel2015-03-113-31/+35
|
* Bug 1144: Adapt to GlueGen commit 405512e1c8a2e24834b0d057f0b020b4a0f4c25bSven Gothel2015-03-115-21/+42
|
* MonitorDevice.toString: More brief 'options' ..Sven Gothel2015-03-091-1/+1
|
* Bug 1142 - NEWT: Add support to retrieve the primary MonitorDeviceSven Gothel2015-03-0923-112/+282
| | | | | | | | | | | | | | | | | Support added for - Windows - X11 XRandR 1.3 - OSX Note: Our whole MonitorMode association handling is currently _not_ dynamic. - only on Windows we actually use native unique ID, which might not change (adapter and monitor idx) - On OSX and X11 we simply use indices, but if monitor setup changes - they refer to different instances. In case it is desired to cover dynamic monitor setup change, we need to address this issue in a new bug entry.
* TestScreenMode02aNEWT: Incr. wait period, for some reason one older test ↵Sven Gothel2015-03-091-1/+1
| | | | machine (Linux/Ubuntu) doesn't rotate screen reliably.
* Fix regression of commit 559ecad2a2387ba0aa34ce9e35ca8a2c5a31e655: ↵Sven Gothel2015-03-091-0/+1
| | | | IDX_MONITOR_DEVICE_VIEWPORT needed to be updated!
* Bug 1135 - (Re-)Include GL header for in generated native code, allowing ↵Sven Gothel2015-03-0943-118/+172
| | | | | | | | | | | | | | | | | | | | | 'ProcAddrTypedef' validation Include GL header for in generated native code, since we need the public 'ProcAddrTypedef' to be validated against the GlueGen generated variant by the c-compiler. The 'ProcAddrTypedef' validation semantic has been introduced in GlueGen w/ commit 10060b091b76bee35246c5165d49ab546ebc4e37. Originally the GL header were always included, however, JOGL commit 0d59bd4c655ef9a27f127000848aae7f07f240ae removed the inclusion to simplify handling GL extension collisions mitigated via gl*-supplement.h. The latter produces 'redefine' errors via c-compiler. The 'redefine' issue above is resolved by conditional code (#ifdef __GLUEGEN__ ..) in glext-supplement.h.
* Bug 1134 - Use ASTLocationTag in LoggingSven Gothel2015-03-082-6/+6
| | | | Adapt to GlueGen commit da909f84dc8421052c92491baa7dd90e1c78dc8f
* Merge remote-tracking branch 'origin/master'Sven Gothel2015-03-061-0/+101
|\
| * Merge pull request #86 from android-native-libraries/masterSven Gothel2015-02-141-0/+101
| |\ | | | | | | adding support for Android x86 platforms
| | * added support for Android x86 platformsXavier Hallade2015-01-081-0/+101
| | |
* | | Bump to oculusvr-sdk cleanupSven Gothel2015-03-061-0/+0
| | |
* | | Bug 1135 - Cleanup: Class ownership change of static GL enumeratesSven Gothel2015-03-0612-58/+56
| | | | | | | | | | | | GLBufferStateTracker now also supports GL4.GL_QUERY_BUFFER
* | | Bug 1135 - Cleanup: Fix native code WarningSven Gothel2015-03-068-14/+41
| | |
* | | Bug 1135 - GL/GLContext: Add isGLES31Compatible()Sven Gothel2015-03-064-17/+80
| | |
* | | Bug 1135 - Cleanup: Remove GL_NV_vertex_array_range extension support in ↵Sven Gothel2015-03-066-88/+4
| | | | | | | | | | | | GLContext
* | | Bug 1135 - Change JOGL's GlueGen Plugin to support EGL 1.5 , ES 3.1 and GL 4.5Sven Gothel2015-03-065-200/+345
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - BuildStaticGLInfo - Needs to allow 3rd if-def block in header files - GLConfiguration Changes - 'GLHeader' -> 'GLSemHeader' + 'GLDocHeader' This allows us to provide all header files, exposing all cross-references (extensions and aliases) for our API doc. However, inclusions/exclusion semantics shall only operate on the actual header files used for code generation. - All AliasedSymbol's extensions must be covered by 'IgnoredExtension' to be excluded. - Sync w/ GlueGen commit 5f66fafec303de7d7904a499fefb8e3d023b61ae
* | | Bug 1135 - Add supplemental (overriding) GL header, fixing collisions of ↵Sven Gothel2015-03-063-0/+448
| | | | | | | | | | | | certain extensions
* | | Bug 1135 - Change all GlueGen config files, supporting EGL 1.5 , ES 3.1 and ↵Sven Gothel2015-03-0675-380/+1284
| | | | | | | | | | | | GL 4.5
* | | Bug 1135 - Fix other GL header and windows-system headerSven Gothel2015-03-0610-17/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - GL/gl.h: remove added gl-types.h include, which causes 'redefined' warnings or errors. - GLES/glext.h: Use vanilla 'typedef void* GLeglImageOES' - opengl/gl-types.h: Complete all GL types - Fix windows.h and all its related header
* | | Bug 1135 - Support EGL 1.5 , ES 3.1 and GL 4.5 - Part 3: Minimal patch of ↵Sven Gothel2015-03-062-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vanilla GL headers (Fix last patch) Last patch of vanilla header, commit 47713518e3317b2621ee7ff1bbf8223fbce7fdc4, added gl-types.h include, which causes 'redefined' warnings or errors. Removed. - GL/glcorearb.h 2015-02-02 - #include "gl-types.h" - GL/glext.h 2015-02-02 - #include "gl-types.h"
* | | Bug 1135 - Support EGL 1.5 , ES 3.1 and GL 4.5 - Part 2: Minimal patch of ↵Sven Gothel2015-03-054-125/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vanilla GL headers New vanilla GL headers were dropped w/ commit 6b05c6919f3df20ce0b55d5ac7dda7b14068568e. - egl/EGL/eglplatform.h: 2013-10-09 +generic void pointer for EGLNative*Type - khr/KHR/khrplatform.h: 2013-09-30 +using 'our' GlueGen stdint types, hence reduced - GL/glcorearb.h: 2015-02-02 +using 'our' stdint- and platform types - GL/glext.h: 2015-02-02 +using 'our' stdint- and platform types
* | | Bug 1135 - Support EGL 1.5 , ES 3.1 and GL 4.5 - Part 1: Update header to ↵Sven Gothel2015-02-2615-5491/+7443
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | latest version - khr/KHR/khrplatform.h: 2013-09-30 vanilla - opengl/GLES3/khrplatform.h *removed* -> khr/KHR/khrplatform.h - egl/EGL/egl.h: 2015-01-02 vanilla - egl/EGL/eglext.h: 2015-01-02 vanilla - egl/EGL/eglplatform.h: 2013-10-09 vanilla - opengl/GLES2/gl2.h: 2015-01-22 vanilla - opengl/GLES2/gl2ext.h 2015-01-26 vanilla - opengl/GLES2/gl2platform.h 2013-10-02 vanilla - opengl/GLES3/gl3.h *removed* -> opengl/GLES3/gl31.h - opengl/GLES3/gl31.h 2015-01-22 vanilla - opengl/GLES3/gl3platform.h 2013-10-02 vanilla - opengl/GL/glcorearb.h 2015-02-02 vanilla - opengl/GL/glext.h 2015-02-02 vanilla - opengl/GL/glxext.h 2014-09-18 vanilla - opengl/GL/wglext.h 2014-08-11 vanilla
* | | Bug 1130 - Add Mapping from AWT Component -> NEWT [Screen, MonitorDevice]Sven Gothel2015-02-178-38/+276
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mapping AWT Component -> NEWT [Screen, MonitorDevice] shall allow generic AWT applications to utilize NEWT's MonitorDevice information like physical monitor-size and DPI. - AWT-Component -> NEWT-Display: - NewtFactoryAWT.createDisplay - AWT-Component -> NEWT-Screen: - NewtFactoryAWT.createScreen - AWT-Component -> NEWT-MonitorMode: - NewtFactoryAWT.getMonitorDevice - NewtFactoryAWT.getMonitorDevice - If OSX, utilizing OSX's AWT Component -> MonitorDevice-Index mapping - Otherwise using the coverage to identify MonitorDevice See TestGearsES2GLJPanelAWT 'GetPixelScale', demonstrating the mapping while pressing 'p' (cached MonitorMode) and pressing SHIFT-'p' (non-cached MonitorMode).
* | | NativeWindow: Refactor getLocationOnScreenSafe(..) and ↵Sven Gothel2015-02-173-51/+60
| | | | | | | | | | | | getLocationOnScreenNonBlocking(..) from JAWTWindow -> AWTMisc (to be reused)
* | | MonitorDevice: Add 'throws IllegalStateException' for ↵Sven Gothel2015-02-172-8/+13
| | | | | | | | | | | | [query|set]CurrentMode(..) if !screen.isNativeValid()
* | | NativeWindowFactory: Add FIXME tag regarding Bug 973 (Needs service provider ↵Sven Gothel2015-02-171-10/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | interface (SPI) for TK dependent implementation) .. Also: - add 'AbstractGraphicsDevice createDevice(final String nwt, ..)' variant for explicit TK type passing. - 'AbstractGraphicsDevice createDevice(..)' uses DefaultGraphicsDevice for generic TK types, but TYPE_EGL and TYPE_AWT
* | | Fix commit 559ecad2a2387ba0aa34ce9e35ca8a2c5a31e655 ↵Sven Gothel2015-02-171-1/+0
| | | | | | | | | | | | | | | | | | | | | (ArrayHashSet<MonitorDevice> instance erroneously added) Revert useless ArrayHashSet<MonitorDevice> instance erroneously added in commit 559ecad2a2387ba0aa34ce9e35ca8a2c5a31e655.
* | | NEWT MonitorDevice: Identify cloned devices (fully covered) ; Windows: ↵Sven Gothel2015-02-1720-97/+177
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Iterate-over and identify all adapter:monitor. (Bug 1129) - Identify cloned devices (fully covered) - MonitorDevice gets 'isCloned()' to identify whether it is a cloned device, i.e. fully covered by another monitor. This detection may happen natively but will always performed platform agnostic. - getMainMonitor(..) now exclude 'cloned' devices - Windows: Iterate-over and identify all adapter:monitor - Since we also list cloned monitor, we need to iterate over all adapter and all it's monitor-devices. - The native monitor-id is now defined as: ( adapter-idx << 8 ) | monitor-idx. - Bug 1129 <- listed under this bug entry for convenience
* | | Fix typo: PixelFormat.Composition.[componenCount() -> componentCount()]Sven Gothel2015-02-165-15/+15
| | | | | | | | | | | | .. thx to Julien Gouesse's review.
* | | Bug 1129 - NEWT MonitorDevice's physical size on Windows must be read via EDIDSven Gothel2015-02-1610-90/+645
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Windows, one must read the monitor's EDID data as stored in the registry, no 'simple' API works otherwise. The proper way requires utilizing the Windows Setup-API. This code is inspired by Ofek Shilon's code and blog post: <http://ofekshilon.com/2014/06/19/reading-specific-monitor-dimensions/> See: function 'NewtEDID_GetMonitorSizeFromEDIDByModelName' In contrast to Ofek's code, function 'NewtEDID_GetMonitorSizeFromEDIDByDevice' uses the proper link from DISPLAY_DEVICE.DeviceID -> SP_DEVICE_INTERFACE_DETAIL_DATA.DevicePath, where DISPLAY_DEVICE.DeviceID is the monitor's enumeration via: EnumDisplayDevices(adapterName, monitor_idx, &ddMon, EDD_GET_DEVICE_INTERFACE_NAME); Hence the path to the registry-entry is well determined instead of just comparing the monitor's model name.
* | FFMPEGMediaPlayer: Add support for libav-11 and ffmpeg 2.[4-x] (Latest ↵Sven Gothel2015-02-0572-29/+17119
| | | | | | | | release, used in Debian 8, etc)
* | Fix FFMPEGMediaPlayer: static init block issue, libavresample debian8 packagingSven Gothel2015-02-058-73/+82
| | | | | | | | | | | | | | | | | | | | | | | | - static init block issue commit 06a05d30fc026b21f59310986ea9eb7f3ff30d54 used a static final field initialized after the static {} block which was still null if called -> moved above static {} - libavresample debian8 packaging Debian8 packages a libav10 combination w/ libavresample version 2, which actually belongs to libav11 - libav10 uses libarvresample version 1. Allow libavresample and libswresample to be selectively skipped if version mismatch.
* | Add missing privileged section for NativeLibrary lookup: GLContextImpl and ↵Sven Gothel2015-02-053-96/+102
| | | | | | | | | | | | | | | | | | | | FFMPEGDynamicLibraryBundleInfo Since GlueGen security fix commit 12feaa7d3b1544098f684d851e3caff1ec88cbc8 and its cleanup dd2440cbadc642a561d8f92c502fe822b2f11762 the GLContextImpl func lookup caused a security exception. Applied fix to FFMPEGDynamicLibraryBundleInfo as well.
* | Bug 1068 - Fix issue w/ unifying Surfaceless probing (commit ↵Sven Gothel2015-02-035-15/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2120be14c7525ef051d105f9bb02294f78d17d28) Commit 2120be14c7525ef051d105f9bb02294f78d17d28 caused GLDrawableFactoryImpl.probeSurfacelessCtx(..) to be only called if appropriate, hence GLRendererQuirks.NoSurfacelessCtx was not set otherwise. This patch adds the required 'else' branch for the case GLDrawableFactoryImpl.probeSurfacelessCtx(..) is not called and issues GLDrawableFactoryImpl.setNoSurfacelessCtxQuirk(..). +++ Add Note to EGLDrawableFactory's shutdown: "sr.device.close() Issues eglTerminate(), which may cause SIGSEGV w/ NVIDIA 343.36 w/ TestGLProfile01NEWT" However keep this code enabled, since this seems to be a driver issue. +++
* | Add javadoc arg (property 'javadoc.xarg1') '-Xdoclint:none' if java >= 1.8 ↵Sven Gothel2015-02-035-0/+14
| | | | | | | | (GlueGen commit d8dff4c9f2186749b167195eeb339c33f56864e8)
* | Adapt APK install scripts for harmonized os.and.arch names, see GlueGen ↵Sven Gothel2015-02-029-72/+9
| | | | | | | | commit 3b43a223253176731567c6d8b7a67c9a6110782b
* | Bug 682 - Relocating javax.media.opengl.* -> com.jogamp.opengl.* (Part 3)Sven Gothel2015-02-021-0/+0
| |