| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
machine (Linux/Ubuntu) doesn't rotate screen reliably.
|
|
|
|
| |
IDX_MONITOR_DEVICE_VIEWPORT needed to be updated!
|
|
|
|
| |
Adapt to GlueGen commit da909f84dc8421052c92491baa7dd90e1c78dc8f
|
|
|
|
| |
GLBufferStateTracker now also supports GL4.GL_QUERY_BUFFER
|
| |
|
| |
|
|
|
|
| |
GLContext
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
| |
getLocationOnScreenNonBlocking(..) from JAWTWindow -> AWTMisc (to be reused)
|
|
|
|
| |
[query|set]CurrentMode(..) if !screen.isNativeValid()
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
(ArrayHashSet<MonitorDevice> instance erroneously added)
Revert useless ArrayHashSet<MonitorDevice> instance erroneously
added in commit 559ecad2a2387ba0aa34ce9e35ca8a2c5a31e655.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
.. thx to Julien Gouesse's review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
release, used in Debian 8, etc)
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
+++
|
|
|
|
|
| |
Relocation javax.media.nativewindow.* -> com.jogamp.nativewindow.*
Relocation javax.media.opengl.* -> com.jogamp.opengl.*
|
|
|
|
|
|
|
|
|
| |
sed -i 's/javax\.media\.opengl/com\.jogamp\.opengl/g' `grep -Rl "javax\.media\.opengl" src`
sed -i 's/javax\.media\.nativewindow/com\.jogamp\.nativewindow/g' `grep -Rl "javax\.media\.nativewindow" src`
sed -i 's/javax\/media\//com\/jogamp\//g' `grep -Rl "javax/media/" src`
sed -i 's/javax\/media\//com\/jogamp\//g' `grep -Rl "javax/media/" doc`
Manually edited all occurences within make/**
|
| |
|
| |
|
|
|
|
|
|
|
| |
bd24599b21f9787ac989e65b44dc1ba762162f22
Commit bd24599b21f9787ac989e65b44dc1ba762162f22 removed font loading w/o TempJarCache,
e.g. as used on Android.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Use float[2] for pixel-scale.
Utilize simple integer rounding:
int-pixel-units = (int) ( int-window-units * pixel-scale + 0.5f )
- Provide minimum and maximum allowed pixel-scale values
to be set by platform, supporting generic pixel-scale validation.
- Remove 'OSXUtil.GetPixelScale(final RectangleImmutable r, final int[] screenIndexOut)',
implementation for all platforms would cause huge redundancy of
Screen and MonitorDevice code (duplication of NEWT).
- instead, add 'float[2] pixelScale' to NEWT's MonitorDevice
- Detect change of pixel-scale and propagate accordingly.
This allows GLCanvas, GLJPanel and NewtCanvasAWT instances
to be dragged between monitor devices w/ different pixel-scale.
- OSX: Handle native triggered reshape events off-thread to avoid EDT congestion
due to locked window when consuming deferred events on EDT.
|
|
|
|
|
|
|
|
|
|
| |
already current
- GLContextImpl.makeCurrentImpl(): Remove redundant test whether context is already current
GLContext.makeCurrent() already verifies whether native makeCurrent can be skipped
by comparing against the thread-local current GLContext instance.
- Add X11GLXContext.glXReleaseContext(..) to simplify release call
|
|
|
|
| |
As required for commit d0676451343e826e49d9c5732320f080d4c11c8d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(probing, etc)
- Unify surfaceless probing
GLDrawableFactoryImpl.probeSurfacelessCtx(..) implements surfaceless probing for all platforms
- Fix Surfaceless for OSX (probing, etc)
- Handle 'surfaceless' mode in MacOSXCGLContext impl
- MacOSXCGLDrawableFactory.getOrCreateSharedResourceImpl adds surfaceless probing
- Fix Surfaceless for Windows (probing, etc)
- WindowsWGLContext.wglMakeContextCurrent(..)
- Split release code into WindowsWGLContext.wglReleaseContext(..)
allowing to handle zero HDC.
- WindowsWGLGraphicsConfigurationFactory.updateGraphicsConfiguration(..)
- Skip HDC -> PFD handling for
- WindowsWGLDrawableFactory.createSharedResource adds surfaceless probing
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
createShareResource
- Fix GLContext.makeCurrent() API doc for 'throws GLException'
- Fix GLContext.makeCurrentResultToString(int): CONTEXT_CURRENT_NEW -> "CONTEXT_CURRENT_NEW"
- Fix GLContextImpl.setGLDrawable(..)
- Catch Throwable instead of GLException to not loose other cases
- Fix GLContextImpl.makeCurrent(..)
- Use const l-value in branch expression
- fix semantic typo: validate -> validated
- Refine DEBUG output in GLDrawableFactory's createShareResource
- Enable DEBUG via GLContext.DEBUG as well
to ease analysis w/o drawable DEBUG output
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It has been experienced w/ Mesa 10.3.2 (EGL 1.4/Gallium)
that even though initial OpenGL context can be created w/o 'EGL_KHR_create_context',
switching the API via 'eglBindAPI(EGL_OpenGL_API)' the latter 'eglCreateContext(..)' fails w/ EGL_BAD_ACCESS.
Hence we require both: OpenGL API support _and_ 'EGL_KHR_create_context'.
FIXME: Evaluate this issue in more detail!
FIXME: Utilization of eglBindAPI(..) must be re-evaluated in case we mix ES w/ OpenGL, see EGL 1.4 spec.
This is due to new semantics, i.e. API is bound on a per thread base,
hence it must be switched before makeCurrent w/ different APIs, see:
eglWaitClient();
|
|
|
|
|
|
|
|
|
| |
- Using GLDrawableFactory.getGLDynamicLookupHelper(String profileName)
- Based on String GLProfile name
- throws GLException if no lookup handler installed (EGL)
- final implementation of GLDrawableImpl.getGLDynamicLookupHelper()
using getGLProfile().getImplName()
|
|
|
|
|
|
| |
- GLRendererQuirks.NoARBCreateContext is set static per device
- Property GLProfile.disableOpenGLARBContext sets static GLRendererQuirks.NoARBCreateContext
- Centralize handling in GLContextImpl.createContextARB(..)
|
|\ |
|
| |\
| | |
| | | |
Add test case of how to use instanced rendering
|
| | | |
|
| | | |
|
| | | |
|
| |/ |
|
| | |
|
|\ \ |
|
| | | |
|
| |/
| |
| |
| | |
methods.
|
| |
| |
| |
| | |
screenIndexOut) ( Part-1 )
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
EGLDrawableFactory: Validate static EGL func-ptr, probe EGL/ES2 first
- Move EGL to public package
jogamp.opengl.egl.EGL -> com.jogamp.opengl.egl.EGL
- EGLDrawableFactory
- Validate static EGL func-ptr against EGL/ES2,
ignoring EGL/[ES|GL] collisions w/ diff. native EGL implementations
due to static EGL usage.
- Probe EGL/ES2 first
|
| | |
|
| |
| |
| |
| | |
createSurfacelessImpl(..) implementations
|
| | |
|