You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The proposal for noescape C functions has been accepted and will be in Go version 1.23. It was going to be in 1.22 but got pushed back, so we likely will see this com in another 6 months from now.
This will require updating the Vulkan package code to decorate the C calls with:
#cgo noescape <function name>
Currently, when calling into C from Go it assumes that all pointers provided to it must escape to the heap. For the Vulkan calls, this is not true as it typically is to pass an array with a count for a copy.
Note that using the Go pinner is not an option due to it's harsh performance overhead related to synchronizing with the GC (across threads).
The text was updated successfully, but these errors were encountered:
The proposal for
noescape
C functions has been accepted and will be in Go version 1.23. It was going to be in 1.22 but got pushed back, so we likely will see this com in another 6 months from now.This will require updating the Vulkan package code to decorate the C calls with:
Currently, when calling into C from Go it assumes that all pointers provided to it must escape to the heap. For the Vulkan calls, this is not true as it typically is to pass an array with a count for a copy.
Note that using the Go pinner is not an option due to it's harsh performance overhead related to synchronizing with the GC (across threads).
The text was updated successfully, but these errors were encountered: