diff options
author | Sven Gothel <[email protected]> | 2012-03-22 17:38:28 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2012-03-22 17:38:28 +0100 |
commit | 45a42f7c7f7fce4e6c7eb495591c438bdf0170a2 (patch) | |
tree | 8453a673858b0895fa554c7aa457c29ea7178a90 /make/config/jogl | |
parent | 5fb327c8e6e065b6caf2db788a1762e3c696dfbc (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/config/jogl')
-rw-r--r-- | make/config/jogl/cg-common.cfg | 1 | ||||
-rw-r--r-- | make/config/jogl/gl-common.cfg | 59 |
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} |