| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
- renamed com.sun.gluegen.runtime -> com.jogamp.gluegen.runtime.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changed solution with a necessary API change of TextureData etc.
Adding required GLProfile element to the factories etc,
so it is clear for which GLProfile data is being created
without the need of a current GLContext.
TextureData/AWTTextureData: Removed the glPostInit* effort ..
IMPACT: Texture util's API change - minor user code change necessary.
+++
|
| |
|
|
|
|
| |
hudson).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test:
Added JUNIT Test Environment:
- tests: jogl.test.jar
- run: 'ant junit.run'
Currently only runs 1 test regarding this bug id.
Adding PATH (windows) or LD_LIBRARY_PATH (unix).
Test initialized AWTTextureData without a current GLContext
and then uses it to render ..
Solution:
Pending initialization of GL depending data,
offered in TextureData.glPostInit(),
specialized in AWTTextureData.
|
|
|
|
|
|
| |
in favor of a simple PointerBuffer.wrap(..),
due to the new semantics, ie internal integer/long presentation.
Fixed the javame code in this regard.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
GL_NV_vertex_buffer_unified_memory
- Cleaned up
- Added in GL2 + GL3 -> GL2GL3
|
|
|
|
|
|
|
|
|
|
|
| |
where 'bc' is not a religious remark,
but simply means 'backward compatible' :)
GL3bc := GL2 + GL3,
hence the interface does not define any new values or methods.
Moved GL3's 3.1 part from gl3.h to gl3ext.h,
so it can be included in gl3bc.c, besides gl2.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Premises:
See http://www.glprogramming.com/red/chapter08.html
"If the rectangle in memory is larger than the subrectangle that's being drawn or read,
you need to specify the actual length (measured in pixels) of the larger rectangle with *ROW_LENGTH. "
This equals ROW_LENGTH == SubPicture-Width + 'Dirt', ie the offset to go from one line to the next.
"You also need to specify the number of rows and pixels to skip before starting to copy the data for the subrectangle.
These numbers are set using the parameters *SKIP_ROWS and *SKIP_PIXELS, as shown in Figure 8-9.
By default, both parameters are 0, so you start at the lower-left corner."
This equals to a one time offset _before_ you start copy the data, ie with your DMA engine,
using ROW_LENGTH and HEIGHT only.
Compared to Mesa3D's implementation (proof):
http://cgit.freedesktop.org/mesa/mesa/tree/src/glx/x11/pixelstore.c
Line 78 - 200
PixelStore State Tracker: Store the values in the PixelStore structure.
http://cgit.freedesktop.org/mesa/mesa/tree/src/glx/x11/pixel.c
Line 82 - 155
Line 210: Start position is set one time using SKIP_* values the same way we do.
Line 228: Jump to the first pixel in the newxt row, just using ROW_LENGTH
Line 230: Jump to the first pixel in the next 'image' just using imageSize,
rowsPerImage = IMAGE_HEIGHT>0?IMAGE_HEIGHT:height;
groupsPerRow = ROW_LENGTH>0?ROW_LENGTH:width;
groupSize = elementSize * components;
rowSize = groupsPerRow * groupSize;
imageSize = rowSize * rowsPerImage;
changes:
Removed redundand 'dimension' parameted, which is derived from depth and height,
1D == depth:1 height:1
2D == depth:1 height>1
nD == depth>1 height>1
Safe fail depth to >= 1
Safe fail height to >= 1D
Take either the ROW_LENGTH / IMAGE_HEIGHT PixelStore value if > 0,
or the given width / height.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and used within the GL*Impl.
New GLStateTracker:
- Tracking client/server states
- Currently supports PixelStorei
- Prologued in glPixelStorei and glGetIntegerv,
the latter will return the tracked state if available
and not call the GL method.
Impacts performance and ES1 compatibility (supports ALIGNMENT).
Fixed 'imageSizeInBytes' calculation:
- skipPixels and skipRows is a static one time offset
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due to limitations on Windows,
we need to standardize the one thread for
- window creation, and
- event dispatching
This was already mentioned in the previous implementation
but while integrating into another threading model (Plugin3),
it turned out that manual managing the thread is too much of a burden.
NEWT now uses a EDT per Display and Thread as the default,
where Display creation, Window creation and event dispatching is 'pipelined' into.
This can be switched off:
NewtFactory.setUseEDT(boolean onoff);
and queried via:
NewtFactory.useEDT();
Note this EDT impl. does not implicate a global lock or whatsoever.
The experimantal semantics of a current GL context
for input event dispatching is removed,
i.e. the GL context is no more made current for mouse/key listener.
This reduces the complexity and allows the proper impl. of
the external dispatch via EDT .. for example.
Removed:
GLWindow: setEventHandlerMode(int) .. etc
X11Display: XLockDisplay/XUnlockDisplay
needed to be utilized to allow the new
multithreading (EDT/Render) Display usage.
X11Window: lockSurface/unlockSurface
locks X11Display as well ..
+++++
NEWT: 'getSurfaceHandle()' semantics changed.
To allow usage of the surfaceHandle for OS
where it is allocated thread local (MS-Windows),
it shall be aquired/released while lockSurface/unlockSurface.
This is done in the Windows Window implementation.
GLWindow can no more query 'getSurfaceHandle()'
to verify if 'setRealized()' was successful.
NEWT: Window surface lock is recursive and blocking now,
as it shall be.
|
| |
|
|
|
|
| |
lib/gluegen.compiler.intelgdl.xml
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- If property 'nativewindow.ws.name' is set,
use it as the custom windowing type returned by
getNativeWindowType(true)
NEWT:
- Using NativeWindowFactory's property 'nativewindow.ws.name'
as a package name for custom NEWT windowing imlementations,
ie:
-Dnativewindow.ws.name=com.sun.javafx.newt.intel.gdl
-Dnativewindow.ws.name=com.sun.javafx.newt.broadcom.egl
This allows far more flexibility to add custom impl.
- Add Intel-GDL, define property 'useIntelGDL'
to build the native part.
Intel GDL is impl in the package 'com.sun.javafx.newt.intel.gdl'
JOGL:
- All impl. of 'createGLDrawable(..)', which were actually creating
onscreen drawable only, were renamed to 'createOnscreenDrawable(..)'.
- GLDrawableFactoryImpl impl. 'createGLDrawable(..)' now
and dispatches to the actual create* methods in respect to
the Capabilities, ie onscreen, pbuffer and offscreen.
- GLDrawableFactory:
- If using a native ES profile -> EGLDrawableFactory
- If existing native OS factory -> Use that ..
- Else -> Use EGLDrawableFactory, if available
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
collisions: lsGL23_commons.sh
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Fixes for OpenGL 3.2
- More strict define/function checking
- Better documentation in source code: extension relation
- GL extension marker exclusion is done by GlueGen now
- Adapted gluegen cfg files
Added OpenGL 3.2 extensions for GL3
Revalidation of all OpenGL 2.0/3.0/3.1 and 3.2 extensions
GL2GL3 based on OpenGL 2.0/3.0 headers
EGL shares common egl-common.cfg file
Removed experimental java system property 'jogl.GLContext.3_2',
try a 3.2 context in case of GL3.
X11GLXContext:
- Always try to make a created context current,
to verify it's usability. This is different than under WGL.
- Temporary removed usage: GLX.GLX_CONTEXT_PROFILE_MASK_ARB
NV driver bug.
|
|
|
|
|
|
|
|
|
|
|
|
| |
GLX_ARB_create_context: Add 3.2 context
WGL_ARB_create_context: Add 3.2 context
Add: Trying to use 3.2 core profile creation for GL3,
disabled by default.
(Disabled per default due to a freezing JVM on Linux
_after_ the Java main thread and Hotspot finishes.)
Experimental: You may try '3.2 core profile creation'
setting the java system property 'jogl.GLContext.3_2'.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- add GL_NV_present_video
- add GL_NV_conditional_render
- add GL_EXT_transform_feedback
- add GL_EXT_direct_state_access
GL3:
- GLAPIENTRY -> APIENTRY (as in the orig headers)
- Add GL_ARB_geometry_shader4 to gl3ext.h
|
| |
|
| |
|
| |
|
|
|
|
| |
ExtensionAvailabilityCache: Add Version 2.1 in case of GL2/OpenGL 3.0
|
|
|
|
| |
the colission-free subsumed extensions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Fix glGetStringi's return type to String
- Fix ExtensionAvailabilityCache:
GL3's glGetStringi for GL_EXTENSIONS
Ensure to add GL_VERSION_2_0 in case version >= 3.0
Ensure to not exceed version 3.0 for non GL3.1 context.
In case of GL 3.1, do not include GL_VERSIONS below 3.0,
since this is a forward compatible context.
- Add Prologue to glGetString, where the ExtensionCache is being
used for GL_EXTENSIONS - if already initialized.
This feature adds backward compatibility for GL3 context on GL_EXTENSION.
+++
General:
Add GLPipelineFactory, a convenient pipeline factory for Debug/Trace and custom ones ..
Change 'void setGL(GL)' to 'GL setGL(GL)', and let it return the successful set GL,
or null.
|
|
|
|
|
|
|
|
|
| |
- GL2ES12:
- Fix calling convention, broke on Windows.
- Remove GL_APIENTRY on gl2/gl3 header: This was a bug.
- Using proper GL2's APIENTRY
- jogl.all.jar: Add missing shader code ..
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Fix array element type name and const qualifier
JOGL:
- GL3: Set ArgumentIsString for GL3.1 methods
- JAR file creation: Add 'filesonly' option
- GLU: Static check of available impl., better fallback for GL2 without GLUgl2.
- WGL: (Performance + Java2D/GL FBO works again)
- Refactor WGL_ARB_pixel_format's HDC -> GLCapabilities: HDC2Caps
- Revert change where we always create a dummy drawable/context
for WGL selection (HDC2Caps).
In case of no multisampling, use PFD2Caps only.
- Update config using HDC2Caps (WGL_ARB_pixel_format)
after context creation, if not done already
-> updateCapabilitiesByWGL().
- profile.jogl: Add debug jars
|
| |
|
| |
|
| |
|
|
|
|
| |
surfaceUpdated(); BroadcomEGL: Use custom surfaceSwap(); GLDrawableImpl's: Utilize NativeWindow's surfaceSwap() and surfaceUpdated(); Fix common enum of GL2ES1 and GL2GL3, merge them in GL
|
| |
|