| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
class HINSTANCE is acquired at static initialization
|
|
|
|
| |
NativeWindow+JOGL/Windows: Complete Opaque types
|
| |
|
|
|
|
| |
cause a SIGSEGV at JVM exit.
|
|
|
|
| |
to simplify usage.
|
|
|
|
| |
SIGSEGV on AMD
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Consider use cases with many drawables and no drawables at start,
this had to be reflected all over this patch set, implementation,
usage and test cases.
- GLAnimatorControl
- refine API doc / states
- add 'void remove(GLAutoDrawable drawable);'
- Animator*:
- using RecursiveLock 'stateSync' for all actions out of the big synchronized (animator) block:
- get status methods (thread, isPaused, ..), hence no more synchronized
- display drawables change, utilizing synced ArrayList swap
This removes the need for volatiles usage shouldPause/shouldStop within the display method.
- added blocking wait for state change for add(GLAutoDrawable)/remove(GLAutoDrawable) method
- remove flawed double checked locking in anim thread (pause/idle condition)
- thread is now a daemon thread, hence it won't hinder the JVM from shutdown
-
- Animator use change:
- Always resume after pause, except in case of final destroy -> NEWT invalidate / GLCanvas,
this considers use cases with many drawables and no drawables at start.
- GLDrawableHelper: Don't pause at implicit dispose()
|
| |
|
|
|
|
| |
resource at recreation or it's possible other drawables
|
|
|
|
| |
AnimatorControl to pause rendering.
|
|
|
|
| |
992dcea3e94eead998942127a137cccd0882fe97)
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
for Canvas. ; Adding FSAA test.
Canvas/X11:
The Canvas GraphicsConfiguraton should be chosen before the native peer is being created.
Choosing AWT GraphicsConfiguration (all platforms):
Don't filter our capabilities with 'AWTGraphicsConfiguration.setupCapabilitiesRGBABits(capsChosen, gc)',
not necessary (see above) and it would remove ourrequired alpha channel.
Canvas display():
Don't render if drawable is not realized (yet).
|
| | |
|
| | |
|
|/
|
|
| |
made references created in double checked locks volatile.
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| | |
and getChosenCapabilities() return immutable instances. Add cloneCapabilities() to create a mutable clone of an immutable set of capabilities.
|
| |
| |
| |
| |
| |
| | |
eliminates the cloning that was occuring for each swap buffer call.
This is the first step in implementing immutable Capabilities.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
NEWTEventConsumer and AWTTreeLock
The unit test for NEWTEventConsumer and AWTTreeLock,
tests previous commit 'JAWTWindow: Avoid AWTTreeLock' b0b1e3fb9c0f915cdf8d237c0f61a9d08ca83b01
|
| |
| |
| |
| | |
Unregister the shutdown hook if called manually (recommended!).
|
| |
| |
| |
| |
| |
| |
| | |
Use native implementation for getLocationOnScreen() if available.
If unavailable call AWT's implementation only in case the AWT TreeLock is hold by this thread.
Finalize methods ..
|
| |
| |
| |
| | |
NativeWindow X11.
|
|/
|
|
| |
NEWT WindowsWindow GetRelativeLocation() native implementation to GDI as well.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NEWT's removed:
Window: destoy(boolean unrecoverable)
Display/Screen: get/set DestroyWhenUnused(boolean)
We behave as follows:
- Window.destroy() always decr Screen's reference counter,
which issues destruction when reached zero.
Then Screen does the same for Display ..
- Window.destroy() keeps alive all references,
hence it can be always recreated via setVisible(true).
- Window.destroy() ensures Display's EDT is stopped
if display is destroyed.
- Window.invalidate() actually removes all Object reference,
hence it cannot be recreated or used after it.
This method exist to support a way to cleanup memory, GC.
All test passed on Linux/X11 and Windows
|
|
|
|
| |
not available ..
|
|
|
|
| |
resources
|
|
|
|
| |
all <module>/** to javadoc.zip. This shall be done for all jogamp modules
|
|
|
|
|
|
|
|
|
|
|
| |
jogl/gluegen packages
com.jogamp.opengl
com.jogamp.nativewindow
developer javadoc:
com.jogamp.gluegen.opengl
com.jogamp.gluegen.runtime.opengl
|
| |
|
| |
|
| |
|
|
|
|
| |
from module to module
|
|
|
|
| |
'gluegen.root'
|
| |
|
|
|
|
|
|
| |
As the interface structure was updated some time ago these tests
didn't compile any more. This patch adjusts them to use the new
structure, such that they can be run again.
|
| |
|
|
|
|
| |
AWT wait period.
|
|
|
|
|
|
|
|
|
|
| |
Preparation to support multiple devices on one machine,
hence adding the unitID a unique ID/index of the associated GPU, or GPU affinity.
Adding getUniqueID() to return a cached semantic unique string id for the device.
This was removed from the temp. impl in JOGL's GLContext, added unitID.
All other changes just adapt to the above.
|
|
|
|
|
|
|
| |
(visibility, displayed)
Ensure that at least one frame has been rendered after returning from the functions.
This removes the hack of polling a while for a rendered frame.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
device.
AbstractGraphicsDevice's 'connection' and 'type' attribute is used as a unique key
to map GLProfiles and GLContext's major/profile -> major/minor/profile mapping.
Eager initialiaztion as well as lazy is supported to maintain a simple API.
This is currently tested on X11, where one app display NEWT/GL window and content
on the local and remote device.
See TestRemoteWindow01NEWT.java and TestRemoteGLWindows01NEWT.java
|
| |
|
| |
|