| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
screen size if 0.
|
|
|
|
| |
(Gallium) as software rasterizer. Check for NULL and issue warnings (TRIAGE THIS).
|
|
|
|
| |
Shared-Context and more 'known' test cases for ES.
|
|
|
|
|
|
| |
fixes recursion on fallback GraphicsConfigurationFactory
.. also validate the X11 GraphicsConfigurationFactory in X11GLXGraphicsConfigurationFactory and fail fast
|
|
|
|
|
|
|
|
|
|
| |
int -> int[]
"texWidth desired texture width for multipass-rendering.
The actual used texture-width is written back when mp rendering is enabled, otherwise the store is untouched."
This allows the 'backend' to correct the texSize, ie in regards to GL_MAX_TEXTURE_SIZE .. etc.
Without this write-back, it would re-create the FBO for every frame.
|
|
|
|
| |
gluegen commit 0dce3191754bd73138ff6a72e576a2af05f850ba
|
| |
|
|
|
|
| |
GLUEGEN_CPPTASKS_FILE="../../gluegen/make/lib/gluegen-cpptasks-linux-armv7.xml"
|
|
|
|
|
|
|
| |
GLUEGEN_CPPTASKS_FILE="lib/gluegen-cpptasks-linux-armv7.xml
make.jogl.all.linux-armv7-cross.sh:
Use GLUEGEN_CPPTASKS_FILE="lib/gluegen-cpptasks-linux-armv7.xml
|
|
|
|
| |
immediate mode for ES1) ; Fix GLES1Impl.glOrtho()
|
|
|
|
|
|
|
| |
tests (build scripts)
Disable ScreenMode on Linux-ARM-Omap4 for example,
where XRandR calls consume up to 3s per test.
|
|
|
|
|
|
|
|
|
|
|
| |
XRRScreenConfiguration to reduce perf hit on Linux ARM Omap4.
On Linux ARM Omap4, we experience a performance hit when using XRandR:
1st call of XRRSizes: ~ 1668 ms
Each call of XRRGetScreenInfo: ~ 1109 ms
Even though XRRGetScreenInfo is cached in NEWT's X11Screen initialization,
overall init time is ~2s, far too expensive.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Added EGLDisplayUtil helper class managing the lifecycle of the EGL display handle recursively.
This class is required, due to implementation bugs within EGL where EGL.eglTerminate(long)
does not mark the resource for deletion when still in use, bug releases them immediatly.
This fixes unit test com.jogamp.opengl.test.junit.jogl.acore.TestInitConcurrentNEWT
on Linux ARM w/ Omap4 and Tegra2.
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Xerxes Rånby <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- New EGL/ES headers from 2012-01-xx
- Subsuming ES extensions to core,
allowing aliasing of more enums/funcs to GL or GL2ES1/GL2ES2:
GL_EXT_color_buffer_half_float
GL_EXT_occlusion_query_boolean
GL_EXT_robustness
GL_ARB_robustness
GL_EXT_separate_shader_objects
GL_EXT_shadow_samplers
GL_EXT_sRGB
GL_EXT_texture_array
GL_EXT_texture_rg
GL_EXT_texture_type_2_10_10_10_REV
GL_NV_draw_buffers
GL_NV_fbo_color_attachments
GL_EXT_packed_float
GL_EXT_texture_storage
|
|
|
|
| |
and debug context.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- GLProfile properly detects native EGL/ES1/ES2 on the 'desktop' device factory.
This allows usage of Mesa's EGL/ES or Imageon's PVR emulation, etc.
- GLProfile drops getDefaultDesktopDevice() and getDefaultEGLDevice()
since both are aligned by getDefaultDevice().
- Fix GL_ARB_ES2_compatibility detection and utilize
resulting isGLES2Compatible() where possible.
This allows ES2 compatible desktop profiles to use core ES2 functionality
(glShaderBinary() .. etc) even with a GL2ES2 desktop implementation.
- EGLDrawable: If createSurface(..) fails (BAD_NATIVE_WINDOW) w/ surfaceHandle
it uses windowHandle if available and differs.
This allows the ANGLE impl. to work.
- Properly order of EGL/ES library lookup:
ES2: libGLESv2.so.2, libGLESv2.so, GLES20, GLESv2_CM
EGL: libEGL.so.1, libEGL.so, EGL
- *DynamicLookupHelper reference will be null if it's library is not complete
(all tool libs, all glue libs and a ProcAddressFunc lookup function - if named).
- Enhance GL version string (incl. ES2 compatible, hw/sw, ..)
- GLBase: Fix docs and remove redundancies
- Prepared (disabled) DesktopES2DynamicLibraryBundleInfo
to be used for a real EGL/ES2 implementation within the desktop GL lib (AMD).
Sadly it currenly crashed within eglGetDisplay(EGL_DEFAULT_DISPLAY),
hence it's disabled.
|
|
|
|
| |
(implicitly loaded by NativeWindowFactory)
|
|
|
|
|
|
| |
Turns out, that the culprit (at least on my Win7 NVidia machine) is
the runtime property "-Dsun.java2d.opengl=false".
When _not_ setting this prop. the test runs fine.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
framework, NEWT)
- Fix Bug 516 (Determine Java Version).
See gluegen: 64639b805a32338385421f168e12c1ef7f749d00
- Fix OS X 10.5 linkage (weak framework, NEWT)
- Use weak framework linkage for all modules and frameworks:
AppKit, QuartzCore, Cocoa, OpenGL, JavaNativeFoundation
- NEWT: Handle NS exception while calling OS X >= 10.6 only methods:
- 'setAllowsConcurrentViewDrawing()'
- 'setCanDrawConcurrently()'
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- toFront*(..) uses the AWT Window focus state, instead of our AWTWindowFocusAdapter,
which removes false negatives.
Often the focus is already hold on the Window where no focus change
will be recognized by our AWTWindowFocusAdapter.
- assertRequestFocusAndWait(..) recovers from lack of focus-lost event
(if received focus-gained) and only dumps the case - returns success.
- Since assertRequestFocusAndWait(..) implicitly tests the passed
FocusAdapter and relaxes the constraints (see above)
no more post-call assertions on the FocusAdapter is being performed (removed).
- assertRequestFocusAndWait(..) is no more used on AWT Window or Frame,
see 1st note above!
|
| |
|
|
|
|
|
|
|
|
|
|
| |
no exception,
- bug 548: Another regression: pixelfmt failed for 10.6.7 and/or software OpenGL
- enforcing accelerated leads to no pixelformat,
- using the NSOpenGLView defaultPixelFormat causes to SIGSEGV
- ctx creation failure shall just lead to return null, no immediate exception
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is the default.
The following 5 GDI functions have their 'wgl' counterparts
which 'shall' being used in case the OpenGL DLL is being loaded dynamically.
(So reads the documentation & FAQ).
This seems to be required only in case the std. opengl32.dll is not being used.
This use case is called GDI/ICD.
If using a non std. OpenGL DLL, is called MCD.
We dynamically load the OpenGL DLL and fetch the address pointer.
Since we generally use the std. opengl32.dll, our use of the GDI callbacks
seems to be legal. However, to test using the 'wgl' method WGLUtil is introduced.
You can test using the 'wgl' variants
by defining the property: 'jogl.windows.useWGLVersionOf5WGLGDIFuncSet'.
In case you have troubles, ie crashes within pixelformat setup etc,
it might be interesting if this may impact your behavior.
- ChoosePixelFormat(long, PIXELFORMATDESCRIPTOR)
- DescribePixelFormat(long, int, int, PIXELFORMATDESCRIPTOR)
- GetPixelFormat(long)
- SetPixelFormat(long, int, PIXELFORMATDESCRIPTOR)
- SwapBuffers(long)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previous commit 098398c2a9145447da5314eed9792b3738c2d515 cleaned up
and fixed context/drawable lock/unlock for makeCurrent()/release()/destroy()
and consistency is looks much better now in this regard.
However, on Intel HD 3000 / Windows7, our AnimatorControl start/stop still
let the 2nd switch to GLCanvas within the CardPanel not showing rendering results.
One interesting artefact though:
1st switch 2 GLCanvas (rendering visible):
*** hdc 0x2f010ec5, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1]
*** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1]
*** hdc 0x2f010ec5, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1]
*** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1]
-> alternating HDC's
2nd switch 2 GLCanvas (rendering _not_ visible):
*** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1]
*** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1]
*** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1]
*** hdc 0x160110c4, hdw(hdc) 0x1003a0, hdw 0x1003a0 - AWT-EventQueue-0, com.jogamp.opengl.util.Animator[started true, animating true, paused false, drawable 1]
-> fixed HDC
Maybe this is a hint for what is going wrong in JAWTWindow locking,
which aquires the frame's HDC.
Verifying the recursive lock shows proper lock/unlock actions though.
|
|
|
|
| |
diff. Platforms
|
|
|
|
|
|
|
|
|
|
|
| |
Closing:
- Java: Set handle to null
- Native:
- Don't release the NSView explicit, but rely on NSWindow's release
- Don't use NSWindow close() but simply call release() instead.
The latter doesn't produce a crash SIGSEGV on exit in some cases.
OSX 10.7.2, NV GPU
|
|
|
|
|
|
|
|
|
|
| |
Add updateScreenSize() utilizing new getNativeScreenSizeImpl() to set/update the virtual Screen size.
This replaces setScreenSize() where the ScreenMode dimension was being used
which doesn't reflect the virtual size.
ScreenMode Test Impact:
We cannot assertEquals(sm.getRotatedWidth(), screen.getWidth()),
since ScreenMode size != virtual size.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Allow negative window position, using flag 'autoPosition' to mark a custom user position.
This impacts Windows and X11 window creation code, which supports native auto positioning.
- Screen: Validate Screen-Index.
In 'big-desktop' mode the Screen index is always 0. This is true for X11 with
Xinerama enabled and MS-Windows in general.
Platforms w/o multiple Screen support always use index 0.
- X11: Separate X11 Display/Screen/Window native code in their respective C files
- Windows test scripts: use '%*' to catch all arguments
- Add missing (c)
|
| |
|
|
|
|
|
|
|
| |
rotation! (How to ?)
Get/Set ScreenMode impl on OSX.
Set is limited to resolution and size, since I don't know how to change the rotation.
|
| |
|
|
|
|
| |
thread, only for shutdown.
|
|
|
|
| |
shared surface before using it's HDC for pbuffer creation
|
| |
|
|
|
|
| |
bit test script.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NewtCanvasAWT/GLCanvas (delegation) ; Fix GLCanvas OffscreenLayerSurface usage.
JAWTWindow.destroy():
- No more getGraphicsConfiguration().getScreen().getDevice().close() call,
since the configuration (hence the device) is passed @ creation and owned by the caller.
New Interface 'OffscreenLayerOption', impl. by JAWTWindow (impl) and NewtCanvasAWT/GLCanvas (delegation)
- Abstract offscreenLayer option to be delegated by using classes
- Allow offscreen testing of GLCanvas as well (like NewtCanvasAWT)
Fix GLCanvas OffscreenLayerSurface usage
- common 'createDrawableAndContext()' for context and drawable instance creation
- addNotify() calls createDrawableAndContext() after super.addNotify() to be able
to lock the surface (JAWTWindow) and hence to determine offscreen usage.
- reshape(...) issues recreation 'dispose(true)' in case of using an offscreen layer
- dispose() explicitly destroys the JAWTWindow
NewtCanvasAWT:
- explicitly close the device of the JAWTWindow (as GLCanvas does)
Tests:
com.jogamp.opengl.test.junit.newt.parenting.TestParentingOffscreenLayer01GLCanvasAWT
com.jogamp.opengl.test.junit.newt.parenting.TestParentingOffscreenLayer02NewtCanvasAWT
|
|
|
|
| |
JVM/OpenGL-Driver issues
|
|
|
|
| |
is called 1st, add tests. Add performance numbers of init/shutdown in tests.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'dead' thread (Applets)
GLDrawableFactory:
- clarify: public getWasSharedContextCreated(..) -> protected createSharedResource(..)
- add: getSharesResourceThread()
GLProfile:
- proper locking of initSingletion(..) path:
- Use RecursiveThreadGroupLock and add/remove GLDrawableFactory's sharesResourceThread
while creating it's the sharedResource.
This simplifies and fixes GLProfile's locking code.
- Fix and simplify initSingleton(boolean) API doc - mark it deprecated.
- Add initSingleton() for controlled initialization only, pairing w/ shutdown(..)
Remove initSingleton(boolean) calls in code and test!
+++
Fix SharedResourceRunner 'dead' thread (Applets)
In Applets, stopping an Applet makes the browser Java plugin interrupting
and killing all related threads, including our SharedResourceRunner thread.
- Validate whether the shared resource thread is alive
- Catch interruption in shared resource thread and assume it's a kill signal
- releaseSharedResource: clear devicesTried set
|
|
|
|
| |
n/a on some AWT impl.
|