aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* JOGL GLSL ShaderProgram/State: Release of an unlinked ShaderProgram shall ↵Sven Gothel2013-05-172-2/+4
| | | | not throw an exception -> avoid calling useProgram(.., false).
* GLSL version determination: Use static GLSL version mapping in case of GLES ↵Sven Gothel2013-05-171-1/+1
| | | | - Mesa 9.1* fails otherwise since it supports ES3/300 which is returned.
* Fix Bug 711: Align Graphs's Curve Shader programmatically to used GL/GLSL ↵Sven Gothel2013-05-1725-213/+141
| | | | version, following all other internal GLSL usage utilizing ShaderCode.
* Fix Bug 737: Add shader default precision for GLSL [1.30 .. 1.50[ - See GLSL ↵Sven Gothel2013-05-1718-71/+304
| | | | Spec [1.30 - 1.40].
* NEWT: MouseEvent Ctor: Use proper float[] rotationXYZ and float ↵Sven Gothel2013-05-166-37/+59
| | | | rotationScale arguments.
* Fix Bug 723: Remove VK_KP_<Cursor> numpad key-codes, use general VK_<Cursor> ↵Sven Gothel2013-05-168-85/+88
| | | | | | | | | | | | | | | | key-codes; Respect numpad printable keys; Use keySym for numpad if possible. - KeyEvent keyCode/keySym values re-ordered! - Remove VK_KP_<Cursor> numpad key-codes, use general VK_<Cursor> key-codes. Numpad cursor keys are not supported on some platforms (Windows), or not configured on most X11 configurations. - Respect numpad printable keys, i.e. don't treat them as non-printable. - Use keySym for numpad if possible. Numpad keys require modifiers, hence X11 and Windows shall return keySym.
* Fix Bug 731: GLJPanel: Access global GLPixelBuffer via ↵Sven Gothel2013-05-095-45/+107
| | | | SingletonGLPixelBufferProvider, if provided - releasing prev. smaller GLPixelBuffer after resize.
* Fix NEWT MultiMonitor Regression: Use case w/o attached monitor, and NPE ↵Sven Gothel2013-05-093-12/+27
| | | | | | | | | (Cache) in ScreenImpl.getVirtualMonitorDevice(..). W/ RandR13, we can have a case of an Output/CRT w/o valid modes, indicating a switched off or detached monitor. ScreenImpl.getVirtualMonitorDevice(..) requires a Cache .. due to MonitorModeProps.streamInMonitorDevice(..)
* Fix regression of commit 0a7bf77b8c0765f8a53dc72a8edab8e0496938ff - ↵Sven Gothel2013-05-082-4/+4
| | | | | | | GLReadBufferUtil's GLPixelBuffer* usage. Ref GLJPanel SingleAWTGLPixelBufferProvider's screenshots. Ref GLJPanel SingleAWTGLPixelBufferProvider's screenshots: <http://jogamp.org/files/screenshots/gljpanels-singlebuffer/>
* Refactor: TextureData's PixelAttributes/PixelBufferProvider -> ↵Sven Gothel2013-05-0817-332/+796
| | | | | | | | | | | | | | | | | | | | | | | GLPixelBuffer/.. and enhance usage; GLJPanel: Use GLPixelBuffer* API and SingleAWTGLPixelBufferProvider if possible. Refactor: TextureData's PixelAttributes/PixelBufferProvider -> GLPixelBuffer/.. and enhance usage - GLPixelBuffer, GLPixelAttributes and GLPixelBufferProvider have potential for wider audience, hence extract them to package 'com.jogamp.opengl.util'. - Using GLPixelBuffer, shall attempt to use pack/unpack row-stride, i.e. GL2GL3.GL_PACK_ROW_LENGTH, or GL2GL3.GL_UNPACK_ROW_LENGTH. See GLReadBufferUtil and GLJPanel - AWTGLPixelBuffer*: Attribute 'row-stride' allows reusing a bigger buffer than requested. GLJPanel: Use GLPixelBuffer* API and SingleAWTGLPixelBufferProvider if possible. - Use GLPixelBuffer API to remove redundancies - Attempts to use SingleAWTGLPixelBufferProvider to save JVM/CPU heap space for BuffereImage and IntBbuffer (readBack) Added unit new test demonstrating multiple overlapping GLJPanels reusing (or not) a singlton SingleAWTGLPixelBufferProvider.
* GLBuffers: Extract common methods: bytesPerPixel(..) and componentCount(.). ↵Sven Gothel2013-05-081-69/+163
| | | | Better namings for vars, i.e. compCount, .. etc
* Add TestGearsGLJPanelAWT, i.e. multiple JPanels w/ GLJPanel running GearsES2 ↵Sven Gothel2013-05-0813-33/+392
| | | | | | in their own color. Note: JComponent will introduce flickering if using opaque rendering mode!
* GLJPanel: Use PixelBufferProvider AWTPixelBufferProviderInt; ↵Sven Gothel2013-05-086-28/+323
| | | | | | PixelBufferProvider: Add 'dispose()' to interface. Transition reusing AWT specific PixelBufferProvider to allow a later user provided PixelBufferProvider.
* GLX: Put native ByteBuffer to native-order in 'glXGetVisualFromFBConfig' and ↵Sven Gothel2013-05-071-9/+5
| | | | minor edits (final, same 'nativeOrder()' call style)
* Minor: Typo/Syntax in GLRendererQuirksSven Gothel2013-05-071-1/+1
|
* NEWT MonitorMode: Refine 081177f2433be50e3b5d46385c2f0f3f96311ed8: Reduce ↵Sven Gothel2013-05-071-1/+1
| | | | EDT roundtrip when resize/positioning on MonitorMode changed ..
* NEWT Multiple Monitor Mode: Fix monitorModeChanged(..) event id, ↵Sven Gothel2013-05-074-11/+13
| | | | WindowImpl.monitorModeChanged(): Resize/position if not fitting into virtual screen viewport.
* NEWT Multiple Monitor Mode: Add missing 'collect' impl. for NEWT/AWT impl.Sven Gothel2013-05-072-6/+45
|
* MonitorMode: Fix API doc / comments / names.Sven Gothel2013-05-0710-119/+122
|
* MonitorMode Unit Tests: Perform 'filterByRate(..)' _after_ ↵Sven Gothel2013-05-066-15/+14
| | | | 'filterByResolution(..)' (desired resolution)
* Fix GLX: X11GLXContext used wrong FBConfig n/a query; X11GLX*: If FBConfig ↵Sven Gothel2013-05-063-5/+22
| | | | is n/a force GLX (server) version down to 1.1 to avoid crashes w/ old GLX server (i.e. Mesa 4.*).
* Fix GLSL Version Exposure: Type in 'static' GL -> GLSL matching, don't set ↵Sven Gothel2013-05-0613-22/+25
| | | | GLSL version if GLSL is n/a
* Fix Bug 600 and Bug 721: Adding support for multiple monitors w/ NEWTSven Gothel2013-05-0674-2431/+5127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Support for all monitor devices and their available modes - X11: Use RandR 1.3 if available - Retrieve information - Changing a monitor device's mode - Support for dedicated and spannig fullscreen - See <http://jogamp.org/files/screenshots/newt-mmonitor/html/> - TODO: - X11 RandR does _not_ relayout the virtual screen size and neither the CRT's viewport. We may need to relayout them if they were covering a seamless region to achieve same experience! - OSX: No machine to attach a secondary CRT -> TEST! - Tested Manually for Regressions - Linux ARMv6hf (Rasp-Pi/BCM, Panda/X11) - Android (Huawei, Kindle) - Tested Manually and junit: - X11/Linux - NV, ATI-Catalyst w/ 2 CRTs - VBox w/ 4 CRTs - Win/Windows - NV, w/ 2 CRTs - VBox w/ 4 CRTs - X11/OpenIndiana, NV, 1 CRT
* GLReadBufferUtil: Utilizing PixelBufferProvider; Adding AWTGLReadBufferUtil ↵Sven Gothel2013-04-277-76/+444
| | | | adding BufferedImage support; Demonstrating w/ unit tests.
* TextureData: Add PixelAttributes and PixelBufferProvider; ColorSink back to ↵Sven Gothel2013-04-277-92/+335
| | | | | | | | | | | | | | | | JPEGDecode (not general enough) - TextureData: Add PixelAttributes and PixelBufferProvider - PixelBufferProvider is intended as a pattern allowing producers (i.e. GLReadBufferUtil) to utilize custom pixel buffer for various intend. - PixelAttributes can be chosen by PixelBufferProvider implementation and groups the texture's pixel/data format and type. TextureData uses PixelAttributes internally now. - ColorSink back to JPEGDecode (not general enough) - Partially reverts 94ea306d1809290db678d3181619bdc39d4334bb
* Add missing JogAmp (c) note - using date of 1st JogAmp edit.Sven Gothel2013-04-272-0/+2
|
* Complete commit e7064ece049705e013d80985eae698ce0ee3c4e3: Add ↵Sven Gothel2013-04-272-29/+40
| | | | getDefaultPixelDataFormat(), complementing getDefaultPixelDataType()
* Move JPEGDecoder.PixelStorage -> TextureData.ColorSink: Appropriate name + ↵Sven Gothel2013-04-273-20/+22
| | | | public use
* GLContext*'s ctxGLSLVersion: Use zeroVersion to denominate uninitialized ↵Sven Gothel2013-04-262-12/+14
| | | | VersionNumber instead of null, it's get*string returns a zero length string instead of null.
* Simplify GLDrawableFactory's SharedResource Query Methods; Move ↵Sven Gothel2013-04-2620-319/+296
| | | | | | | | | | | | | | | | | | | | | | | | WindowsWGLDrawableFactory Quirks to GLRendererQuirks (NeedCurrCtx4ARBPixFmtQueries, NeedCurrCtx4ARBCreateContext); Bug 706: Confine NeedCurrCtx4ARBCreateContext to [Windows, ATI, driver < 12.102.3); Avoid possible NPE @ GLContext.getGLVendorVersionNumber() - Simplify GLDrawableFactory's SharedResource Query Methods - Moving common methods to GLDrawableFactory/GLDrawableFactoryImpl while reusing common methods to SharedResourceRunner.Resource. - All factories SharedResources impl. SharedResourceRunner.Resource. - Move WindowsWGLDrawableFactory Quirks to GLRendererQuirks (NeedCurrCtx4ARBPixFmtQueries, NeedCurrCtx4ARBCreateContext) - For better maintenance, move the mentioned quirks from the windows factory to our common place, being detected within GLContextImpl after each context creation. - Bug 706: Confine NeedCurrCtx4ARBCreateContext to [Windows, ATI, driver < 12.102.3) - Before we added this quirk if [Windows, ATI], however, we have hopes that the new drivers will suffice for all as tested successful on my test machine (AMD Radeon HD 6300M Series, amd_catalyst_13.5_mobility_beta2). - Avoid possible NPE @ GLContext.getGLVendorVersionNumber() - GLContext.getGLVendorVersionNumber() never returns 'null' but a zero version instance instead! - Add API doc. - Use mixed case names in GLContextImpl.setRendererQuirks(..).
* Fix Bug 706 and Bug 520: Certain ATI GPU/driver require a current context ↵Sven Gothel2013-04-255-34/+103
| | | | | | | | when calling wglCreateContextAttribsARB (Windows) See discussion at https://jogamp.org/bugzilla/show_bug.cgi?id=520 https://jogamp.org/bugzilla/show_bug.cgi?id=706
* Quirk DontCloseX11Display: Only detect w/ X11 NativeWindow System.Sven Gothel2013-04-241-5/+5
|
* X11 Error Handler: Start quiet; Init: quite = !debug; Internal calls: Pass ↵Sven Gothel2013-04-241-18/+18
| | | | through errorHandlerQuiet state.
* Add scripts/make.jogl.all.shSven Gothel2013-04-241-0/+9
|
* Use new toolchain (gluegen 3b7ea9f67487be8f133c19b493b632fc579c5049)Sven Gothel2013-04-245-6/+6
|
* Complete intend of commit cdbf3f42ea530f91639536e03b2c203715c3c300 - Test ↵Sven Gothel2013-04-231-30/+36
| | | | for null against a temp variable to narrow races
* Merge remote-tracking branch 'hharrison/backend'Sven Gothel2013-04-231-7/+13
|\
| * Test for null against a temp variable to narrow racesHarvey Harrison2013-04-191-7/+13
| | | | | | | | Signed-off-by: Harvey Harrison <[email protected]>
* | Fix JAWTUtil's ToolkitLock: Using RecursiveLock instance covering the AWT ↵Sven Gothel2013-04-231-70/+57
| | | | | | | | lock instead of simple volatile fields (bug).
* | X11GLXContext: Issue XSync(..) after forcing X11ErrorHandle and before ↵Sven Gothel2013-04-231-0/+2
| | | | | | | | | | | | | | glXCreateContextAttribsARB(..) - Mitigate driver bugs Ensures the error handler is in place and previous X11 cmds are being executed before the 'critical' glXCreateContextAttribsARB(..) call which might lead to erroneous behavior w/ buggy drivers.
* | Refine some API docs ..Sven Gothel2013-04-234-1/+18
| |
* | Fix Bug 722: Make GLEventListenerState 'transaction' safe Animator.pause[ ↵Sven Gothel2013-04-2311-190/+485
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | surface.lock[ modify ] ] GLEventListenerState: New model for GLEventListenerState's transaction safety: - Z Decorate-1: Animator.pause [ X ] Animator.resume - X Decorate-2: Surface.lock [ Y ] Surface.unlock - Instead of setting AbstractGraphicsDevice, just swap the handle and ownership. - Issuing setRealized(..) only if required, i.e. having an upstream-surface (EGL..) depending on used device - Utilizing setRealized(..) on the GLAD's delegated 'real' drawable, avoiding optional GLAD locking. - Cleanup and above changes shall render impl. easier to read. GLEventListenerState Unit Tests: - If swapping/moving from AWT -> NEWT, use a NEWT dedicated Display avoiding ATI driver XCB crash - read comment.
* | Bug 721: NEWT/X11 RandR 1.3 Support - Part 2 - Rename impl class/files, ↵Sven Gothel2013-04-1912-133/+228
|/ | | | start RandR13 coding.
* GLJPanel: Avoid NPE of 'backend' in getChosenGLCapabilities() and ↵Sven Gothel2013-04-181-3/+8
| | | | DisposeGLEventListenerAction.run() ; Make 'backend' volatile due to possible multi-threading access.
* Bug 718: WindowsBitmapWGLDrawable: Requires GLProfile.GL2, fix BITMAP GLCaps ↵Sven Gothel2013-04-189-83/+302
| | | | | | | | | ASAP at Ctor instead of setRealized(true); WindowsWGLContext: Exclude ARB creation for BITMAP Unit Test TestGLAutoDrawableFactoryGLnBitmapCapsNEWT added using BITMAP on GLProfile.getDefault() Also: X11GLXContext, WindowsWGLContext: Cleanup formatting in createImpl(..)
* type: weather -> whether :) .. it's spring again :)Sven Gothel2013-04-182-2/+2
|
* Bug 718: Exclude updateGraphicsConfigurationARB(..) usage for BITMAP ↵Sven Gothel2013-04-181-3/+7
| | | | | | | | | | | (Windows Vista does report BITMAP w/ ARB PFD) On Windows Vista machines, ARB PFD selection reports BITMAP which is attempted to be used. Excluse updateGraphicsConfigurationARB(..) from BITMAP query, similar to getAvailableGLCapabilitiesARB() from commit 61a47e07975eb2fd8b1f5f60552935c993a6eef6. TODO: Re-evaluate commit db24615ebaebcda88ffb7275d3a60e6400226099
* Bug 718: Further restriction of Windows BITMAP PFD's - RGB888 and !alpha onlySven Gothel2013-04-183-4/+5
| | | | | On Windows Vista machines, using alpha, i.e. RGB8888 failed to SetPixelFormat(..), hence only allow RGB888.
* Bug 721: NEWT/X11 RandR 1.3 Support - Part 1 - Delegate RandR functionality ↵Sven Gothel2013-04-1810-659/+501
| | | | to pluggable impl. for RandR 1.1 and 1.3 (todo)
* GLJPanel: setFocusable(true) at ctor to allow keyboard inputSven Gothel2013-04-181-0/+2
|