aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes
Commit message (Collapse)AuthorAgeFilesLines
* API doc: GLStateKeeper (wording), GLAutoDrawable (enh. init desc.), ↵Sven Gothel2013-10-273-16/+22
| | | | GLDrawable (Shared Context)
* Fix Bug 872: ES3 and ES3-GLSL Version not properly HandledSven Gothel2013-10-252-16/+35
| | | | | | | | | | | | | | | | GLContext: - Proper API doc for Version* fields - getStaticGLSLVersionNumber(): ES3 -> Version300 - hasGLSL(): Add ES3 ShaderCode: - addDefaultShaderPrecision(): - ES2 default precision: Don't 'tune up' default precision for fragment shader, use 'mediump' - Add ES3 default precision (equal to ES2 default precision) - requiresDefaultPrecision(): Shall returns 'true' for ES3 as well!
* Fix regression of commit 34b35c5a0a379a6b4c0b23b9d347a0b1338f0239 - ↵Sven Gothel2013-10-251-3/+11
| | | | GLContextImpl.createContextARBVersions(..) erroneous upper bounds check.
* Merge remote-tracking branch 'hharrison/master'Sven Gothel2013-10-259-137/+125
|\
| * jogl: add generics annotations to lists in the waveout codeHarvey Harrison2013-10-231-9/+9
| | | | | | | | Signed-off-by: Harvey Harrison <[email protected]>
| * jogl: add generic annotations to the packed rectangle utility packageHarvey Harrison2013-10-233-51/+47
| | | | | | | | Signed-off-by: Harvey Harrison <[email protected]>
| * jogl: indent trace statements in the Trace pipelines when we hit glBeginHarvey Harrison2013-10-231-0/+3
| | | | | | | | | | | | | | | | | | The indent was being reduced on glEnd/glEndList but was never being incremented. The intent appeared to be to indent all statements between glBEgin/glEnd pairs to show the nested context of those calls. Add the increment after printing the glBegin trace statement. Signed-off-by: Harvey Harrison <[email protected]>
| * jogl: add final to Debug wrapper error code and fix indentationHarvey Harrison2013-10-231-4/+6
| | | | | | | | | | | | Make the indentation consistent in each function wrapper. Signed-off-by: Harvey Harrison <[email protected]>
| * jogl: pass format and arguments directly to the printGLError functionHarvey Harrison2013-10-221-7/+11
| | | | | | | | | | | | | | This saves us a bit more code size as the String.format is now in the common helper rather than in every GL wrapper function. Signed-off-by: Harvey Harrison <[email protected]>
| * jogl: save on class size in the Debug pipelinesHarvey Harrison2013-10-221-11/+22
| | | | | | | | | | | | | | Using a format String and arg list produces smaller class files for the Debug classes as many of the format strings are identical and shared. Signed-off-by: Harvey Harrison <[email protected]>
| * jogl: do not generate an extra String for the Debug pipeline wrappersHarvey Harrison2013-10-221-4/+4
| | | | | | | | | | | | | | | | Build the caller string directly and don't wrap it in an extra constructor. Update the indentation level for the newly added if-block from the previous commit. Signed-off-by: Harvey Harrison <[email protected]>
| * jogl: change code generation for Debug pipelines to avoid building large stringsHarvey Harrison2013-10-221-15/+11
| | | | | | | | | | | | | | | | | | - split the check for a GL error from the output of the error string - only build the caller String when there is an error to report - wrap String building in an if() block rather than using an early return as we don't know the return type in the postDownstreamCallHook Signed-off-by: Harvey Harrison <[email protected]>
| * jogl: use .format() to build the method signature when generating pipeline codeHarvey Harrison2013-10-211-8/+4
| | | | | | | | Signed-off-by: Harvey Harrison <[email protected]>
| * jogl: adapt code generator to output @Override annotations in various placesHarvey Harrison2013-10-211-1/+2
| | | | | | | | | | | | | | This adds the @Override to methods in the GL implementations (debug, trace, etc) for methods implementing a GL Profile. It also adds @Override for the toString() method. Signed-off-by: Harvey Harrison <[email protected]>
| * jogl: enable generics annotations on TextRendererHarvey Harrison2013-10-201-16/+13
| | | | | | | | | | | | These were already here, enable them. Signed-off-by: Harvey Harrison <[email protected]>
| * jogl: remove clone() version that can only ever failHarvey Harrison2013-10-201-17/+0
| | | | | | | | | | | | | | | | | | | | commit: d75835796900cac602f7e5789601ffba0a27efe2 (Graph: More std. functionality (equals, clone) / Better in-place transformation (cubic -> quadratic)) Added a clone method, but did not implement Cloneable, meaning Object.clone() will always throw CloneNotSupportedException. This method never returns anythng but null. Signed-off-by: Harvey Harrison <[email protected]>
| * jogl: replce more unneeded String() constructionHarvey Harrison2013-10-202-6/+5
| | | | | | | | Signed-off-by: Harvey Harrison <[email protected]>
* | GLProfile: Fix native profile mapping, i.e. use actual mapped profile-impl ↵Sven Gothel2013-10-251-42/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | as detected and mapped by GLContext ; Enhance glAvailabilityToString(..) We shall not map profile == profile-impl, i.e. GL3 -> GL3, but use GLContext.getAvailableGLProfileName(device, reqMajor, reqProfileBits). The latter reflects the actual mapped context as detected. glAvailabilityToString(..) - Partition result in [Natives, Common and Mappings] - Mappings dumps mapped keys to profiles, while excluding default. Default is added at last. - Add count.
* | JoglVersion: "Default Profiles on device" -> "GLProfiles on device" - Since ↵Sven Gothel2013-10-251-1/+1
| | | | | | | | we do use the named device
* | Fix GLContext: getGLProfile() add missing GLES3; ↵Sven Gothel2013-10-252-4/+17
| | | | | | | | getAvailableGLProfile(device, ..) shall use GLProfile.get(device, ..)
* | Bug 867 OSX [Common Code]: Trigger GLRendererQuirks.GL4NeedsGL3Request and ↵Sven Gothel2013-10-258-53/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | make it sticky; Only alias profiles if HW-Accelerated! Only alias profiles if HW-Accelerated! GLContextImpl.mapGLVersions(..) shall not map a higher profile to a lower if it is a software renderer. +++ GLContextImpl.mapGLVersions(..) attempts to trigger GLRendererQuirks.GL4NeedsGL3Request if OSX 10.9 by creating a GL3 core context first. +++ GLContextImpl.setGLFunctionAvailability(): - On OSX 10.9: Detect GLRendererQuirks.GL4NeedsGL3Request and make it sticky (per device) while 'withinGLVersionsMapping' - Merge sticky quirks w/ local quirks +++ TestGearsES2NEWT: Add cmdline '-gl2' to force GL2 profile.
* | Bug 867 - OSX: Allow core >=4 if isMavericksOrLater; Use ↵Sven Gothel2013-10-242-27/+48
| | | | | | | | [kCGLOGLPVersion_GL4_Core, kCGLOGLPVersion_GL3_Core] for major==4 depending on sticky GLRendererQuirks.GL4NeedsGL3Request
* | Bug 867 - OSX 10.9: Recognize OpenGL Core Profile > 3.0 - Add ↵Sven Gothel2013-10-241-15/+84
| | | | | | | | | | | | | | | | | | | | | | | | GLRendererQuirks: Quirk GL4NeedsGL3Request and 'sticky device quirks' The 'sticky device quirks' are required to share quirks among devices as collected while mapping the GL versions (audit). Those are context independent and may only be detected for certain contexts. They can be pushed/added to the context's quirks, but also queried at context creation (after mapping) - before the local quirks are being created.
* | GLContext CTX_IMPL_* bits: Use 10 cached bits (+1), and 6 uncached (-1) ; ↵Sven Gothel2013-10-241-9/+9
| | | | | | | | CTX_IMPL_FP32_COMPAT_API: "FP32 compat-api" -> "FP32 compat"
* | Fix Bug 866 - Frequent IndexOutOfBoundsException in ↵Brice Figureau2013-10-231-1/+1
|/ | | | jogamp.opengl.egl.EGLGraphicsConfigurationFactory: Add missing 'else' in branch
* Fix Bug 827 - ShaderProgam helper class reports errors incorrectlySven Gothel2013-10-191-2/+2
|
* Fix Bug 862: Fix GL Version Validation / NVidia GTX550 driver 331.13 - 64bit ↵Sven Gothel2013-10-193-90/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linux - No compatibility GLProfile (GL2, >= GL3bc) Fix GL Version Validation: We shall not rely on our known good versions when validating a queried GL context version, but allow some 'room' for a higher version post JOGL release while still cutting off 'odd versions'. While GL version detection, we always iterate from the highest known version down to the lowest. Hence 'GLContext.isValidGLVersion(..)' is satisfied by validating the lowest version number but allowing a higher than known one. Now we would return 'invalid' for a version >= 6. It is enough to clip to the maximum known version when iterating, allowing the highest unknown version to be available. GLContext.isValidGLVersion(..): Returns true, if the major.minor is not inferior to the lowest valid version and does not exceed the highest known major number by more than one. The minor version number is ignored by the upper limit validation and the major version number may exceed by one. The upper limit check is relaxed since we don't want to cut-off unforseen new GL version since the release of JOGL. Hence it is important to iterate through GL version from the upper limit and 'decrementGLVersion(..)' until invalid. Add GL Version 4.4 to valid known versions. Remove ES3 desktop detection, which is impossible Regression of commit 3a0d7703da32e9a5ddf08a334f18588a78038d88 (ES3 support)
* jogl: allow short-circuited comparison in comparisonHarvey Harrison2013-10-181-1/+1
| | | | | | | For this case && and & work equivalently, but using && allows the second comparison to be omitted if the first comparison is false. Likely just a typo. Signed-off-by: Harvey Harrison <[email protected]>
* jogl: fix typo in RandomTileRenderer, range chack was for tY, not tX againHarvey Harrison2013-10-171-1/+1
| | | | Signed-off-by: Harvey Harrison <[email protected]>
* jogl: allow case statements to fall through to same blockHarvey Harrison2013-10-171-2/+0
| | | | | | | | This block is falling through to the next cases where there two variables are set to the same values. Just remove this block and let all cases fall through to the same block. Signed-off-by: Harvey Harrison <[email protected]>
* jogl: fix two impossible comparisons in glu/tessellatorHarvey Harrison2013-10-171-2/+2
| | | | | | | | | The comparison to Long.MAX_VALUE will never trigger as it is coparing with an int. The intent of this code appears to be to check against Integer.MAX_VALUE which is used as an error code (unable to allocate sufficiently large array) from the priorityQueue. Signed-off-by: Harvey Harrison <[email protected]>
* jogl: add missing @Override annotationsHarvey Harrison2013-10-17218-3/+750
| | | | Signed-off-by: Harvey Harrison <[email protected]>
* jogl: remove all trailing whitespaceHarvey Harrison2013-10-17468-9176/+9176
| | | | Signed-off-by: Harvey Harrison <[email protected]>
* AWTPrintLifecycle.setupPrint(..): Fix regression of commit ↵Sven Gothel2013-10-181-6/+7
| | | | | | | | | | | | a05b87a369441d9ef38f97929f866b3d4ced0e57: NULL printGLAD of GLCanvas and NewtCanvasAWT We have to pre-init printGLAD w/ current GLAD (similiar w/ GLJPanel). Also properly define reqNewGLAD: reqNewGLAD = !caps.getSampleBuffers() && ( reqNewGLADOnscrn || reqNewGLADSamples || reqNewGLADSize ); where '!caps.getSampleBuffers() && ( .. )' is due to Bug 830, swapGLContextAndAllGLEventListener and onscreen MSAA w/ NV/GLX does not work.
* Refine Int -> Enum conversion (commit ↵Sven Gothel2013-10-171-11/+29
| | | | | | | 40863632d1428de015099b5967e5136425e99f25), throw IllegalArgumentException if ordinal is out-of-range. Add API doc. - FFMPEGNatives - MouseEvent.PointerType
* Int -> Enum using EnumClass.values()[ordinal] instead of for-loop - ↵Sven Gothel2013-10-171-8/+8
| | | | FFMPEGNatives's Enums and new MouseEvent.PointerType.valueOf(int)
* Add efficient set(..all..) to Dimension, Insets, Point and Rectangle of ↵Sven Gothel2013-10-162-8/+4
| | | | NativeWindow's util types.
* AWTPrintLifecycle.setupPrint(..): Add optional tileWidth and tileHeight, ↵Sven Gothel2013-10-153-27/+50
| | | | allowing user to set custom tile size for performance evaluation/tweak
* GLMediaPlayer: Fix CameraInputScheme URI doc and Android test streams (Use ↵Sven Gothel2013-10-151-1/+1
| | | | mp4 instead of webm, fix Camera URI)
* Merge pull request #71 from esemplare/masterSven Gothel2013-10-121-14/+63
|\ | | | | | | | | Fix Bug 365: Bug on javax.media.opengl.glu.GLU.gluBuild2DMipmaps I will commit your unit test manually from the bug report (pls add it to your pull request next time) Thank you!
| * Fix Bug 365: Bug on javax.media.opengl.glu.GLU.gluBuild2DMipmapsMichael Esemplare2013-10-071-14/+63
| | | | | | | | Fixed convolution window widths for single column scaling.
* | Bug 860 - AWT Printing (AWTTilePainter): Shall use the enclosing integer ↵Sven Gothel2013-10-121-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rectangle of the scaled double precision clipping rect AWTTilePainter simply rounds the scaled double precision clipping rectangle to receive the integer rectangle. This leads to uncovered drawing areas, since the integer rectangle position could be greater - and the size could be smaller than the double precision source. To get the enclosing rectangle, we need to use iPos = floor(position) iSize = ceil(position+size) - floor(position) .. turns our that the double precision 'Rectangle Rectangle2D.getBounds()' already performs this math.
* | Bug 859: Let TileRenderer detect zero columns and rows in eot() where ↵Sven Gothel2013-10-125-49/+171
| | | | | | | | beginTile() throws an EOT IllegalStateException to avoid division by zero
* | Bug 852: Validate CPU sourced data API is allowed, throw exception if not. ↵v2.1.0Sven Gothel2013-10-103-7/+7
| | | | | | | | GLContext: isCPUSourcedAvail() -> isCPUDataSourcingAvail()
* | Bug 852: Remove CPU sourced data API entry where not allowed (ES3 and GL ↵Sven Gothel2013-10-106-15/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | core >= 3.0) ; GL2 cfg: Ignore GL2ES3 symbols (super) Remove CPU sourced data API entries via new config 'BufferObjectOnly <name>', listed in 'gl-common-gpubufferonly.cfg' and included in ES3 and all GL core >= 3 interfaces. If BufferObjectOnly is defined for a function, only the 'long offset' variant is being emitted. Due to limitations of GlueGen's 'ExtendedInterfaceSymbolsIgnore A.java', which only identifies the function name and not the signature - all CPU sourced variants are manually added to the compatibility and ES2 GL profiles via '*-common-cpubufferJavaCode.java' files. GLContext: Added 'isCPUSourcedAvail()' to determine whether context allows CPU sourced data, i.e. for GL2ES1 and GLES2 ctx. GLContext/GLProfile/GL: isGLES2() now returns false if having a ES3 context due to 'CPU sourced' incompatibility! +++ GL2 cfg: Added ignore GL2ES3 symbols of it's superclass, removing duplicated symbols.
* | NativeWindow/OSX: Fix RunOnThread/RunLater - Properly determine 'forkOnMain' ↵Sven Gothel2013-10-071-1/+1
| | | | | | | | via onMain && ( isOnMain || 0 < delay )
* | FFMPEGMediaPlayer: Use IOUtil.decodeFromURI(..) to unescape %20Sven Gothel2013-10-071-1/+2
| |
* | Bug 789: glDrawArraysIndirect and glDrawElementsIndirect are using ↵Sven Gothel2013-10-063-2/+8
| | | | | | | | GL_DRAW_INDIRECT_BUFFER, add VBO variant and range-check
* | AWTTilePainter: Avoid NPE if Graphic2D's AffineTransform is null, use ↵Sven Gothel2013-10-031-5/+12
| | | | | | | | identity tranform in such case.
* | Bug 818: Enable new quirk GLSLNonCompliant on OSX < 10.7 w/ NV GPU; ↵Sven Gothel2013-10-033-10/+36
| | | | | | | | GLJPanel: Don't use GLSL flip if quirk GLSLNonCompliant is present.