aboutsummaryrefslogtreecommitdiffstats
path: root/doc/TODO.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/TODO.txt')
-rw-r--r--doc/TODO.txt41
1 files changed, 41 insertions, 0 deletions
diff --git a/doc/TODO.txt b/doc/TODO.txt
new file mode 100644
index 000000000..294f16cd1
--- /dev/null
+++ b/doc/TODO.txt
@@ -0,0 +1,41 @@
+This list is probably completely out of date...
+anyone the guts to remove it? :)
+-mbien
+
+Random, somewhat old to-do list:
+
+- Non-const array types must be properly released with JNI_COMMIT in
+ order to see side effects if the array was copied.
+
+- Think about e.g. protected access for Impl classes
+
+- Fix glProgramStringARB and glGetProgramString{NV,ARB} so that they
+ use Strings and/or StringBuffers insteead of GLUbyte* and void*
+
+- figure out how to deal with WGL entry points:
+ WINGDIAPI HGLRC WINAPI wglCreateLayerContext(HDC, int);
+ WINGDIAPI BOOL WINAPI wglUseFontBitmapsA(HDC, DWORD, DWORD, DWORD);
+ WINGDIAPI BOOL WINAPI wglUseFontBitmapsW(HDC, DWORD, DWORD, DWORD);
+ see commented-out section in make/stub_includes/win32/wingdi.h
+
+- Need a disciplined mechanism for converting char* argument types. For
+ example, many C functions accept a "char*" argument with the semantic that
+ output data will be written into the buffer pointed to by the
+ argument. The type "const char*" is used when the argument's data will be
+ unchanged. Our system needs a new directive, such as
+ "ArgumentIsStringBuffer" to be used for type conversion in those cases
+ where the native code needs to write output into the "char*" argument. Not
+ sure how to handle this on the native side -- it may require hints to the
+ native code generator as to how large the StringBuffer's backing buffer
+ needs to be, so we can assert this condition before passing the backing
+ buffer to the C function we are wrapping.
+
+- Throw an exception if native calls to GetPrimitiveArrayCritical
+ return null.
+
+- Before emitting functions and constants, sort them first by
+ extension suffix (i.e., ARB, ATI, NV, etc) and then by name. This
+ will organize them in the file more logically. When writing the
+ code, the sort function can check the last substring that's all caps,
+ and treat this as the extension owner. Be careful though, some end
+ in "3D" and that's not an extension.