aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/jogamp/opengl
Commit message (Collapse)AuthorAgeFilesLines
* GLSL DataArray/Handler: Remove ShaderState state and pass it through: ↵Sven Gothel2011-08-308-165/+108
| | | | | | | | | ShaderState.getShaderState(gl) This removes the dependency of a GLSL GLDataArray object to a specific ShaderState and enables sharing of this VBO data, i.e. via a shared context. Test: TestSharedContextVBOES2NEWT
* Cleanup: Java Generics Use and Removed Unused MethodsSven Gothel2011-08-248-26/+26
|
* Also tackles bug 510, only lookup global on Android. See gluegen commit ↵Sven Gothel2011-08-221-2/+9
| | | | 58469fd2343039c195a88d0b171ba9af2dce40be
* API Change GLArrayDataWrapper/GLArrayDataServer: Add vboTarget to wrapper ↵Sven Gothel2011-08-221-8/+8
| | | | | | cstr and add interleaved seg. vboTarget is required in case of interleaved segments to allow eg. interleaved indices.
* Fix regression of commit 6c346d98f04e2355210960fe9ffde47432f04d62, where ↵Sven Gothel2011-08-221-4/+4
| | | | GLDataArrayHandler throws an exception in cstr if not VBO, but VBO usage is determined later
* Fix regression of commit 6c346d98f04e2355210960fe9ffde47432f04d62, where ↵Sven Gothel2011-08-227-76/+143
| | | | VBO/attribute binding wasn't updated (VBO data written, shader change/switch attribute on same location) ; Optimized interleaved GLSL VBO binding, hence split up GLArrayHandler syncData/enableState
* Misc Rename/Reloc; GLArrayData*/PMVMatrix enhancments; Test fixes/adds ↵Sven Gothel2011-08-2212-39/+659
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (GearsES1/ES2) rename/reloc: - javax.media.nativewindow.util: DimensionReadOnly -> DimensionImmutable PointReadOnly -> PointImmutable RectangleReadOnly -> RectangleImmutable unified 'immutable' name as used within jogamp already - remove array handler from public API com.jogamp.opengl.util.GL*ArrayHandler -> jogamp.opengl.util.GL*ArrayHandler - GLArrayData: Clarify method names getComponentNumber() -> getComponentCount() getComponentSize() -> getComponentSizeInBytes() getElementNumber() -> getElementCount() getByteSize() -> getSizeInBytes() - FixedFuncPipeline: Moved def. array names to GLPointerFuncUtil enhancement: - GLArrayDataServer: Add support for interleaved arrays/VBO - GLArrayData*.createFixed(..) remove 'name' argument (non sense for fixed function) - PMVMatrix: - one nio buffer - removed 'Pmv' multiplied matrix - removed 2x2 cut down 'Mvi' normal matrix (use 4x4 Mvi) - tests: - RedSquare -> RedSquareES1/RedSquareES2 - Gears ES1 fixed + ES2 added. Both work properly and share common Gears VBO construction - Added TestMapBuffer01NEWT, testing glMapBuffer
* Android Cleanup: Remove commented code, make immutables final againSven Gothel2011-08-112-16/+3
|
* Merge remote-tracking branch 'rsantina/master'Sven Gothel2011-08-092-14/+24
|\
| * GLRunnable API Change: Return boolean indicating whether the back buffer ↵Rami Santina2011-08-092-14/+24
| | | | | | | | | | | | shall be updated before swap. This allows color selection GLRunnables, executed after the GLEventListener.
* | EGL Fixes ...Sven Gothel2011-08-095-65/+91
| | | | | | | | | | | | - EGLDrawableFactory: createProxySurfaceImpl: add proper config choosing - EGLCapabilities/EGLGraphicsConfiguration: Add nativeVisualID - All: Avoid critical array access -> use NIO
* | debug: remove tracker from jogl.debug=allSven Gothel2011-08-092-4/+2
| |
* | Adapt to DynamicLibraryBundleInfo API change ; Remove non std EGL/ES libs ↵Sven Gothel2011-08-097-18/+16
| | | | | | | | (Android)
* | EGLPBuffer: remove 'ownEGLDisplay=true' (just wrong), add destroyImpl()Sven Gothel2011-08-073-5/+8
| |
* | EGLDrawable.setRealized(true) - no update gfx-config if we already have ↵Sven Gothel2011-08-072-11/+10
| | | | | | | | proper EGL type.
* | pbuffer caps fix: offscreen -> falseSven Gothel2011-08-071-0/+1
| |
* | no GL_VERSION_X extensions for ES profilesSven Gothel2011-08-071-8/+10
| |
* | GLProfile / eager init: Use relaxed query, if context was created while ↵Sven Gothel2011-08-074-21/+98
| | | | | | | | initialize shared
* | EGL Fix: Use config-id value, bug override it w/ renderable typeSven Gothel2011-08-061-4/+7
| |
* | EGL/Android: Favor driver's EGL/ES native library - Using Android's failsSven Gothel2011-08-063-0/+26
| | | | | | | | FIXME: find proper solution, instead of using hardcoded and non-std lib names
* | debug verbosity ; adaption of gluegen fix of DynamicLibraryBundleSven Gothel2011-08-052-11/+0
| | | | | | | | | | | | | | fix debug log in case no device has been initialized use gluegen's fix of DynamicLibraryBundle.isGlueLibComplete() - see gluegen commit 6281499e53555fd8ab26345ffce4c4d09bf57a09
* | fix jogl.all-mobile.jar/jogl_mobile configurationSven Gothel2011-08-053-22/+12
|/
* GLProfile: Allow EGL besides desktop; Desktop factories restricted to ↵Sven Gothel2011-08-012-2/+2
| | | | | | | | | | 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 ..
* GLContext Impl: Fix Platform 'GLX' ProcAddress Caching, allow multiple typesSven Gothel2011-08-014-12/+12
| | | | - Add platform type to key
* Enable EGL/ES1/ES2 detection/test on desktop (using mesa's libraries)Sven Gothel2011-08-014-8/+16
| | | | | Ubuntu: sudo apt-get install mesa-utils-extra libegl1-mesa libegl1-mesa-drivers libgles1-mesa libgles2-mesa
* AWT/X11 Reduce XQueryExtension 'hang' ; Impl. use XineramaIsActive() instead ↵Sven Gothel2011-08-011-9/+11
| | | | | | | | | | 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)
* Fix glDebugMessageInsert: Pass string length to native method instead of ↵Sven Gothel2011-08-011-2/+3
| | | | -1/0, avoid driver bug.
* Cont. fix 'Allow VBO/Texture Name (int) < 0'Sven Gothel2011-08-012-26/+26
| | | | | | | Refines spec GLArrayData and it's implementations. see commit 4d33a2df1e991ab75817dcb44061d88d3c499cdb see commit 2dbd16fc3edf29b39ba37a11b9fbf1b2aad75c45
* Refine some DEBUG code (verbosity)Sven Gothel2011-08-012-6/+12
|
* StateTracker: Map's KeyNotFound value -1 -> 0xffffffff... allowing unusual ↵Sven Gothel2011-08-013-35/+55
| | | | | | | | | | 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.
* Fixed regression of commit 360b86f4b5d0e440863c1749fe990e39fbabc51cSven Gothel2011-08-011-2/+2
|
* GLProfile usage getMinDesktop() -> getMinimum(); WGL/X11 GLCaps: make ↵Sven Gothel2011-07-314-7/+7
| | | | attributes final
* EGL: Set CTX_PROFILE_ES2_COMPAT if ES2; Allow any native device; Don't use ↵Sven Gothel2011-07-314-18/+13
| | | | | | | | | | | | | 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: Collect all avail EGL caps w/o GLProfile preset ; Tolerate failing ↵Sven Gothel2011-07-312-39/+38
| | | | | | | | | | | | | 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
* EGL: Query EGL_RENDERABLE_TYPE, store it in EGLGLCapabilities and test w/ ↵Sven Gothel2011-07-312-9/+93
| | | | | | | | 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.
* JOGL: Add GLBase::isGLES2Compatible()Sven Gothel2011-07-311-6/+3
| | | | | Indicates whether this GL object is compatible with OpenGL ES2, i.e. has the extension <code>GL_ARB_ES2_compatibility</code>
* Fix SharedResource (SR) InitializationSven Gothel2011-07-073-64/+70
| | | | | | - Catch exceptions in SR thread avoiding deadlock in blocking caller thread - Catch NPE on SR queries to return null if appropriate
* Fix GLDebugMessages synchronous setting ↵Sven Gothel2011-04-291-7/+9
| | | | 39a8ca392d7302831f5689979c4ce89145b732af, only set if ARB
* GLContext GLDebugMessages: Add synchronous status/dumpStack; Remove length ↵Sven Gothel2011-04-282-19/+56
| | | | | | | | 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.
* Utilize general validation of fbcfg (further validation w/ query), refines ↵Sven Gothel2011-04-283-4/+8
| | | | f50f40e0fb2789537ecc19f8eaff439b24294a65
* Merged pull request #35 from WadeWalker/2011-04-12-fix-bug-493.Sven Gothel2011-04-271-1/+15
|\ | | | | Fix problem with external context on CentOS 5.5 inside VMWare
| * Fix problem with external context on CentOS 5.5 inside VMWareWade Walker2011-04-121-1/+15
| | | | | | | | | | | | | | | | 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.
* | ShaderState: Add 'ownUniform()/ownAttribute()'; rename glFunction -> ↵Sven Gothel2011-04-261-61/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ..
* | GLContextImpl.createContextARB(..): Use impl. GLProfile to determine ↵Sven Gothel2011-04-251-6/+7
| | | | | | | | | | | | requested context .. this fixes the bug where [GL2ES2/GL4bc] didn't fetch GL4bc, but a GL2 old context.
* | jogl.debug.DebugGL enables new DebugMessage/Output featureSven Gothel2011-04-242-5/+12
| |
* | GLDrawableHelper: listener's locking cleaned ; Fix generics (warnings) ..Sven Gothel2011-04-241-43/+14
| | | | | | | | | | | | | | GLDrawableHelper always locked access to it's listeners, hence no copy is required for add/remove a listener. Writeout generics (warnings)
* | Misc cleanup, strings etcSven Gothel2011-04-241-1/+1
| |
* | Add unified support for GL_ARB_debug_output and GL_AMD_debug_output.Sven Gothel2011-04-246-19/+452
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | New FPSCounter, impl. by GLWindow and GLAnimatorControl (fps perf related ↵Sven Gothel2011-04-231-0/+137
| | | | | | | | | | | | | | | | | | | | | | 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 ?!
* | GLContextImpl: GLContextLock -> RecursiveLockSven Gothel2011-04-236-212/+70
| | | | | | | | | | | | | | | | | | RecursiveLock maintains a queue of waiting Threads, ensuring the longest waiting thread will be notified at unlock. Delete GLContextLock. Cleanup HashMap generics style.