summaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2012-03-22 17:38:28 +0100
committerSven Gothel <[email protected]>2012-03-22 17:38:28 +0100
commit45a42f7c7f7fce4e6c7eb495591c438bdf0170a2 (patch)
tree8453a673858b0895fa554c7aa457c29ea7178a90 /make
parent5fb327c8e6e065b6caf2db788a1762e3c696dfbc (diff)
Reviewed JOGL GlueGen Tags: NIODirectOnly - Removed where not technically required. Added comment reasoning NIODirectOnly.
Impacts code generation for the relaxed methods where NIODirectOnly tag is removed, i.e. it allows an array-backed Buffer object to be passed.
Diffstat (limited to 'make')
-rw-r--r--make/config/jogl/cg-common.cfg1
-rw-r--r--make/config/jogl/gl-common.cfg59
2 files changed, 29 insertions, 31 deletions
diff --git a/make/config/jogl/cg-common.cfg b/make/config/jogl/cg-common.cfg
index f21ece3fd..35805bf01 100644
--- a/make/config/jogl/cg-common.cfg
+++ b/make/config/jogl/cg-common.cfg
@@ -108,6 +108,7 @@ Import com.jogamp.opengl.cg.CgDynamicLibraryBundleInfo
#
# NIODirectOnly directives for routines requiring them for semantic reasons
+# essential where the buffer lifecycle extends the function call
#
NIODirectOnly cgGLSetParameterPointer
diff --git a/make/config/jogl/gl-common.cfg b/make/config/jogl/gl-common.cfg
index 046ff1a79..d686c03f3 100644
--- a/make/config/jogl/gl-common.cfg
+++ b/make/config/jogl/gl-common.cfg
@@ -360,51 +360,48 @@ ReturnsString glGetStringi
#
# NIODirectOnly directives for vertex arrays and other core routines
+# essential where the buffer lifecycle extends the function call
+# or where a Buffer argument shall hold return values
+# (no guarantee of pinpoint array memory access).
+# The latter is not handled by GlueGen, and would be expensive!
+#
+# Note: API calls like glColorPointer(..) will not be exploded to
+# multiple primitive arrays, since the pointer argument is 'void *'.
#
-NIODirectOnly glColorPointer
-NIODirectOnly glEdgeFlagPointer
+#NIO Review: No technical reason to constrain array access for these:
+#NIODirectOnly glColorPointer
+#NIODirectOnly glEdgeFlagPointer
+#NIODirectOnly glIndexPointer
+#NIODirectOnly glNormalPointer
+#NIODirectOnly glTexCoordPointer
+#NIODirectOnly glVertexPointer
+#NIODirectOnly glVertexAttribPointer
+#NIODirectOnly glFogCoordPointer
+#NIODirectOnly glSecondaryColorPointer
+NIODirectOnly glGetPointerv
NIODirectOnly glFeedbackBuffer
-NIODirectOnly glIndexPointer
-NIODirectOnly glNormalPointer
NIODirectOnly glSelectBuffer
-NIODirectOnly glTexCoordPointer
-NIODirectOnly glVertexPointer
-#
-# FIXME: we should probably be ignoring the "EXT" variants of these
-#
-NIODirectOnly glColorPointerEXT
-NIODirectOnly glEdgeFlagPointerEXT
-NIODirectOnly glIndexPointerEXT
-NIODirectOnly glNormalPointerEXT
-NIODirectOnly glTexCoordPointerEXT
-NIODirectOnly glVertexPointerEXT
+NIODirectOnly glGetBufferSubData
+
#
# NIODirectOnly directives for other extensions
#
-NIODirectOnly glBinormalPointerEXT
-NIODirectOnly glGetBufferSubDataARB
-# FIXME: should add way to restrict argument to be a direct ByteBuffer
+#NIO Review: No technical reason to constrain array access for these:
+#NIODirectOnly glMatrixIndexPointerARB
NIODirectOnly glGetProgramStringARB
-NIODirectOnly glElementPointerATI
-NIODirectOnly glElementPointerNV
-NIODirectOnly glElementPointerAPPLE
-NIODirectOnly glFogCoordPointer
-NIODirectOnly glFogCoordPointerEXT
-NIODirectOnly glMatrixIndexPointerARB
NIODirectOnly glPixelDataRangeNV
-NIODirectOnly glSecondaryColorPointer
-NIODirectOnly glSecondaryColorPointerEXT
-NIODirectOnly glTangentPointerEXT
NIODirectOnly glVertexArrayRangeNV
NIODirectOnly glVertexArrayRangeApple
-NIODirectOnly glVertexAttribPointerARB
-NIODirectOnly glVertexAttribPointerNV
-NIODirectOnly glVertexWeightPointerEXT
-NIODirectOnly glWeightPointerARB
NIODirectOnly wglFreeMemoryNV
NIODirectOnly glXFreeMemoryNV
+#
+# NIOOnly for a few API calls ..
+#
+NIOOnly glVertexAttribPointerNV
+NIOOnly glVertexWeightPointerEXT
+
# Capacity of wglAllocateMemoryNV/glXAllocateMemoryNV return value is
# same as value of first argument
ReturnValueCapacity wglAllocateMemoryNV {0}