|
JOGL v2.6.0-rc-20250712
JOGL, High-Performance Graphics Binding for Java (public API).
|
Tests for bug 463, where gluScaleImage uses up all system memory. More...
Public Member Functions | |
| void | init (final GLAutoDrawable drawable) |
| Called by the drawable immediately after the OpenGL context is initialized. More... | |
| void | display (final GLAutoDrawable drawable) |
| Called by the drawable to initiate OpenGL rendering by the client. More... | |
| void | reshape (final GLAutoDrawable drawable, final int x, final int y, final int width, final int height) |
| Called by the drawable during the first repaint after the component has been resized. More... | |
| void | dispose (final GLAutoDrawable drawable) |
| Notifies the listener to perform the release of all OpenGL resources per GLContext, such as memory buffers and GLSL programs. More... | |
| void | test01 () throws InterruptedException |
Public Member Functions inherited from com.jogamp.opengl.test.junit.util.UITestCase | |
| int | getMaxTestNameLen () |
| String | getSnapshotFilename (final int sn, String postSNDetail, final GLCapabilitiesImmutable caps, final int width, final int height, final boolean sinkHasAlpha, String fileSuffix, final String destPath) |
| void | snapshot (final int sn, final String postSNDetail, final GL gl, final GLReadBufferUtil readBufferUtil, final String fileSuffix, final String destPath) |
| Takes a snapshot of the drawable's current front framebuffer. More... | |
| void | init (GLAutoDrawable drawable) |
| Called by the drawable immediately after the OpenGL context is initialized. More... | |
| void | dispose (GLAutoDrawable drawable) |
| Notifies the listener to perform the release of all OpenGL resources per GLContext, such as memory buffers and GLSL programs. More... | |
| void | display (GLAutoDrawable drawable) |
| Called by the drawable to initiate OpenGL rendering by the client. More... | |
| void | reshape (GLAutoDrawable drawable, int x, int y, int width, int height) |
| Called by the drawable during the first repaint after the component has been resized. More... | |
Static Public Member Functions | |
| static void | main (final String args[]) |
Static Public Member Functions inherited from com.jogamp.opengl.test.junit.util.UITestCase | |
| static void | setResetXRandRIfX11AfterClass () |
| static int | resetXRandRIfX11 () |
| Iterates through all outputs and sets the preferred mode and normal rotation using RandR 1.3. More... | |
| static int | processCommand (final String[] cmdline, final OutputStream outstream, final StringBuilder outstring, final String outPrefix) |
| static final void | oneTimeSetUpUITest () |
| static final void | oneTimeTearDownUITest () |
Tests for bug 463, where gluScaleImage uses up all system memory.
This was due to creating millions of 4-byte direct buffer objects inside the tight loops of Image.fill_image() and Image.empty_image(). Since the JVM apparently can only allocate direct buffer in 4MB chunks, each 4-byte buffer cost us a million times the memory it should have. Changing the constructor of Type_Widget.java back to non-direct buffer (like it was in JOGL 1) solves the problem.
Definition at line 58 of file TestBug463ScaleImageMemoryAWT.java.
| void com.jogamp.opengl.test.junit.jogl.glu.TestBug463ScaleImageMemoryAWT.display | ( | final GLAutoDrawable | drawable | ) |
Called by the drawable to initiate OpenGL rendering by the client.
After all GLEventListeners have been notified of a display event, the drawable will swap its buffers if setAutoSwapBufferMode is enabled.
Implements com.jogamp.opengl.GLEventListener.
Definition at line 65 of file TestBug463ScaleImageMemoryAWT.java.
| void com.jogamp.opengl.test.junit.jogl.glu.TestBug463ScaleImageMemoryAWT.dispose | ( | final GLAutoDrawable | drawable | ) |
Notifies the listener to perform the release of all OpenGL resources per GLContext, such as memory buffers and GLSL programs.
Called by the drawable before the OpenGL context is destroyed by an external event, like a reconfiguration of the GLAutoDrawable closing an attached window, but also manually by calling destroy.
Note that this event does not imply the end of life of the application. It could be produced with a followup call to init(GLAutoDrawable) in case the GLContext has been recreated, e.g. due to a pixel configuration change in a multihead environment.
Implements com.jogamp.opengl.GLEventListener.
Definition at line 93 of file TestBug463ScaleImageMemoryAWT.java.
| void com.jogamp.opengl.test.junit.jogl.glu.TestBug463ScaleImageMemoryAWT.init | ( | final GLAutoDrawable | drawable | ) |
Called by the drawable immediately after the OpenGL context is initialized.
Can be used to perform one-time OpenGL initialization per GLContext, such as setup of lights and display lists.
Note that this method may be called more than once if the underlying OpenGL context for the GLAutoDrawable is destroyed and recreated, for example if a GLCanvas is removed from the widget hierarchy and later added again.
Implements com.jogamp.opengl.GLEventListener.
Definition at line 61 of file TestBug463ScaleImageMemoryAWT.java.
|
static |
Definition at line 135 of file TestBug463ScaleImageMemoryAWT.java.
| void com.jogamp.opengl.test.junit.jogl.glu.TestBug463ScaleImageMemoryAWT.reshape | ( | final GLAutoDrawable | drawable, |
| final int | x, | ||
| final int | y, | ||
| final int | width, | ||
| final int | height | ||
| ) |
Called by the drawable during the first repaint after the component has been resized.
The client can update it's viewport associated data and view volume of the window appropriately.
For efficiency the GL viewport has already been updated via glViewport(x, y, width, height) when this method is called.
| drawable | the triggering GLAutoDrawable |
| x | lower left corner of the viewport rectangle in pixel units |
| y | lower left corner of the viewport rectangle in pixel units |
| width | width of the viewport rectangle in pixel units |
| height | height of the viewport rectangle in pixel units |
Implements com.jogamp.opengl.GLEventListener.
Definition at line 88 of file TestBug463ScaleImageMemoryAWT.java.
| void com.jogamp.opengl.test.junit.jogl.glu.TestBug463ScaleImageMemoryAWT.test01 | ( | ) | throws InterruptedException |
Definition at line 97 of file TestBug463ScaleImageMemoryAWT.java.