| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| | |
removed all redundant methods from BufferUtil.
|
| | |
|
| |
| |
| |
| |
| | |
http://www.jogamp.org/bugzilla/show_bug.cgi?id=392
7220416bcef3140883d3966d921442feae3107c4
|
|\| |
|
| | |
|
| | |
|
|/ |
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| | |
com.jogamp.opengl.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
- renamed com.sun.gluegen.runtime -> com.jogamp.gluegen.runtime.
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As shown below, the concurrent access of GLStateTracker
while being cleared by GLContext.destroy() causes a NPE.
GLContext.destroy() shall disable it first, then clear it.
The state stack pop method shall also swap the mapping
with a most atomic action.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at com.sun.opengl.impl.GLStateTracker.getInt(GLStateTracker.java:94)
at com.sun.opengl.impl.gl2.GL2Impl.glGetIntegerv(GL2Impl.java:6102)
at com.sun.opengl.impl.gl2.GL2Impl.imageSizeInBytes(GL2Impl.java:26000)
at com.sun.opengl.impl.gl2.GL2Impl.imageSizeInBytes(GL2Impl.java:25713)
at com.sun.opengl.impl.gl2.GL2Impl.glTexImage2D(GL2Impl.java:18692)
at glredbook1314.combiner.init(combiner.java:104)
at com.sun.opengl.impl.GLDrawableHelper.init(GLDrawableHelper.java:88)
at javax.media.opengl.awt.GLJPanel$Updater.init(GLJPanel.java:557)
at com.sun.opengl.impl.GLDrawableHelper.init(GLDrawableHelper.java:88)
at
com.sun.opengl.impl.GLPbufferImpl$InitAction.run(GLPbufferImpl.java:274)
at
com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:149)
at
com.sun.opengl.impl.GLPbufferImpl.maybeDoSingleThreadedWorkaround(GLPbufferImpl.java:267)
at
com.sun.opengl.impl.GLPbufferImpl.swapBuffers(GLPbufferImpl.java:157)
at
com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:159)
at javax.media.opengl.awt.GLJPanel.dispose(GLJPanel.java:238)
+++
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Upgrade SGI FreeB license headers
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
usesNativeGL[23]
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- JOGL GLXUtil
- JOGL X11GLXDrawableFactory
- JOGL X11GLXGraphicsConfigurationFactory
- JOGL X11OffscreenGLXDrawable
- NW X11GraphicsConfigurationFactory
NEWT Display
- Stop EDT immediatly from within EDT when destroying
-
NEWT Window
- Remove obsolete 'disposeSurfaceHandle()'
NEWT GLWindow destroy():
- Deep destruction (Window, Screen and Display) if owner,
otherwise just the GLWindow/GLDrawable
- Add 'sendDisposeEvent' flag, to allow avoiding sending
dispose to all GLEventListeners in a critical shutdown,
ie from within the browser.
NEWT EDT
- More fine grained locking
- unlocked while event dispatching
- double check locking
- Fixed cases where we are running on the EDT ..
|
| |
|