Jump to:

The cause is that GCHandle.Alloc() causes its parameter to be boxed, which means that OpenGL will operate on a copy of the original parameter, not the original parameter itself.

This regression was introduced along with the generic wrappers in version 0.9.6. It affects the OpenGL, OpenGL|ES and OpenCL bindings. It does not affect generic array overloads (which explains why it went unnoticed for so long.)