| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
FIXME: find proper solution, instead of using hardcoded and non-std lib names
|
|
|
|
|
|
|
| |
fix debug log in case no device has been initialized
use gluegen's fix of DynamicLibraryBundle.isGlueLibComplete()
- see gluegen commit 6281499e53555fd8ab26345ffce4c4d09bf57a09
|
| |
|
|
|
|
|
|
|
|
|
|
| |
desktop profiles
Allow EGL besides desktop
- Initialize EGL for default EGL device, even if desktop is available
Desktop factories restricted to desktop profiles
- Don't use native ES1/ES2 here ..
|
|
|
|
| |
- Add platform type to key
|
|
|
|
|
| |
Ubuntu:
sudo apt-get install mesa-utils-extra libegl1-mesa libegl1-mesa-drivers libgles1-mesa libgles2-mesa
|
|
|
|
|
|
|
|
|
|
| |
of XineramaQueryScreens()
- Reenable creating own XDisplay for AWT components, which reduces/removes hang
in subsequent XQueryExtension call (fetchScreens .. XineramaEnabled())
- Impl. use XineramaIsActive() instead of XineramaQueryScreens()
Reducing memory allocation, XFree call (which was missing anyways)
|
|
|
|
| |
-1/0, avoid driver bug.
|
|
|
|
|
|
|
| |
Refines spec GLArrayData and it's implementations.
see commit 4d33a2df1e991ab75817dcb44061d88d3c499cdb
see commit 2dbd16fc3edf29b39ba37a11b9fbf1b2aad75c45
|
| |
|
|
|
|
|
|
|
|
|
|
| |
values. Impl -> final.
Map's KeyNotFound value -1 -> 0xffffffff
Turns out some GL impl. use VBO names like 0xa2d67443, which is (int) < 0.
This is now handled in GLBufferStateTracker as well as for the others.
Make methods final to restrict 'em.
|
| |
|
|
|
|
| |
attributes final
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libGL.so; Cosmetics
EGL: Set CTX_PROFILE_ES2_COMPAT if ES2;
Allow any native device for EGL
- EGLDrawableFactory::getIsDeviceCompatible() -> true always,
impl. shall handle all native windowing toolkit layers, if available.
Don't use libGL.so
- desktop GL library is exclusive for desktop bindings
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
EGL.eglChooseConfig() ; Cosmetics
Collect all avail EGL caps w/o GLProfile preset
- pass GLProfile null for collecting all available EGL GLCapabilities,
allowing EGLGLCapabilities to set the GLProfile regarding EGLConfig's renderableType.
Tolerate failing EGL.eglChooseConfig()
- use chooser algo, trying to pick one EGLConfig manually
Cosmetic toHexString change
|
|
|
|
|
|
|
|
| |
GLProfile compatibility
EGLConfig's EGL_RENDERABLE_TYPE determines ES1, ES2 or VG usage (bitfield).
We have to store and compare it's value w/ the desired GLProfile to choose a valid one,
or just store it.
|
|
|
|
|
| |
Indicates whether this GL object is compatible with OpenGL ES2,
i.e. has the extension <code>GL_ARB_ES2_compatibility</code>
|
|
|
|
|
|
| |
- Catch exceptions in SR thread avoiding deadlock in blocking caller thread
- Catch NPE on SR queries to return null if appropriate
|
|
|
|
| |
39a8ca392d7302831f5689979c4ce89145b732af, only set if ARB
|
|
|
|
|
|
|
|
| |
in aliased glDebugMessageInsert.
- GLDebugMessages add synchronous status - defaults to true
- GLContext/GLDebugMessages add dumpStack() if jogl.debug.DebugGL is set
- Remove param length in aliased glDebugMessageInsert.
|
|
|
|
| |
f50f40e0fb2789537ecc19f8eaff439b24294a65
|
|\
| |
| | |
Fix problem with external context on CentOS 5.5 inside VMWare
|
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes a problem that's analogous to one we've had on Windows;
apparently querying OS-specific info like hardware device contexts
or framebuffer configuration IDs from external GL contexts doesn't
always work properly, especially on 32-bit OSes and from within
virtual machines.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
function; switch program enh. ; Graph lifecycle
Add 'ownUniform()/ownAttribute()' allowing to reset all bound uniforms/attributes,
not just active ones plus handling the lifecycle of the owned attributes (destroy).
This simplifies the lifecycle of all shader attributes.
Rename glFunction -> function .. well, the GL attribute marks them GL related already
Switch program enhancement. If switching to new program (unlinked), issue glBindAttributeLocation ..
Graph lifecycle cleanup using the above ..
|
| |
| |
| |
| |
| |
| | |
requested context
.. this fixes the bug where [GL2ES2/GL4bc] didn't fetch GL4bc, but a GL2 old context.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
GLDrawableHelper always locked access to it's listeners, hence no copy is required
for add/remove a listener.
Writeout generics (warnings)
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If GL_ARB_debug_output is not available, but GL_AMD_debug_output exist, fallback to the latter,
offering generic aliased methods translating the delta (AMD category <-> ARB source/type).
Generic aliased methods reside in GLContext*
Enable/Disable via GLContext and GLAutoDrawable.
To enable the GLDebugOutput feature GLContext.enableGLDebugMessage(true)
or GLContext.setContextCreationFlags(GLContext.CTX_OPTION_DEBUG)
shall be called _before_ context creation via GLContext.makeCurrent()!
In case GLAutoDrawable is being used,
GLAutoDrawable.setContextCreationFlags(GLContext.CTX_OPTION_DEBUG)
shall be issued before context creation via GLContext.makeCurrent()!.
After context creation, the GLDebugOutput feature may be enabled or disabled
at any time using this method.
Verify both unit tests for usability.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
API change)
- Don't fetch System.currentTimeMillis() by default and for every frame (performance)
- Default behavior is FPSCounter switched off
- Enable by frame interval, ie measure each 60 frames.
- FPSCounterImpl is default impl. used by impl. FPSCounter class (reduce code/redundancy)
- Might be promoted to GLAutoDrawable ?!
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
RecursiveLock maintains a queue of waiting Threads,
ensuring the longest waiting thread will be notified at unlock.
Delete GLContextLock.
Cleanup HashMap generics style.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
+++
Remove GL parameter for
- createFixed(..)
- createGLSL(..)
validation at client/server array data happens at 1st enableBuffer() call,
no current context or profile required at creation time.
Added ShaderState for createGLSL(..) clarifying dependency to the ShaderState,
passing it down to the GLSLArrayHandler, which also removes the TLS GLContext.getCurrent() call.
+++
Partially reverted ab48dac3f4419ceac51fdf059f310f0f0499c4d7 factory methods:
removed added vboTarget parameter, since all createFixed and createGLSL are GL_ARRAY_BUFFER (VBO).
Adding createData(..) factory method in GLArrayDataServer allowing diff vbo targets,
ie GL_ELEMENT_ARRAY_BUFFER .. or none.
|
| |
| |
| |
| |
| |
| |
| | |
The spec doesn't require a current context for a swap buffer call, however,
if required .. as user shall encapsulate it by himself, or use the GLEventListener model.
Motivation: Reduce TLS GLContext.getCurrent() calls.
|
| |
| |
| |
| |
| |
| |
| | |
GLBufferStateTracker.isBoundBufferObjectKnown() is redundant, since it's 'get'
method added it if not yet known.
GLBufferSizeTracker removed above mentioned call, fallback to std GL query, no exception.
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
target, comments, names)
VBO target: Allowing ELEMENT_VERTEX_ARRAY w/o corresponding GLSL/Fixed attribute
Names: Clarified method named.
Comments: Added and fixed comments
|
| |
|
|
|
|
| |
and trace pipeline.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
queries/selection
TODO: Validate if bug is actually relates to the 'old' ATI Windows driver for old GPU's like X300 etc
and unrelated to the actual Windows version !
Also ensure that the no pixelformat is being set on external context/HDC.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WGL_PIXEL_TYPE_ARB:
Results -> GLCapabilities
- WGL_TYPE_COLORINDEX_ARB not supported
- Only WGL_TYPE_RGBA_FLOAT_ARB makes pbuffer float
Query:
- Only use WGL_FLOAT_COMPONENT_NV if supported
- Remove multiple WGL_PIXEL_TYPE_ARB entry
GLX_RENDER_TYPE:
Results -> GLCapabilities
- GLX_COLORINDEX_BIT only not supported
|
|
|
|
|
| |
- Using new IntIntHashMap clone() operation
- Comment: Tuning IntIntHashMap capacity to avoid rehash
|
|
|
|
|
|
|
| |
- 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!
|
| |
|