| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
- using LinkedList as stack replacement for non index based push/pop
- increased initial map size since the default values already exceeds the default mapsize
- size()==0 -> isEmpty() (can be significantly faster if the deque impl would change in future)
- map copy with initial size
- minor other changes
|
| |
|
|
|
|
| |
corresponding push was of ClientPixelStore type
|
| |
|
| |
|
|
|
|
|
|
| |
for new windowing system ad-hoc development.
WARNING: This method may change ro be removed over time!
|
|
|
|
| |
GLCanvas.
|
| |
|
|
|
|
|
|
| |
- Remove unsafe double checked locking
- Annotate safe double checked locking (volatile)
- use 'static final' if possible
|
|
|
|
|
|
| |
- StringBuffer -> StringBuilder
- ReflectionUtil.getBaseName -> class.getSimpleName()
- cleanup imports, generics and @Override for all touched classes
|
|
|
|
| |
/ SWT; SWT Test: Distinguish awt/headless and main-thread (osx) swt launch
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- ProxySurface -> abstract javax.media.nativewindow.ProxySurface,
implemented by
jogamp.nativewindow.WrappedSurface, just wrapping surface handle
jogamp.nativewindow.windows.GDISurface, using HWND and get/release HDC on lock/unlock
- Unifying NativeSurface's lockSurface/unlockSurface implementations
- NEWT's WindowImpl
- NativeWindow's ProxySurface, WrappedWindow, GDIWindow and JAWTWindow
- wingdi/GDI: Add 'WindowFromDC' and 'GetClientRect' to GDI
|
|
|
|
|
|
|
|
|
|
|
| |
This fix enables the configuration
win7 64bit chromium2.1 (virtual box 4.0.2 linux host)
Querying unsupported pixel format attributes, ie pbuffer,
will fail the ARB attribute query functions.
Cleanup of SharedResource's, hold all reused flags in win32 impl,
ie pbuffer, arb pixelformat, ..
|
|
|
|
|
|
|
| |
Debug code added for use case: WinXP-32bit, GDI, SWT,
where WGL.wglGetCurrentDC() returns a non null value which is invalid.
Using the value (hdc) on eg GDI.GetObjectType(hdc) return 0 instead of
3 (OBJ_DC) and GDI.GetPixelFormat(hdc) returns 0 with last error 2000.
|
| |
|
| |
|
| |
|
|\
| |
| |
| | |
https://github.com/WadeWalker/jogl into WadeWalker-bug_468_ClassCast_exception_on_debug_logging_try_2
|
| |
| |
| |
| |
| | |
The debug logging code puts a null reference into a list,
then tries to cast it to a WGLGLCapabilities object.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
jogamp.<module> (2/2) - edit files
- com.jogamp.opengl.impl -> jogamp.opengl
- com.jogamp.opengl.util.glsl.fixedfunc.impl -> jogamp.opengl.util.glsl.fixedfunc
- com.jogamp.nativewindow.impl -> jogamp.nativewindow
- com.jogamp.newt.impl -> jogamp.newt
This sorts implementation details from the top level, ie skipping the public 'com',
allowing a better seperation of public classes and implementation details
and also reduces strings.
This approach of public/private seperation is also used in the OpenJDK.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
jogamp.<module> (1/2) - rename task
- com.jogamp.opengl.impl -> jogamp.opengl
- com.jogamp.opengl.util.glsl.fixedfunc.impl -> jogamp.opengl.util.glsl.fixedfunc
- com.jogamp.nativewindow.impl -> jogamp.nativewindow
- com.jogamp.newt.impl -> jogamp.newt
This sorts implementation details from the top level, ie skipping the public 'com',
allowing a better seperation of public classes and implementation details
and also reduces strings.
This approach of public/private seperation is also used in the OpenJDK.
|
|/
|
|
| |
due to possible diff function ptr of sw impl (NV/Win7)
|
|
|
|
| |
to avoid requiring native libraries at class initialization time.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Scenario
- NV / Win7 driver version 266.58's
- Caps: on-scr, rgba 8/8/8/0, accum-rgba 0/0/0/0, dp/st/ms: 16/8/0, dbl, mono
The above 'wglChoosePixelFormatARB' impl returns an array of pixelformats,
where the 1st entry is not hardware accelerated!
This should be considered a bug in NV's driver, since the array should return
a list ordered from 'best' to 'worst'.
Workaround trying explicit hw acceleration 1st, then generic, then software.
|
|
|
|
|
|
| |
Allows TestBug461OffscreenSupersamplingSwingAWT to pass on NV/Win7.
Root cause was using the requested unfixed caps (onscreen, !pbuffer)
instead of the fixed ones.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WindowsWGLGraphicsConfiguration.create(..) ->
WindowsWGLGraphicsConfiguration.createFromCurrent(..) emphasizing that
all resources are 'current' ie locked and available.
This method is used for the external context/drawable creation only, called
while they are current.
Hence this method no more makeCurrent/release, which interfered with the
current external context state.
WindowsWGLGraphicsConfigurationFactory: Move surface locking to the right
(common) place.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Changes the Type_Widget.java constructor to allocate a normal
buffer instead of a direct buffer. Apparently JVMs can't
allocate small direct buffers efficiently, and since Type_Widget
is called inside tight loops millions of times, we can't afford
to do it this way. This commit restores it to how it was in JOGL 1.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This bug caused the right sides of GLJPanels not to render if the
panel is wider than its height (all pixels with x > height would
be black). Wrote a unit test to sense the problem by reading
an unrendered pixel back out of the frame, then fixed the typo
in GLDrawableFactoryImpl.java that caused the error.
|
| | |
|
| | |
|
| |
| |
| |
| | |
w/o whitespace)
|
| |
| |
| |
| | |
GL2ES2, GLES2, GL2ES1, GLES1
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
WGL and EGL)
- GLDrawableFactory exposes:
public final List/*GLCapabilitiesImmutable*/ getAvailableCapabilities(AbstractGraphicsDevice device)
- GLCapabilities platform specialization containing native ids (XVisual/FBConfig, PFD, EGLConfig, ..)
- GLCapabilities setPbuffer(true) disables onscreen
- Capabilities setOnscreen(true) disables pbuffer
- Capabilities implements Comparable
- *Capabilities: enhanced 'toString(..)'
- CapabilitiesChooser.chooseCapabilities:
'CapabilitiesImmutable[] available' -> 'List /*<CapabilitiesImmutable>*/ available'
- VersionApplet, GLCanvas.main, GLWindow.main, GLProfile/debug: dumps all available GLCaps
- WGLGLCapabilities: proper non-displayeble (pbuffer) pfdid handling
TODO: ES/EGL test with emulation
|
|/ |
|
|
|
|
| |
drawable, awtConfig) ; Try create/destroy AbstractGraphicsDevice on EDT
|
| |
|
| |
|
|
|
|
| |
(96a0e0706258824c1dd524d4cbd7682a904b84f4)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Similar to JFrame's closing behavior,
the following components window closing follow the new WindowClosingProtocol:
- GLCanvas
- GLJPanel
- NEWT Window, GLWindow
- NEWT NewtCanvasAWT
The implementation obeys either
1) the user value set by this interface,
2) an underlying toolkit set user value (JFrame, ..)
3) or it's default, eg. {@link #DO_NOTHING_ON_CLOSE DO_NOTHING_ON_CLOSE} within an AWT environment.
If none of the above determines the operation,
this protocol default behavior {@link #DISPOSE_ON_CLOSE DISPOSE_ON_CLOSE} shall be used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Windows for javaws/applets.
It has been observed that for some combinations, eg:
- Windows 7 64bit (other variants may apply too)
- NVIDIA 8600M GT
- 260.99
the NVIDIA setting of 'Threaded optimization' := 'auto' (default) causes the JVM to simply crash
in case of javaws and [jnlp] applets.
'Threaded Optimization' := 'off' works reliable
'Threaded Optimization' := 'on' never works with javaws and applets on the above configuration
A user could workaround this by setting 'Threaded Optimization' := 'off',
however, this would disable many users on the spot,
since you cannot ask the average user for such a task, if she only wants to see a web page.
This patch 'fixes' the 'auto' mode by running the eager GL profile initialization
within a block of single CPU affinity:
SetProcessAffinityMask(pid, 1);
try {
initProfilesForDeviceImpl(device);
} finally {
SetProcessAffinityMask(pid, sysValue);
}
Hopefully we can remove this hack with a driver fix.
However this workaround is as little invasive as possible.
|
| |
|
|
|
|
|
|
|
|
| |
GLProfile.initProfilesForDevice: use either desktop or egl factory on one device
GLProfile.DEBUG: Print proper factory instance, full device
JoglVersion.getGLInfo: Print only availability of used device, otherwise we could kick off initialization
|