diff options
author | Sven Gothel <[email protected]> | 2014-05-26 19:18:43 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2014-05-26 19:18:43 +0200 |
commit | fc1e98790a02b4fa7922f3cdd9d437f87d7c99e5 (patch) | |
tree | c45b50fcb963b44013887214b6adbd83e2d2ba48 /src/jogl/classes/jogamp/opengl/GLStateTracker.java | |
parent | 93bbc064a1a4cf80079f28e48a5deb50de4a9e66 (diff) |
Bug 1010 - Fix ES3.glPixelStorei and revalidate GLPixelStorageModes
Remove GLES3Impl.glPixelStorei pname validation which was true for ES2 impl,
but is no more valid for ES3, which accepts more values than
GL_PACK_ALIGNMENT & GL_UNPACK_ALIGNMENT.
Revalidate GLPixelStorageModes:
- Properly support ES3 PixelStorageModes
- Revalidate PixelStorageModes for all GL profiles
- Properly reset values at save
- Separate PACK and UNPACK save/reset/restore implementation
Diffstat (limited to 'src/jogl/classes/jogamp/opengl/GLStateTracker.java')
-rw-r--r-- | src/jogl/classes/jogamp/opengl/GLStateTracker.java | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/jogl/classes/jogamp/opengl/GLStateTracker.java b/src/jogl/classes/jogamp/opengl/GLStateTracker.java index 0e451741c..706d51323 100644 --- a/src/jogl/classes/jogamp/opengl/GLStateTracker.java +++ b/src/jogl/classes/jogamp/opengl/GLStateTracker.java @@ -57,10 +57,11 @@ public class GLStateTracker { /** Minimum value of MAX_CLIENT_ATTRIB_STACK_DEPTH */ public static final int MIN_CLIENT_ATTRIB_STACK_DEPTH = 16; - /** static size of pixel state map */ - static final int PIXEL_STATE_MAP_SIZE = 16; + /** static size of pixel state map + private static final int PIXEL_STATE_MAP_SIZE = 16; + */ /** avoid rehash of static size pixel state map */ - static final int PIXEL_STATE_MAP_CAPACITY = 32; + private static final int PIXEL_STATE_MAP_CAPACITY = 32; private volatile boolean enabled = true; @@ -111,7 +112,7 @@ public class GLStateTracker { /** @return true if found in our map, otherwise false, * which forces the caller to query GL. */ - public final boolean getInt(int pname, int[] params, int params_offset) { + public final boolean getInt(final int pname, final int[] params, final int params_offset) { if(enabled) { final int value = pixelStateMap.get(pname); if(0xFFFFFFFF != value) { @@ -124,7 +125,7 @@ public class GLStateTracker { /** @return true if found in our map, otherwise false, * which forces the caller to query GL. */ - public final boolean getInt(int pname, IntBuffer params, int dummy) { + public final boolean getInt(final int pname, final IntBuffer params, final int dummy) { if(enabled) { final int value = pixelStateMap.get(pname); if(0xFFFFFFFF != value) { @@ -135,15 +136,15 @@ public class GLStateTracker { return false; } - public final void setInt(int pname, int param) { + public final void setInt(final int pname, final int param) { if(enabled) { pixelStateMap.put(pname, param); } } - public final void pushAttrib(int flags) { + public final void pushAttrib(final int flags) { if(enabled) { - SavedState state = new SavedState(); // empty-slot + final SavedState state = new SavedState(); // empty-slot if( 0 != (flags&GL2.GL_CLIENT_PIXEL_STORE_BIT) ) { // save client pixel-store state state.setPixelStateMap(pixelStateMap); @@ -157,7 +158,7 @@ public class GLStateTracker { if(stack.isEmpty()) { throw new GLException("stack contains no elements"); } - SavedState state = stack.remove(stack.size()-1); // pop + final SavedState state = stack.remove(stack.size()-1); // pop if(null==state) { throw new GLException("null stack element (remaining stack size "+stack.size()+")"); |