lwjgl2-arm64/src/java/org/lwjgl/util
Elias Naur 7c6511cf66 Added support for non-direct buffers for all functions that doesn't cache the buffer address at the native side (e.g. glVertexPointer). Reasons:
1. We can now support calls like "glLight(..., ..., FloatBuffer.wrap(new float[] {...}));" without worrying about running out of direct memory heap, 
since both the FloatBuffer and the array are allocated on the java heap. Future JVMs with stack allocation support could improve this even further.
2. We avoid getting in the way of users that doesn't (yet) know why direct buffers are important.

Obviously, we'd like direct support for arrays, but non-direct buffers are a nice compromise that avoids the API bloat that results when almost all 
functions gain an overloaded versions that take arrays instead of buffers.

Notes:

1. Non-direct buffer support should not affect the performance in the direct buffer case, since the non-direct buffer code path is only activated 
when the isDirect() check fails, and we were already checking isDirect() for sanity checking.
2. When using non-direct buffers, the buffer contents (remaining() bytes) are copied to a resizable ThreadLocal cached direct buffer (which is 
resized as needed) and used instead of the non-direct buffer. Thus, performance of non-direct buffers is lower than direct buffers.
2007-04-11 17:30:13 +00:00
..
applet Linux: added support for 64 bit JVMs 2006-07-11 20:30:19 +00:00
generator Added support for non-direct buffers for all functions that doesn't cache the buffer address at the native side (e.g. glVertexPointer). Reasons: 2007-04-11 17:30:13 +00:00
jinput Add correct timestamps to jinput controller environment for LWJGL input Mouse and Keyboard 2006-07-10 00:47:32 +00:00
vector Added missing static methods to Quaternion for consistency. Cleaned up handling of src == dest aliasing 2006-06-16 13:30:27 +00:00
Color.java Tidied up unused variables, added serialVersionUIDs as appropriate, 2006-04-21 11:11:21 +00:00
Dimension.java applied patch to move ID tag 2006-03-23 19:32:21 +00:00
Display.java Tidied up unused variables, added serialVersionUIDs as appropriate, 2006-04-21 11:11:21 +00:00
IGL.java applied patch to move ID tag 2006-03-23 19:32:21 +00:00
Point.java applied patch to move ID tag 2006-03-23 19:32:21 +00:00
ReadableColor.java applied patch to move ID tag 2006-03-23 19:32:21 +00:00
ReadableDimension.java applied patch to move ID tag 2006-03-23 19:32:21 +00:00
ReadablePoint.java applied patch to move ID tag 2006-03-23 19:32:21 +00:00
ReadableRectangle.java applied patch to move ID tag 2006-03-23 19:32:21 +00:00
Rectangle.java applied patch to move ID tag 2006-03-23 19:32:21 +00:00
Renderable.java applied patch to move ID tag 2006-03-23 19:32:21 +00:00
Timer.java applied patch to move ID tag 2006-03-23 19:32:21 +00:00
WaveData.java applied patch to move ID tag 2006-03-23 19:32:21 +00:00
WritableColor.java applied patch to move ID tag 2006-03-23 19:32:21 +00:00
WritableDimension.java applied patch to move ID tag 2006-03-23 19:32:21 +00:00
WritablePoint.java applied patch to move ID tag 2006-03-23 19:32:21 +00:00
WritableRectangle.java applied patch to move ID tag 2006-03-23 19:32:21 +00:00
XPMFile.java Tidied up unused variables, added serialVersionUIDs as appropriate, 2006-04-21 11:11:21 +00:00