summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* GLContext.isCurrentContextHardwareRasterizer(): Recognize 'softpipe' ↵Sven Gothel2012-02-261-3/+18
| | | | (Gallium) as software rasterizer. Check for NULL and issue warnings (TRIAGE THIS).
* UITestCase: Gracely ignore unsupported tests (ES2) ; Ignore all ↵Sven Gothel2012-02-2518-40/+230
| | | | Shared-Context and more 'known' test cases for ES.
* Include GraphicsConfigurationFactory in lifecycle (initSingleton/shutdown) - ↵Sven Gothel2012-02-253-26/+64
| | | | | | fixes recursion on fallback GraphicsConfigurationFactory .. also validate the X11 GraphicsConfigurationFactory in X11GLXGraphicsConfigurationFactory and fail fast
* X11: Fix unavailable GLX (Server): Use fallback GraphicsConfigurationFactory ↵Sven Gothel2012-02-254-21/+35
| | | | | | | | | | | (X11GLX -> X11) - GraphicsConfigurationFactory.registerFactory(..) returns previous mapped GraphicsConfigurationFactory. This allows daisy chaining of GraphicsConfigurationFactory, in case one is not suitable. - X11GLXGraphicsConfigurationFactory: - Store the previously mapped factory as fallback - choose*Impl(): If GLX is not available, use fallback
* Cleanup DEBUG flags of *GraphicsConfigurationFactory (Use the common ↵Sven Gothel2012-02-254-7/+0
| | | | 'nativewindow.debug.GraphicsConfiguration')
* X11/GLX: Query X Server whether GLX is available (X11/SharedResourceRunner) ↵Sven Gothel2012-02-255-26/+36
| | | | | | | | | | | | ; Minor cleanups. Before gathering GLX details and actually instantiate a X11/GLX shared resource, we shall query whether GLX is actually available. Since GLX availability is being queried on the server side, more changes are required for the X11GLX* impl, eg. not using X11GLXGraphicsConfigurationFactory and fall back to X11GraphicsConfigurationFactory.
* Fix commit 9e66972c193399d6dcdf9e6662f4335bdf15736aSven Gothel2012-02-251-1/+1
|
* enhancement: NWJNILibLoader.loadNativeWindow(..) returns true/false if ↵Sven Gothel2012-02-255-10/+17
| | | | loading was successful. Negative result causes proper exception in caller.
* Fix GLProfile/GLDrawableFactory bug: Recursion on default desktop device, ↵Sven Gothel2012-02-257-31/+71
| | | | | | | | | | | | | | since no profile was mapped. GLDrawableFactory*: - Initialize defaultDevice, even if impl. is not available (no GL libraries for impl.), hence - getDefaultDevice() always returns a valid device - getIsDeviceCompatible() only returns 'true' if device is supported _and_ drawable factory is functional GLProfile: - default-desktop-device becomes default-device even if the desktop-factory itself is not functional. This is due to the fact that the subsequent EGL-factory always handles desktop-devices (X11->EGL, GDI->EGL, etc).
* JoglVersion: Avoid NPE if no caps are available.Sven Gothel2012-02-251-3/+5
|
* Min. Graph Parameter type change: texSize/width/.. for multipass-renderer: ↵Sven Gothel2012-02-2516-56/+67
| | | | | | | | | | 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.
* TestInitConcurrentNEWT: Reduce max threads (16 -> 8) on ARM, also use vsync ↵Sven Gothel2012-02-241-2/+7
| | | | to reduce load
* Surface2File: Use .tga to write pixels, which allows RGB and RGBASven Gothel2012-02-241-1/+1
|
* Fix MultisampleDemo01 -> MultisampleDemoES1 (proper profile, remove ↵Sven Gothel2012-02-243-31/+52
| | | | immediate mode for ES1) ; Fix GLES1Impl.glOrtho()
* Add GLProfile.getGL2GL3() meta profile getter completing getGL2ES[12]()Sven Gothel2012-02-245-8/+58
|
* GLProfile.GL2GL3: Use GL2GL3 profile (required for this test) and check it's ↵Sven Gothel2012-02-231-8/+7
| | | | availability.
* MemoryObject: Use proper generics styleSven Gothel2012-02-231-2/+2
|
* Enhance GLProfile's profile tests - compare the final String references, ↵Sven Gothel2012-02-231-19/+19
| | | | | | | | | instead of String comparison. GLProfile's 'profile' string reference is final and one of the static final GL* string references, with which it is compared. Hence only the references can be used here. Impact: Performance.
* Fix GLProfile.isGL2ES2(): "isGL2() || isGL3()" -> "isGL2GL3()"Sven Gothel2012-02-231-14/+14
| | | | .. was excluding: GL2GL3 common profile.
* NEWT/ScreenMode DEBUG_TEST_SCREENMODE_DISABLED ↵Sven Gothel2012-02-231-1/+6
| | | | (-Dnewt.test.Screen.disableScreenMode) - If set also avoid 'getCurrentScreenModeImpl()'
* NEWT: Add time costs in DEBUG mode. NEWT/XRandR: Reuse ↵Sven Gothel2012-02-235-128/+186
| | | | | | | | | | | 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.
* Fine tune unit tests for ES platformsSven Gothel2012-02-2213-49/+134
|
* X11Screen: Only dump RandR version info in DEBUG mode.Sven Gothel2012-02-221-1/+1
|
* EGL Display Lifecycle Robustness Patch (impl. workaround)Sven Gothel2012-02-226-13/+121
| | | | | | | | | | 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.
* Fix commit 33249b6eca519947b02f3bfbf05b73d73c936094Sven Gothel2012-02-221-4/+0
|
* DEBUG Output: More thread-names to drawable/context lifecycle; Remove ↵Sven Gothel2012-02-2227-119/+125
| | | | massive '!!!' occurence
* TestGPUMemSec01NEWT ES fix: No RGB read pixel available on ES platformSven Gothel2012-02-221-11/+65
|
* Test: UITestCase.get*Name() takes 'String separator' as argument.Sven Gothel2012-02-224-15/+15
|
* GraphicsConfigurationFactory: Add DEBUG dump @ chooserSven Gothel2012-02-223-1/+8
|
* ExtensionAvailabilityCache: Remove 'XXX_NV_vertex_array_range' hackSven Gothel2012-02-221-11/+1
|
* Fix VBORegion2PES2: Don't exceed MAQX_TEXTURE_SIZESven Gothel2012-02-221-0/+8
|
* TextureIO (TGA/NetPbm): Allow GL_BGR[A] and use GL_BGRA if available ; Fix ↵Sven Gothel2012-02-226-61/+284
| | | | | | | | | | | | | NetPbmTextureWriter ; Added unit tests - Allow GL_BGR[A] usage (TGA / NetPbm) - Use GL_BGRA if available (TGA), utilize GLContext.isTextureFormatBGRA8888Available() - Fix NetPbmTextureWriter - Maintain 'auto' magic mode for 'spi' role in TextureIO (was overwritten) - Use FileChannel for nio buffer streaming, instead of array copy
* Test (graph) fixes for ESSven Gothel2012-02-227-52/+108
| | | | | | - MSAATool: Catch gl-errors on glIsEnabled(..) queries - Call MSAATool.dump(..) in base class GPURendererListenerBase01
* Fix GLReadBufferUtil for ES platforms: RGB read format may not be supported. ↵Sven Gothel2012-02-221-13/+44
| | | | Use GL_IMPLEMENTATION_COLOR_READ_FORMAT/TYPE query
* FBObject: Meaningfull error message if TexImage2D fails.Sven Gothel2012-02-221-10/+17
|
* FontSet (graph): get*(..) throws IOException - Proper passing and handling ↵Sven Gothel2012-02-228-58/+109
| | | | of IOException
* EGLDrawable: use the original requested Capabilities, ignore previously ↵Sven Gothel2012-02-221-3/+2
| | | | | | | | | chosen ones (x11,win32,..) - they are not fit The previous chosen caps might come from GLX, WGL .. however, these caps doesn't reflect EGL's capabilities - they may reflect less features. This fixes missing MSAA on linux/armv7 w/ GLX enabled.
* Minor GL/GLContext additions / cleanups (GL_BGRA, isNPOTTextureAvailable())Sven Gothel2012-02-225-11/+22
| | | | | | | | - Subsume GL_EXT_texture_format_BGRA8888 -> GL, Added GLContext.isTextureFormatBGRA8888Available() - Movied generic isNPOTTextureAvailable() from GL -> GLContext, used by GL (desktop), added simplified impl. in GLES1/GLES2 (false/true)
* Remove unused class jogamp/opengl/gl2/UtilSven Gothel2012-02-221-244/+0
|
* API Change [GLProfile/GLContext]: Add notion of hardware acceleration in ↵Sven Gothel2012-02-209-114/+270
| | | | | | | | | | | | | | | | | | | | | | | | | | GLProfile.get<Profile>() methods. We need to distinguish between software and hardware accelerated OpenGL profiles to allow choosing the proper profiles [default, GL2ES1, GL2ES2, ..] on platforms where both, software and hardware implementations exist (GL, GLES2, ..). Where no preference is being requested, hardware acceleration is favored: GLProfile.getDefault() GLProfile.getGL2ES1() GLProfile.getGL2ES2() Some method signatures needed to change GLProfile: getMaxProgrammable(AbstractGraphicsDevice device) -> getMaxProgrammable(AbstractGraphicsDevice device, boolean favorHardwareRasterizer) GLProfile adds: isHardwareRasterizer() Determination whether a hardware acceleration is being used or not is extended in GLContextImpl by querying the current context's GL_RENDERER string. If the latter contains 'software' (case insensitive) it is not hardware accelerated. At least this works w/ newer Mesa3D impl, where GLX_SLOW_CONFIG is not set!
* Fix commit fb7165e690546359dee92dd60b04be69f141c87e; Clarify ↵Sven Gothel2012-02-208-57/+38
| | | | ShaderState.attachShaderProgram(..)
* Hide dump of screen origin/size behind DEBUG flag.Sven Gothel2012-02-191-1/+3
|
* Cleanup ShaderCode/Program/StateSven Gothel2012-02-197-40/+66
| | | | | | - Add multiple sources for create ShaderCode - Add Shaderstate attachShaderProgram w/ enable flag - Clarify doc
* GLGLuegen: Enhance debug/analysis code and API commentsSven Gothel2012-02-154-41/+94
| | | | | | | | | | | | | - Use Gluegen.debug() setting - BuildStaticGLInfo.getExtension(name) returns a set of all extension where name occurs - GLConfiguration.shouldIgnoreExtension() reflects all extensions, inclusive the renames one and gives a warning in case the symbol belongs to multiple extension - in debug mode! - API comment: List all extensions, incl. the one from the renames, this allows having a proper list to which extensions the define/function belongs to.
* Fix TestTransformFeedbackVaryingsBug407NEWT (2): Use getMaxProgrammable() ↵Sven Gothel2012-02-141-1/+1
| | | | for profile, allowing test on OSX (only has GL3 core profile at max).
* Fix TestTransformFeedbackVaryingsBug407NEWT regression: Get default profile ↵Sven Gothel2012-02-141-2/+1
| | | | (not GL4) and check. Ooops.
* Simplify TestTransformFeedbackVaryingsBug407NEWT: Use 'in thread' ctx flow ↵Sven Gothel2012-02-141-81/+50
| | | | and debug context.
* Fix ExtensionAvailabilityCache ; Enhance caching.Sven Gothel2012-02-1412-123/+129
| | | | | | | | | | | | | | | | | | | ExtensionAvailabilityCache regression / enhancement: - Set context version (w/o string) before caching. This is required since we query the ctx version. Regression from 4011e70eed8c88aee0fcd051a50ab3f15bb94f68 - Remove GLContextImpl state. Only use the passed value at initialization. - Defined initialization, due to the 'new' cache/instantiation logic Remove redundant GLContext profile bits: - CTX_OPTION_ANY: implicit if !CTX_OPTION_FORWARD - CTX_IMPL_ACCEL_HARD: implicit if !CTX_IMPL_ACCEL_SOFT Cache key (ProcAddressTable, Extensions): - Mask out GLContext.CTX_OPTION_DEBUG | GLContext.CTX_IMPL_ES2_COMPAT, since they don't influence the cached values.
* Enhance ExtensionAvailabilityCache ; Expose extension count in GLContext ↵Sven Gothel2012-02-139-117/+199
| | | | | | | | | | | | | | (and clean up) - GLContext - Expose isFunctionAvailable(), isExtensionAvailable(), getPlatformExtensionCount(), getGLExtensionCount() - sort methods a bit ExtensionAvailabilityCache: - Favor StringBuilder instead of StringBuffer (faster) - Resuse set's - Hold dedicated counts of extensions, platform and GL
* Test: Remove dedicated mobile profile test, will be included in ↵Sven Gothel2012-02-131-93/+0
| | | | TestGLProfile01NEWT