Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Represent GLsync as uintptr, not unsafe.Pointer
Go treats unsafe.Pointer as actual pointers, requiring them to be valid, and allowing them to keep Go memory referenced. GLsync, however, can be of arbitrary value, such as simple incrementing IDs, or values that look like – but aren't – Go memory. In order to avoid faulty garbage collection behaviour, these values must not be stored in unsafe.Pointer. Instead we use uintptr, which is guaranteed to be large enough to hold GLsync values. Closes go-gl/gl#71 Updates go-gl#63
- Loading branch information